wxUiEditor Changelog

What's new in wxUiEditor 1.2.1

Mar 26, 2024
  • wxStaticBoxSizer changes by @Randalphwa in #1317
  • Change list array to std::vector by @Randalphwa in #1318
  • Add another option for custom control placeholder in Mockup panel by @Randalphwa in #1320
  • Darkmode by @Randalphwa in #1322
  • Optimize use of Images List header file by @Randalphwa in #1323
  • Change when to generate wxue function declaration/definition by @Randalphwa in #1324
  • Improve handling of wxWidgets Project version by @Randalphwa in #1325
  • Image loading overhaul by @Randalphwa in #1329
  • Fix code generating when wxWidgets 3.1 is set by @Randalphwa in #1330
  • Fix Clang format problems with generated headers that have user supplied closing brace by @Randalphwa in #1332
  • Resolve wxWidgets 3.1 image loading issues, fix wxPython/wxRuby3 XPM handling by @Randalphwa in #1333
  • Add new Different Project menu item/tool by @Randalphwa in #1334
  • Add m_internal_data and getInternalData() to Node by @Randalphwa in #1337
  • Initial commit of Data List component by @Randalphwa in #1341
  • Conditionalize char/short in tt_string::Format by @Randalphwa in #1342
  • Change code-generation for Context Help in wxStdDialogButtonSizer by @Randalphwa in #1343
  • Add python and ruby support for wxGenericStaticBitmap by @Randalphwa in #1345
  • Add support for wxBitmapToggleButton by @Randalphwa in #1346
  • Add support for wxContextHelpButton by @Randalphwa in #1348
  • Replace calls to tt_string.Format(), remove Format() from the tt_string class by @Randalphwa in #1349
  • Get correct page for active tab by @Randalphwa in #1350
  • Overhaul XML files, add XML support to Data List by @Randalphwa in #1352
  • Move props/events from AddPropsAndEvents() back into XML files by @Randalphwa in #1353
  • Track file modification time in Data List by @Randalphwa in #1354
  • Add wxRuby3 validator support, fix misc C++ validator problems by @Randalphwa in #1355
  • Translation unit by @Randalphwa in #1358
  • Updates from wxUiTesing tests by @Randalphwa in #1361
  • Fix crash in Book Pages that specify an unrecognized ART id by @Randalphwa in #1362
  • Switch compiler standard to std:c++latest by @Randalphwa in #1365
  • Move where check for "Art" is made by @Randalphwa in #1368
  • Initial implementation of a Data folder in Data lists by @Randalphwa in #1369
  • Fix problems with base_file containing a directory by @Randalphwa in #1371
  • Replace some calls to wxMessageBox with wxMessageDialog by @Randalphwa in #1372
  • Remove TESTING_PARAM macro, making exception text available to Release builds by @Randalphwa in #1373
  • Let forms override Project name_space by @Randalphwa in #1374
  • Change default for display_images property by @Randalphwa in #1375
  • Prevent double-assignment in wxToolBar by @Randalphwa in #1379
  • Improve node selection handling in language panels by @Randalphwa in #1380
  • Fix image size display in wxRibbon tools and buttons by @Randalphwa in #1382
  • Fix wxPython/wxRuby code generation for wxPropertySheetDialog by @Randalphwa in #1383
  • Xrc improvements by @Randalphwa in #1384
  • Add better support for a forked/cloned external wxWidgets repository by @Randalphwa in #1385
  • Re-enable XRC Tests dialog by @Randalphwa in #1386
  • Enable svg files for navigation pane by @Randalphwa in #1387
  • Update SVG files by @Randalphwa in #1388
  • Refactor outer function for Python/Ruby code generation by @Randalphwa in #1390
  • Refactor outer loop of C++ code generation by @Randalphwa in #1391
  • Add single form code generation for Internal/Debug use by @Randalphwa in #1392
  • Render SVG using lunasvg by @Randalphwa in #1395
  • Add protected_class_methods to header properties by @Randalphwa in #1396
  • XRC improvements by @Randalphwa in #1398
  • Overhaul pugixml by @Randalphwa in #1399
  • Fix code generation for wxStyledTextCtrl::SetTabWidth() by @Randalphwa in #1400
  • Update Navigation panel Popup menu by @Randalphwa in #1401
  • Extend Data List functionality by @Randalphwa in #1402
  • Add Data List to UI, add/update SVG files by @Randalphwa in #1404
  • Fix generation of TreeListControlColumn by @Kumazuma in #1403
  • Replace several PNG images with SVG images by @Randalphwa in #1406
  • Match fork changes to lunasvg by @Randalphwa in #1408
  • Standardize/update current SVG images by @Randalphwa in #1409
  • Large update to Image list functionality by @Randalphwa in #1412
  • Add Default SVG bitmaps preference by @Randalphwa in #1414
  • Fix problems with SVG preference, easily identify SVG files in an Images List by @Randalphwa in #1415
  • Fix typo by @Kumazuma in #1417
  • Change which svg elements are removed, additional png -> svg replacements by @Randalphwa in #1418
  • Change filename to varname algorithm, add try/catch blocks around image processing thread by @Randalphwa in #1419
  • More PNG to SVG replacementes by @Randalphwa in #1420
  • Update tt_string's use of std::filesystem, update Image/Data list file modification tracking by @Randalphwa in #1421
  • Replacement of PNG with new SVG by @Randalphwa in #1424
  • Update Preferences Dialog by @Randalphwa in #1427
  • Fix line endings when writing using pugixml by @Randalphwa in #1428
  • Change the order of Image Types by @Randalphwa in #1431
  • More SVG replacements of PNG files by @Randalphwa in #1432
  • Complete replacing PNG with SVG for wxWidgets controls by @Randalphwa in #1437
  • Fix StaticRadioBtnBoxSizer for wxGTK by @Randalphwa in #1439
  • Refactor ProjectImages class by @Randalphwa in #1441
  • Support data list in .cmake file by @Randalphwa in #1442
  • Ribbon by @Randalphwa in #1443
  • Switch to user-customizable icon size for Navigation Panel by @Randalphwa in #1444
  • Change Font button to wxCommandLinkButton by @Randalphwa in #1445
  • Improve event sorting by @Randalphwa in #1450
  • Change widget type by @Randalphwa in #1451
  • UI change: read-only wxComboBox to wxChoice by @Randalphwa in #1453

New in wxUiEditor 1.2.0 (Nov 28, 2023)

  • Added:
  • Code can now be generated for wxRuby3 -- see https://github.com/mcorino/wxRuby3
  • New Doc panel (Windows version only) will display a URL containing documentation for the currently selected widget. A toolbar in this panel lets you choose between C++, Python and Ruby documentation.
  • New Preferences dialog available under the File menu lets you set several global preferences
  • wxTimer is now supported as a child of a dialag, frame or form version of wxPanel
  • DialogBlocks projects saved as XML can be imported
  • wxAuiToolBar can now be created as a form (it creates a class instead of a child widget)
  • Added support for additional integer and floating point validators for wxTextCtrl
  • Folders now have their own code language preference that can override the Project's code preference
  • Added support for wxPropertySheetDialog as a form
  • Tooltips set in wxAuiNotebook pages are now displayed when hovering over the tab display rather than the page itself
  • You can now set selected and non-selected fonts for wxAuiNotebook tabs
  • Added dialog_units property to the Project properties list to change default units for new dimensions
  • Custom controls now have a construction property allowing you to replace the normal wxUiEditor-generated construction of the control with your own code.
  • Changed:
  • Controls that have one or more default window styles set (e.g., wxPanel has wxTAB_TRAVERSAL set) can now have that style unchecked and that state will be stored with the project file.
  • Color properties dialog now supports all CSS color names
  • Generated code for colors now uses a CSS HTML String (#RRGGBB) instead of numerical values for red, green and blue.
  • Generated code for wxRibbonToolBar images are now scaled on high DPI displays
  • A control within a wxDialog or wxFrame with the focus property set will now call SetFocus() after all other controls have been created.
  • Limiting the platforms for a container (such as a wxPanel) will now also limit the platforms for any child widgets.
  • C++ src_preamble contents is now placed at the top of the file instead of after the includes.
  • Custom font point size can be set to -1 to indicate that a default point size should be used.
  • Importing wxFormBuilder and wxGlade projects now supports converting a construction property for a custom control.
  • Fixed:
  • You can now change the Window styles in a wxRichTextCtrl without generating an invalid constructor.
  • Color properties are correctly saved in a project
  • Widgets set to specific platforms will also place events in a conditional block
  • For C++, widgets set to specific platforms will have the header member declarations in a conditional block
  • C++ code generation for fonts with a negative point size fixed

New in wxUiEditor 1.1.2 (Jul 13, 2023)

  • Added:
  • The C++ Settings in forms now have a initial_enum_string property that allows you to set the initial enumeration value to something other than the default "wxID_HIGHEST + 1".
  • There is a new 'Global Edit Custom IDs` under the Tools menu for setting prefixes and suffixes for your custom IDs.
  • The C++ Settings in forms now have properties for local and system header files to include in either the generated source or header files.
  • wxMenu and wxMenu items now have a stock_id property allowing you to choose from wxWidgets stock items.
  • Added support for wxAUI_BUTTON_STATE flags when creating a wxAuiToolBar tool.
  • Changed:
  • Improved generation of default filenames for a class when the class name is changed
  • wxFrame and the form version of wxPanel now also support 2-step construction.
  • Embedded image filenames can now contain characters that are invalid as part of a variable name.
  • Allow custom ids to have an assignment to a value as part of the id. In C++, the id will then be generated as a static const int instead of an enumerated value. In Python, this will be added verbatim after any auto-generated ids.
  • If you previously used either base_hdr_includes or base_src_includes properties, then when the project is loaded they will be automatically converted to header_preamble and source_preamble properties to better reflect what it's for, and to avoid confusion with the new local and system includes properties.
  • Fixed:
  • Code generation for Dialogs with an extra_style property fixed.
  • Code generation for wxToolBar drop-down tools with menu items fixed.
  • Code generation for wxGridBagSizer when growablecols or growablerows specified
  • Code generation for Wizard using wxWidgets 3.1 corrected
  • Code generation for adding an item to a wxPropertyGrid has corrected
  • Code is now generated for a sub-menu that has a bitmap property set
  • Code generation for event handler of a wxStdDialogButtonSizer Close button corrected
  • Header file code generation could create uninitialized wxStdDialogButtonSizer buttons under special circumstances -- this has been fixed.

New in wxUiEditor 1.1.1 Beta (May 30, 2023)

  • The DialogBlocks native project importer has only been partially imported, and is not ready for testing.

New in wxUiEditor 1.1.0 (Mar 6, 2023)

  • Added:
  • ability to generate wxPython code (supports wxPython 4.2 including wx.BitmapBundle and roughly 140 widgets).
  • Ability to add your own code at the end of generated files. This code will be preserved even when the file is re-generated.
  • A line length property has been added to the C++ and Python Project properties, and most code will be wrapped so that it is less than this limit.
  • --gen_cpp and --gen_python command line switches added. Using one of these switches will generate any code that needs to be updated, and then exit. A log file will be created containing any code generation messages. This will be the project file with the extension replaced by .log.
  • Stretchable space can now be added to toolbars.
  • Added support for dropdown toolbar items that contain menu items.
  • wxToolBar and wxAuiToolBar individual tools now have a disabled property.
  • wxStatusBar fields property now supports unique width and style for each field.
  • New platforms property for most controls that inherit from wxWindow. This gives you the option of limiting the creation of a control to specific platforms.
  • Menu items can now contain multiple accelerators (requires wxWidgets 3.1.6 or later)
  • XRC now generates XML for toolbar separators.
  • Folders:
  • You can now place forms inside of folders to make it easier to organize your project when you have a large number of forms. Besides organizing the Navigation pane, folders also let you override properties such as the output folder for just the forms contains within that folder. The new folder command is available on the right side of the Forms panel of the toolbar, or from the Move sub-menu when you right-click on a form.
  • Context menu:
  • The right-click menu for a widget in the Navigation Panel will sometimes have a Change to option. The 1.0 release supported changing most sizers. New to 1.1 is the ability to change some widgets as well. The following widgets can be changed to another widget in the group:
  • 2-state wxCheckBox, 3-state wxCheckBox, wxRadioBox
  • wxChoice, wxComboBox, wxListBox
  • wxAuibook, wxChoicebook, wxListbook, wxNotebook, wxSimplebook
  • Changed:
  • the Generate Code command now let's you choose between C++, Python or XRC code generation.
  • A user can no longer enter an invalid C++ variable name.
  • All C++ generated files include clang-format off and on comments around generated code so that if you add your own code at the end, you can run it through clang-format.
  • contents property for wxCheckListBox and wxRearrangeCtrl now supports setting initial checked state for each string.
  • When a form is duplicated, the class name and any filenames specified for the form are now unique within the project.
  • Improved XRC generation of optional static line above a standard dialog button -- this now matches what the C++ version would look like.
  • XRC files now include a comment warning that regeneration will eliminate any hand edits.
  • Fixed:
  • code generation for button without a label fixed.
  • Code generation for wxGrid with positive row label size fixed.
  • Code generation for wxGrid with non-default SetSelectionMode fixed.
  • Code generation for wxPanel events fixed.
  • Code generation for setting custom foreground colour for wxStaticText fixed.
  • Fixed browsing for an XRC output file to generate XRC to -- it now defaults to the current project directory, and can handle a relative path.
  • Fixed non-combined XRC generation.
  • Fixed several problems when importing XRC files.
  • #include <wx/aui/auibar.h> now added when creating a wxAuiToolBar