{"id":15722538,"url":"https://github.com/skogsheden/dirtydentist","last_synced_at":"2026-01-28T02:51:03.762Z","repository":{"id":200836052,"uuid":"706359203","full_name":"skogsheden/dirtydentist","owner":"skogsheden","description":"Simple and dirty GUI-library for Defold ","archived":false,"fork":false,"pushed_at":"2025-09-04T15:19:43.000Z","size":666,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-09-04T16:26:24.965Z","etag":null,"topics":["defold","defold-library","gui"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skogsheden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-17T19:43:17.000Z","updated_at":"2025-09-04T15:19:47.000Z","dependencies_parsed_at":"2023-12-22T10:09:16.629Z","dependency_job_id":"6ef4fb21-465f-462f-97a9-f269fc5a945d","html_url":"https://github.com/skogsheden/dirtydentist","commit_stats":{"total_commits":154,"total_committers":5,"mean_commits":30.8,"dds":0.3311688311688312,"last_synced_commit":"2c3e0c3798e7ffc757447e934d685d4ff147d9e4"},"previous_names":["radutb/dirtydentist","skogsheden/dirtydentist"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/skogsheden/dirtydentist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skogsheden%2Fdirtydentist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skogsheden%2Fdirtydentist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skogsheden%2Fdirtydentist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skogsheden%2Fdirtydentist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skogsheden","download_url":"https://codeload.github.com/skogsheden/dirtydentist/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skogsheden%2Fdirtydentist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28835074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T02:10:51.810Z","status":"ssl_error","status_checked_at":"2026-01-28T02:10:50.806Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["defold","defold-library","gui"],"created_at":"2024-10-03T22:08:20.767Z","updated_at":"2026-01-28T02:51:03.752Z","avatar_url":"https://github.com/skogsheden.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DirtyDentist-GUI (DD-GUI)\n![Logo](/logo.png)\n\nA basic GUI library for Defold developed for use in a educational software. It covers the essentials including; comboboxes, auto-suggestbox, simple buttons, checkboxes, radio buttons, text fields, text boxes and text blocks. Notably, the text components allow for mid-string editing and navigation using arrow keys.\n\nGraphics inspired by WinUI 3.\n\nSince rebuild in 0.3.0 functions and implementations have changed but old codebase is included for compability.\n\n[HTML5 Example](https://skogsheden.se/dirtydentist)\n\n![Screenshot](/screenshot.png)\n\n## Changelog\n\n**0.3.0:**\n\n- New release with imporved funcionality and rewritten codebase\n\n**0.3.1:**\n\n- Added scrollable textblock\n- Improved tab function\n- Added animations to markers\n- Bugfixes\n\n**0.3.2:**\n\n- Fix breaking change in action from Defold\n\n**0.3.3:**\n\n- Bugfix\n\n## Implementation\n\nUse included prefabs and name after hearts content. Implement in GUI script under function on_input(self, action_id, action) as described below if not else specified. \n\n### Buttons\n\n**Simple button:**\n\n*Function returns true or false*\n\n```lua\nbutton(self, action_id, action, node, enabled, accent, text)\n```\n\n*Turn button on and of not trough input method*\n\n```lua\ntoggleActive(self, node, enabled)\n```\n\n**Toggle button:**\n\n*Toggle button - turns on and off*\n\n```lua\ntogglebutton(self, action_id, action, node, enabled, text)\n```\n\n**Checkbox:**\n\n*Function returns true or false*\n\n```lua\ncheckbox(self, action_id, action, node, enabled, standard_value, text)\n```\n\n*Clear checkboxs trough script*\n\n```lua\nclearCheckbox (self, node)\n```\n\n*Select all/three state checkbox*\n\n```lua\ncheckboxSelectall(self, action_id, action, node, othernodes, enabled, standard_value, text)\n```\n\n*Initialize value of checkbox in the inti function*\n\n```lua\ninitializeCheckbox(self, node, value, enabled)\n```\n\n**Radiobutton:**\n\n*Function which button that is selected*\n\n```lua\nradiobutton(self, action_id, action, node, enabled, group)\n```\n\n### Slider\n\n*Function returns value between min and max*\n\n```lua\nslider(self, action_id, action, node, enabled, showpopup, min, max)\n```\n\n*Reset values*\n\n```lua\nresetSlider(self, node)\n```\n\n### Combobox\n\n**Simple dropdown:**\n\n*Returns selected value*\n\n```lua\ndropdown_interact(self, action_id, action, \"NodeName\",ListName, active(boolean), \"TabToNodeName\")\n```\n\n**Combobox:**\n\n*Returns selected value*\n\n```lua\ncombobox(self, action_id, action, node, list, enabled, up, use_mag, standardValue)\n```\n\n*Set values trough script*\n\n```lua\nsetValueCombobox(self, node, value)\n```\n\n**Auto suggestbox:**\n\n*Returns selected value and takes text input for search*\n\n```lua\nauto_suggestbox(self, action_id, action, node, list, enabled, up, use_mag, id, tab_to)\n```\n\n*Set values trough script*\n\n```lua\nsetValueAutobox(self, node, value, active)\n```\n\n*Localise standard values*\n\n```lua\nlocalisation_of_strings(\"Nothing found\", \"Select\")\n```\n\n### Text\n\n**Textbox:**\n\n*Returns text*\n\n```lua\ntextbox(self, action_id, action, node, enabled, tab_to)\n```\n\n*Clear textbox*\n\n```lua\nclearTextbox(self, node)\n```\n\n*Set textbox*\n```lua\nsetTextbox(self, node, text)\n```\n\n**Multi-line textbox:**\n\n*Returns text*\n\n```lua\ntextboxMultiline(self, action_id, action, node, enabled, tab_to)\n```\n\n*Clear textbox and input trough script*\n\n```lua\nclearTextbox(self, node)\n```\n\n**Textblock:**\n\n*Change text in textblock*\n\n```lua\nsetTextblock(self, node, text)\n```\n\n*Returns nothing but displays a scrollobale textblock*\n\n```lua\ntextBlock(self, action_id, action, node, enabled)\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskogsheden%2Fdirtydentist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskogsheden%2Fdirtydentist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskogsheden%2Fdirtydentist/lists"}