{"id":19599288,"url":"https://github.com/impulseadventure/guislice-builder","last_synced_at":"2025-04-13T06:28:37.751Z","repository":{"id":35771407,"uuid":"201991270","full_name":"ImpulseAdventure/GUIslice-Builder","owner":"ImpulseAdventure","description":"Cross-platform drag \u0026 drop GUI builder for GUIslice","archived":false,"fork":false,"pushed_at":"2025-02-23T21:35:46.000Z","size":30827,"stargazers_count":190,"open_issues_count":4,"forks_count":38,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-04T06:05:13.228Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ImpulseAdventure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/code_of_conduct.md","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}},"created_at":"2019-08-12T18:58:31.000Z","updated_at":"2025-03-20T08:44:11.000Z","dependencies_parsed_at":"2024-05-21T20:25:49.392Z","dependency_job_id":"8d395c5e-acbf-4462-abdb-75c1625106a3","html_url":"https://github.com/ImpulseAdventure/GUIslice-Builder","commit_stats":null,"previous_names":[],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImpulseAdventure%2FGUIslice-Builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImpulseAdventure%2FGUIslice-Builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImpulseAdventure%2FGUIslice-Builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ImpulseAdventure%2FGUIslice-Builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ImpulseAdventure","download_url":"https://codeload.github.com/ImpulseAdventure/GUIslice-Builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248674128,"owners_count":21143651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-11T09:09:36.546Z","updated_at":"2025-04-13T06:28:37.722Z","avatar_url":"https://github.com/ImpulseAdventure.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# GUIslice Builder\n\nPlease refer to the wiki page for installation and usage details:\n\n[GUIslice Builder - Documentation](https://github.com/ImpulseAdventure/GUIslice/wiki/GUIslice-Builder)\n\n![](builder/docs/images/title_demo_control.png)\n\n## Brief Overview\n\u003cp\u003e\nThe GUIslice Builder is a standalone desktop application that is more than a layout tool for your UI. It's designed as \nLow Code GUI Generator for User Interfaces that make use of GUIslice API. \n\u003c/p\u003e\n\n\u003cp\u003e\nThe cross-platform utility includes a WYSIWYG graphical editor that enables drag \u0026 drop placement of UI elements. Once a GUI has been laid out, the Builder can then generate a fully functional GUIslice Graphical UI complete with plug-in points for your custom application. \n\u003c/p\u003e\n\n\u003cp\u003e\nThe GUIslice API framework code can handle hardware like Arduino, ESP8266, ESP32 and more. It supports Graphic libraries like \nAdafruit's GFX, M5Stack, TFT_eSPI and LINUX with a wide variety of TFT Display Drivers and combinations of Touch support chips.\n\u003c/p\u003e\n\n\u003cp\u003e\nThe generated output code (*.c, *.ino, *_GSLC.h) includes all of the necessary defines, UI storage elements and initialization \nin addition to the placement of the UI elements. This will greatly improve the ease in creating a new Graphical Application.\n\u003c/p\u003e\n\nYou can find Example project files inside GUIslice/examples/builder\n\n## Disclaimer ##\n\u003cp\u003eThe Software is not designed for use in devices or situations where there may be physical injury \nif the Software has errors.\u003c/p\u003e\n\n## Contributing\n\n[Contributing Guidelines](https://github.com/ImpulseAdventure/GUIslice-Builder/blob/master/docs/CONTRIBUTING.md)\n\n## Builder Contents\n\nNote that the Builder executables and User Guide are attached to the latest GUIslice Builder\nRepository [Release Notes](https://github.com/ImpulseAdventure/GUIslice-Builder/releases)\n\n\n## Builder Source Code\n\nThe Builder source code is located in this repository [ImpulseAdventure/GUIslice-Builder](https://github.com/ImpulseAdventure/GUIslice-Builder)\n- Build instructions can be found in `BUILD.txt` file.\n\n## Installation instructions\n\nThe needed version of Java is now custom built and distributed with \nGUIsliceBuilder so you no longer need to deal with its installation.\n\n### Windows GUIsliceBuilder Install\n\nDownload the builder-win-x64-0.17.b13.zip from github\nGUIslice-Builder Releases:\nhttps://github.com/ImpulseAdventure/GUIslice-Builder/releases\n\nThen unzip and run the resulting executable builder-win-0.17.b13.exe\n\nThis can create a desktop icon you can click on to run.  Optionally, you can use GUIsliceBuilder\\GUIslice.bat file to run.\n\n### LINUX install\n\nDownload the builder-linux-{arch}.{release}.{build}.tar.gz using \noperating system and cpu architecture (ie., linux-x64) from github\nGUIslice-Builder Releases:\nhttps://github.com/ImpulseAdventure/GUIslice-Builder/releases\n\nuntar into your home directory.\n\nExample: Open a terminal\n```\ncd $HOME\ntar xvzf builder-linux-x64-0.17.b13.tgz\n```\nThen enter the new GUIsliceBuilder folder\n```\ncd GUIsliceBuilder\n```\nTo run:\n```\n./GUIslice.sh\n```\n### MACOS install\n\nDownload the builder-mac-{arch}.{release}.{build}.tar.gz using \noperating system and cpu architecture (ie., mac-aarch64) from github\nGUIslice-Builder Releases:\nhttps://github.com/ImpulseAdventure/GUIslice-Builder/releases\n\nuntar into your home directory.\n\nExample: Open a terminal\n```\ncd $HOME\ntar xvzf builder-mac-aarch64-0.17.b13.tgz\n```\nThen enter the new GUIsliceBuilder folder\n```\ncd GUIsliceBuilder\n```\nTo run:\n```\n./GUIslice.sh\n```\n**WARNING** \nThe first time you run the builder on MACOS you are likely to encounter the Security Alert:\n![](builder/docs/macos_security_warning.png)\nYou will need to select \"Allow Anyway\" to continue.\n\n## Release History\n\n### Bug Fixes for 0.17.b40\n\nA bug in the Text Model has been fixed. The bug caused generated code for text fields \nto set gslc_ElemSetFillEn(\u0026m_gui,pElemRef,false); (basically claiming the text field is transparent).\nThis was forcing full page refreshes to occur on each update loop.\n\n### Bug Fixes for 0.17.b39\n\n- Bug Fix 278 - GuiSlice builder 0.17.b38 - Text problem\n\nThe new feature \"Text is a Variable?\" support that nadjet09 added has caused some confusion amoung our users. \nIt's caused users to actually place quotes inside the text string while laying out their UI.\nThey do this because if \"Text is a Variable?\"=true they get compiler errors for undefined variable.\n\nIn an effort to clear things up it's been changed to \"\"Wrap Quotes around text?\"\nwith a default of true since its very rare for users to need variables or defines to set text.\nNow if users set this value to false a WARNING message will also popup:\n\nWARNING: Turning this to false\nmeans no quotes will be output\nduring code generation.\nAre you sure?\n \nI Have also renamed the windows setup exe to drop the current version number at the end.\nSo now it will always be builder-win.exe this is because every time I run a new version \nNorton anti-virus makes me play twenty questions with it before I can actually do a new install.\nHopefully I will only have to this once now...\n\n\n### Enhancements for 0.17.b38\n\nnadjet09 Completed \"Text is a Variable?\" support. This will let user choose to output text \nwith or without quotation marks \"\" inside a Text Element if they have the text already predefined. \nAlso, in the TextButton with text as variable.\n\n### Enhancements \u0026 Bug Fixes for 0.17.b37\n\n- Bug Fix `280` - Cannot rename a page\n- Bug Fix `273` - About menu showing incorrect version number.\n\n- Issue `278` - Reduce number of backups. Added switch inside edit-\u003eoptions-\u003egeneral tab \"Auto Backup Files?\" to turn off backups of your edits\nset to false.  Don't cry to me if you lose work...\n\n\n### Bug Fixes for 0.17.b35\n\nPull Request 267 - Fix vertical line height always 1\n\n### Bug Fixes for 0.17.b34\n\nFix for problem saving and loading project options.\n\n### Enhancement for 0.17.b33\n\nDrag and Drop of UI Elements from the RibbonBar is now supported.  This allows you to place your UI pieces\nwhere you want them to appear.\n\n### Enhancement for 0.17.b28\n\n\u003cp\u003e\nThanks to the effort of etet100 Andrzej the Builder now supports resizing UI Elements using your mouse.\nYou simply need to click on the UI Element and then place your cursor over one of the red handles and drag\nwhile holding down your left mouse button.\n\u003c/p\u003e\n\n\u003cp\u003e\nThe View pull-down and View\\Editor panel now has Zoom Reset and SNAP TO GRID.\n\u003c/p\u003e\n\n\u003cp\u003e\nFor further details check out sections 2.3 Creating your UI and 3.1 Main Parts/View Band of our User Guide.\n\u003c/p\u003e\n\n### Enhancements for 0.17.b27\nUpgraded to FlatLaf 3.3 and Java 18 and added better support for MacOS.\n\n### Bug Fixes 0.17.b27\n- Bug Fix `250` MACOS (OSX) 13.2 - Fatal error when changing E_PROJECT OPTIONS\n\n### Enhancements for 0.17.b25\n\nAdded support for Arabic fonts using TFT_eFEX library.\n\nArabic Fonts require using TFT_eSPI SMOOTH_FONTS (.VLW extension) and this in turn needs eFontRefType = GSLC_FONTREF_FNAME and fontRefMode = GSLC_FONTREF_MODE_1.\n\n**WARNING**\nTo use Arabic or Hebrew .VLW Fonts you must currently use my forked version of GUIslice API\n[pconti-arabic](https://github.com/Pconti31/GUIslice/tree/pconti-arabic)\n\nThe following fonts are shipped with the Builder inside GUIsliceBuilder/fonts/vlw/data:\n\n - cairobold16.vlw\n - cairobold20.vlw\n - cairolight16.vlw\n - cairolight20.vlw\n - cairomedium16.vlw\n - cairomedium20.vlw\n \nGenerated Code Example:\n```\n  // ------------------------------------------------\n  // Load Fonts\n  // ------------------------------------------------\n//\u003cLoad_Fonts !Start!\u003e\n    if (!gslc_FontSet(\u0026m_gui,E_CAIROBOLD16,GSLC_FONTREF_FNAME,CAIROBOLD16_VLW,16)) { return; }\n    gslc_FontSetMode(\u0026m_gui, E_CAIROBOLD16, GSLC_FONTREF_MODE_1);\n//\u003cLoad_Fonts !End!\u003e\n```\n\n### Bug Fixes 0.17.b24\n- Issue `233` Using TFT_eSPI with gfx freefonts created include 'NULLFreeSans12pt7b.h'\n- Bug Fix Now the Builder tests that your enums start with a capital letter A to Z to fix compile time issues.\n\n### Enhancement for 0.17.b23\n\nRemoved edit-\u003eoptions tabs for Box, Text, and TextButton since now you should edit theme inside GUIsliceBuilder/templates\nguislice_themes.json If you understand json syntax you can add your own theme or simply edit the GUIslice version.\n\n### Bug Fix 0.17.b22\n- Bug Fix for Flash based checkbox and radio buttons with callback enabled.\n\n### Bug Fix 0.17.b21\n- Bug Fix `232` Builder cannot be instructed not to overwrite existing files\n  Enhancement has been made to not overwrite any existing platformio.ini file when doing a code generation.\n\n### Bug Fixes 0.17.b20\n- Bug Fix `230` Fix FontTtf.java to allow running directly within Eclipse IDE \n\n### Enhancements for 0.17.b19\n\nThe Builder has been updated to use Java 18 and FlatLaf 3.0.\n\n\u003cp\u003e\nThe UTF8? property on text fields has been removed since GUIslice API only supports this on a RaspberryPI. \n\u003c/p\"\n\n### Bug Fixes 0.17.b19\n- Issue `228` Guislice-Builder doesn't display German Umlauts using TFT_eSPI and GFX fonts.\n\n### Bug Fixes 0.17.b18\n\n- Bug Fix     Redefine complier error when using freefont with TFT_eSPI graphics driver.\n- Bug Fix     SaveAs project also moved over the previous project's *.prg file leaving two *.prg files in the new folder\n- Issue `224` Fatal error when SaveAs new empty project  \n- Issue `223` Application will not start on Ubuntu \n\n### Enhancements for 0.17.b16\n- Issue `221` Area simulates TFT panel \u003e scroll possibility with a large number of pages\n              Builder already supplies scroll bar inside tab panel but now the TreeView\n\t\t\t\t\t\t\twill support selecting the icons for Expand and Collapse Page Elements. \n\t\t\t\t\t\t\tInside the TreeView Pages will start out collapsed to better support\n\t\t\t\t\t\t\tlarger projects.\n- Issue `220` Tree view \u003e Adjust Width Area. You can now drag the view larger or smaller.\n\n### Bug Fixes 0.17.b15\n- Issue `218` Builder crash in a large project\n\n### Bug Fixes 0.17.b14\n- Issue `215` Folder loop creation using SaveAs\n\n### Bug Fixes 0.17.b13\n- Issue `213` Permission problems on MacOS\n- Issue `212` permission denied error when running .sh on Ubuntu 22.04\n\n### Enhancements for 0.17.b12\n\n\u003cp\u003e\nAdded support for PlatformIO IDE issue `#117`.  Users now select either Arduino IDE or PlatformIO IDE\neither inside the Project Options Tab and/or inside User Preferences by Edit-\u003eoptions-\u003eGeneral tab-\u003e\"Target IDE\". \nThe platformio.ini file will be populated with all settings needed for common configurations. \nThe resulting project folder will be structured with a src, include, lib, and test subfolders. Instead of code named\nprojectname.ino it will be named main.cpp. The projectname_GSLC.h file will be inside the project folder/includes.\nFurther details on customizing the Builder for PlatformIO is available in the \n`User Guide Chapter 6 - Configuring PlatformIO Support`.\n\u003c/p\u003e\n\n\u003cp\u003e\nThe Code has been modified to better indicate your graphics library with the choices now being Adafruit_GFX, M5Stack, ILI9341_t3, TFT_eSPI, UTFT, or Linux.\n\u003c/p\u003e\n\n\u003cp\u003e\n**WARNING** If you have added your own fonts by editing your builder_fonts.json file you will need to modify the newly suplied file with your edits and\nuse the new format documented inside the updated User Guide. If you have any problems just post in the issue section.\n\u003c/p\u003e\n\n\u003cp\u003e\nUsers can now choose a color theme for their Applications written using GUIslice API. You can choose from the original \nGUIslice, Arc Dark, Cyan Light, Material Dark, or Solarized.  You may modify these themes or add new ones. \n\u003c/p\u003e\n\n![](builder/docs/images/guislice_theme.png)\n![](builder/docs/images/arc_theme.png)\n![](builder/docs/images/cyan_theme.png)\n![](builder/docs/images/material_theme.png)\n![](builder/docs/images/solarized_theme.png)\n\n\u003cp\u003e\nImproved Font handling. The Builder will now identify fonts that come standard with a particular graphics package \nlike Adafruit_GFX and if you request one that isn't provided the Builder will copy the font to your project folder.\nIt will also cleanup during a new code generation any font files moved previously that are no longer in use.\n\u003c/p\u003e\n\nImproved Code Editing for those who add custom code to Button Callbacks.  The code editing is provided by  \n[RSyntaxTextArea](https://github.com/bobbylight/RSyntaxTextArea)\n\n### Bug Fixes 0.17.b12\n\n- Issue `GUIslice API 472` characters outside the range when I add my own font\n- Issue `207` Save As causes fatal error\n- Issue `205` Toggle Button switch/case user code deleted when re-generate from builder\n- Issue `204` Resolution changes to 240*320 without request \n- Issue `203` Fatal Crash on Generate Code using Flash API version of Toggle Button\n\n### Enhancements for 0.17.b11\n\nThe Builder will now support Monochrome 1 bit images that are stored inside a C Array file created by my \n\n[GUIslice_Image2C utility](https://github.com/Pconti31/GUIslice_Image2C) \n\nNote: you need version 2.00 or higher of GUIslice_Image2C for this feature.\n\n\u003cp\u003eAdded enhancement to SaveAs project. Previously the Builder simply created a new 'project name' folder and inside that\na `new project name`.prj file. Now the Builder will copy all files (not *.bak or the gui_backup folder) in the original\nfolder and scan the `old project name`.{ino,_GSLC.h} files and replace the string `old project name` with `new project name`\nwhile also renaming these files to the new project name.\n\u003c/p\u003e\n\nNew Themes have been added to the Builder. For a full list go to:\n[flatlaf-intellij-themes](https://github.com/JFormDesigner/FlatLaf/tree/main/flatlaf-intellij-themes)\n\n#### Fix for Issue 200\n\u003cp\u003e\nWhen the Buider is opened for the very first time a new empty project is created with a target platform of arduino. \nPreviously if a User then went to edit-\u003eoptions-\u003eGeneral tab just as the User Guide recommends and changes display\nscreen size and platform target this new information wasn't being copied to the open project's Project Options Tab.\nCausing issue 200 where users would get compile errors due to generated code for Arduino not the actual target platform \nthe user requested. \n\u003c/p\u003e\n\n- Issue `200` ESP32 with TFT_eSPI Compile Errors 200\n- Issue `158` How to copy a .prj file to a new sketch folder \n\n### Enhancements for 0.17.b10\n\u003cp\u003e\nUsers can now avoid auto-generated code within Text and Image Button callbacks and add their own code that will be inserted \nduring each code generation. The new property is called `Custom Code` and is optional. This property, if used, will then make \nthe properties `Jump Page ENUM`, `Popup Page Enum`, and `Hide Popup Page?` read-only.  See the new User Guide 4.19 Text Button \nfor example.\n\u003c/p\u003e\n\n- Issue `198` Request: Add a feature for BTN to execute a custom code.\n\n### Bug Fix 0.17.b09\nScaling was using incorrect ratio for y coordinates.\n\n### Enhancements for 0.17.b08\nScaling now supports scaling non-builtin (glcd) fonts (The glcd fonts are too far apart to scale,8,16,24,32). The Builder will now attempt to \nfind a font that can scale to the correct ratio or the closest it can find. Nevertheless, Users may still need to manually change fonts. \n\n### Bug Fix 0.17.b08\nTesting showed that the Line Element would cause crashes if scaled.  This is now fixed.\n\n### Enhancements for 0.17.b07\n\u003cp\u003e\nAdded new scaling command in the layout tab to allow automatic updating of elements x,y,width and height due to TFT screen display change of size. \nAlso, you can now change the Scrollbar width and thumb sizes for Listboxes and Textboxes.\nOur User Guide has been updated accordingly.\n\u003c/p\u003e\n\n- Issue `194` Request: Scroll bar set width and thumb size in textbox and listbox\n- Issue `192` Request: Project Screen Size change with change of all existed elements\n\n### Hot Fix 0.17.b06\n- Issue `#190` Input Elements Height/Width reset to default when moved\n\n### Enhancements for 0.17.b05\nNow supports saving the current project's zoom factor inside the *.prj file so it can be restored upon opening on the project file.\n\n- Issue `#188` Serialize zoom factor on save\n\n### Hot Fix 0.17.b04\n- Issue `#184` GUIslice Builder crash when changing Minimum Value at Ramp Gauge\n\n### Enhancements for 0.17.b03\n- Issue `#147` Allow multiline text for text button\n\u003cp\u003e\nNOTE: Sizing of a Text button using multiple lines of text is the users responsiblity. You will need to set \nthe height and width manually.  Ending each line inside the Label with \"\\n\". Example, \"line1\\nline2\\nline3\".\nThe Builder will remove each \\n and replace with a decimal 10 (newline) when you press enter key.\n\u003c/p\u003e\n\n### Hot Fix 0.17.b02\nYet another fix for critical Log4Shell vulnerability inside Apache Log4j. The vulnerability applies 2.0 to 2.15.0 of Apache Log4j.  \n\n### Hot Fix 0.17.b01\nFix for critical Log4Shell vulnerability inside Apache Log4j. The vulnerability was publicly disclosed via GitHub on December 9, 2021. Versions 2.0 and 2.14.1 of Apache Log4j have been impacted.  \n\n### Enhancements for 0.17.0\n\u003cp\u003e\nGUIslice 0.17 added improved support for external inputs such as physical buttons, encoders or pins. Users can now \ntraverse and edit most widgets in the GUI using external inputs. This feature required minor changes to Builder. \nSome elements now require a slightly larger margin around them (ie. 1px) to accommodate a potential focus frame. \nFor example, between a slider and the listbox.\n\u003c/p\u003e\n\n\u003cp\u003e\nAdded support for UTFT library using Target Platform \"utft\". Full native font support for fonts downloaded from \n[UTFT Fonts](http://www.rinkydinkelectronics.com/r_fonts.php). Simply download and drop them into GUIsliceBuilder/fonts/utft.\nThe Builder ships with the UTFT DefaultFonts (SmallFont, BigFont, and SevenSegNumFont) installed.\nSee User Guide section 5.7 Adding Fonts for more details.\n\u003c/p\u003e\n\n### Bug Fixes for 0.17.0\n- Issue `#175` Inserting a unicode character into text field caused crash\n- Issue `#174` Crash when input non-ascii chars when you first didn't change to font that supports unicode.\nNote you still must select an appropiate font before enterring characters or they will appear as blanks. \n- Issue `#174` Crash when deleting a base page.\n- Issue `#174` Crash if you are inside color chooser and click on blank space inside recent colors box.\n- GUIslice discussion -\u003e xTextBox - writing to a specific character position `#392`.  Setting a Grid positions minor or major to a width or height of zero caused crashes. \n\n### Enhancements for 0.16.0\n\u003cp\u003e\nWith this release the Builder becomes a true WYSIWYG editor for most platforms. The Builder now reads and parses \nyour actual Platform Font header and c files and renders them inside the Builder. This native font support will now \nbe able to give you accurate sizing and positioning information for supported fonts. Plus your text will be now \ndisplayed exactly as it will appear on your target TFT display. \n\u003c/p\u003e\n\n\u003cp\u003e\nThe Native Font support includes, Adafruit's Builtin GLCD fonts, and Adafruit's GFX compatable fonts, and \nTeensy ILI9341_t3 fonts. This Native Font support includes the ability to add your own fonts to the Builder \nsimply by dropping them into the proper folders. You may also tell the Builder to simulate fonts it doesn't directly support. \n\u003c/p\u003e\n\n\u003cp\u003e\nSee the User Guide for more information about font handling and how to add your custom fonts.\n\u003c/p\u003e\n\n\u003cp\u003e\nGUIslice API 0.16.0 has upgraded the Keypad support. This is a breaking change for the API so the Builder \nwill now require running with GUIslice API 0.16.0 and higher. For further information on keypads \nrefer to the wiki page [Custom KeyPads](https://github.com/ImpulseAdventure/GUIslice/wiki/Custom-KeyPads)\n\u003c/p\u003e\n\nThe Builder has added support for ctrl-Z for Undo and ctrl-Y for Redo.\n\n### Bug Fixes for 0.16.b011\n- Issue 169 - Textbox double quotes are not escaped in generated code\n- Issue 172 - Fill enable , Disable not working with text input\n\n### Enhancements 0.16.b010\nAdded support to group toggle buttons.\n\n### Bug Fixes for 0.16.b010\n- Issue 157 - Target platform linux fails to generate callback for seekbar\n- Issue 167 - Fill enable , Disable not working with text input\n- Issue 168 - Image Button and Toggle Button Jump page ENUM not generating code\n\n### Enhancements 0.16.b009\nAdded support for Image Buttons to behave as a toggle button. Simply set Property View: Toggle? = true \nthis will then use the new GUIslice API XToggleImgbtn control.\n\n### HotFix for 0.16.b009\n - Bug Fix Character Map causes fatal crash issue `#165` \n\n### HotFix for 0.16.b008\n - Bug Fix for DEL button on keyboard causes crash issue `#154`  \n - Bug Fix for Copy paste of Image Button causes crash `#155`\n\n### Enhancements 0.16.b007\nReplaced Ribbon with a simplier design using JRibbonBar provided by Csekme Krisztián. \nHis github project is at:\n[JRibbonBar](https://github.com/csekme/JRibbonMenu)\n\nHopefully this will fix the crashes and burns we have been having on Apple's OSX and various odd cursor behaviors that have occurred on different Linux platforms.\n\nAlso added two additional Themes: Solarized Dark and Light themes.\n\nOur User Guide has been updated with the new UI layout.\n\n### Enhancements 0.16.b006\nAdded support for TFT_eSPI smoothfonts (*.vlw). Google's Dosis Bold and NotoSans Bold is built in. \n\nYou may add your own vlw fonts by following the updated User Guide chapter 5.7 Adding Fonts and Appendix G Creating VLW Fonts.\n\n### Bug Fixes 0.16.b006\n - Bug No. 205 No CallBack from Checkbox using Flash API issue `#347` \n\n### HotFix for 0.16.b005\n - Bug No. 204 Crash  occurs while selecting NotoLatin1 when size of font is \u003e 28 issue `#143`\n - Bug No. 203 Box using Flash API can't do code gen for Draw callback\n - Bug No. 202 Draw function selected for Box frame the rounded property should be disabled API issue `#326`\n\n### Enhancements for 0.16.b004\n\u003cp\u003e\nAdded CharacterMap dialog to \"Text\" propery fields for UIElements Text, Text Button, Text Input, Spinner, and Number Input.\n\u003c/p\u003e\n\n\u003cp\u003e\nThis feature will allow you access to graphics characters previousily hidden in Adafruit's classic (Builtin) fonts and other fonts. \nYou can also access ISO8859 international characters using a newly added NotoLatin1 font.\n\u003c/p\u003e\n\n\u003cp\u003e\nFirst set your desired font then invoke CharacterMap by right clicking on the \"Text\" property and selecting CharacterMap. \nSelect your characters one at a time and then press copy to append them to your text field.\n\u003c/p\u003e\n\nThe User Guide has been updated documenting this new feature.  \n\n\u003cp\u003e\nThe UI Element Spinner has been upgraded to support changing the Increment and Decrement Arrow characters \nusing the API call gslc_ElemXSpinnerSetChars().\n\u003c/p\u003e\n\n### Bug Fixes 0.16.b004\n - Bug No. 201 Text button frame cannot be disabled issue `#139`\n\n### HotFix 0.16.b003\n - Bug No. 200 New Keypad support causes input field button case-statement to be deleted and recreated\n - Bug No. 199 Sizing of rect for Text with margin doesn't include space on right-side\n\n### HotFix 0.16.b002\nGUISlice crashing after clicking generate code issue `#134`\n- Bug No. 198 Assigning storage to text field gives incorrect height API issue `#292`\n\n### HotFix 0.16.b001\n - Bug No. 197 Crash opening project with screen larger that 320x240\n - Bug No. 196 Dup gslc_ElemSetTxtCol when text not set to the default color\n\n### Bug Fixes 0.16.0\n - Bug No. 195 Enhancement - Add Top/Bot to Text Button text alignment fields `#127`\n - Bug No. 194 gslc_GetImageFromRAM creates const pointer issue `#126` \n - Bug No. 193 codegen fails to work for GSLCX_CHECKBOX_STYLE_ BOX or ROUND issue `#128`\n - Bug No. 191 Crash if slider min=max\n - Bug No. 189 Add shortcut ctrl+z for UnDo\n - Bug No. 187 App window not controllable with Java built-in themes issue `#112`\n - Bug No.  98 Text element \"Fill Enabled=false\" doesn't render with transparency\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpulseadventure%2Fguislice-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimpulseadventure%2Fguislice-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimpulseadventure%2Fguislice-builder/lists"}