Anthemion DialogBlocks is a sizer-based resource editor that quickly gets you creating professional-looking dialogs, wizards and frames for deployment on Windows, Linux, Mac or any other supported wxWidgets platform.
What can DialogBlocks help you do?
create resizeable, portable dialogs;
create complex wizards and property sheet dialogs;
create frames complete with menubar and toolbar;
create wxAUI-based layouts with docking;
see and edit the properties for each control or sizer in a convenient, consistent property editor;
output to C++ or XRC;
give your dialogs context-sensitive help and tooltips;
store image resources and convert to inline or file-based XPMs;
edit the generated C++ code by hand, but have DialogBlocks insert changes to the dialog;
preview your dialogs, then quickly compile and run the application from within DialogBlocks;
build wxWidgets from within DialogBlocks;
migrate your old Windows RC dialogs as first-shot wxWidgets dialogs before full sizer-based conversion.
What benefits will you get?
spend minutes on your dialog UI, not hours;
no more writing complex sizer-based layouts by hand;
the chore of adding event handlers becomes effortless;
it's like having your own programming assistant updating your UI code.
New! Now DialogBlocks supports wxAuiToolBar, an enhanced toolbar for use with or without wxAUI. wxAuiToolBar supports drop-down buttons, control labels and overflow items.
DialogBlocks now has an analysis tool for highlighting common problems in your projects, including empty sizers, obsolete styles, and identifier value clashes.
We've added a tabbed palette, with elements grouped by category. This visual tool makes it much easier to choose appropriate controls and sizers.
DialogBlocks supports wxAUI - any dialog, frame or panel can be a wxAUI manager, handling sizing and positioning of its child windows.
DialogBlocks handles wxGridBagSizer, with drag and drop positioning of controls in a grid.
wxPropertySheetDialog, for settings dialogs
DialogBlocks directly supports wxPropertySheetDialog, for easy editing of your application's settings pages.
Conditional user interfaces
DialogBlocks supports the ability to adapt the user interface to the UI guidelines of different platform. Just mark elements as for one platform (or several), and preview the look for any given platform.
DialogBlocks supports compilation with most popular compilers, building both your projects and matching wxWidgets libraries. DialogBlocks can create makefiles for BC++, VC++, GCC, MinGW, Cygwin, Digital Mars C++, and Watcom C++. It can create project files for VC++ 6, 7, 7.1, 8, and 9. DialogBlocks automatically reloads files that are edited by an external application.
wxFrame, wxMenuBar, wxToolBar and wxStatusBar editing
DialogBlocks handles frames, complete with wxMenuBar, wxToolBar and wxStatusBar.
DialogBlocks supports validators and custom variables. Just add a variable, select the variable and a validator, and the data transfer between variable and control is done for you.
DialogBlocks is the only wxWidgets dialog editor to support in-situ wxWizard editing. You add pages and change the wizard bitmap while viewing the wizard as it will appear to the user. Just add data transfer, validation and page route logic to the generated C++ code.
C++ and XRC output
DialogBlocks exports C++ and XRC (the wxWidgets resource format). You can optionally generate the C++ to reflect the use of an XRC file; or you can leave it to generate explicit control creation calls. The generated C++ needs very few additional changes to get it compiling with your project.
Import your existing XRC sizer-based dialogs.
View window or sizer properties at a glance with the property editor, and make changes directly or using specialised editors such as the multiline text editor and the image chooser. Some commonly-used sizer properties have equivalent toolbar buttons, for example to change alignment or turn borders on and off.
To make editing even faster, you can double-click on some elements to pop up the editor for the default property. For example with wxStaticText, you will edit the label when double-clicking.
Syntax-highlighting C++ editor
Make changes to the generated C++ code quickly using the syntax highlighting editor. The XRC output can also be viewed instantaneously whenever you've made a change to the dialog, just by clicking on the XRC tab or pressing Alt+4.
Help text and tooltip support
When generating C++ code, DialogBlocks can write code to associate help text and/or tooltips to your controls.
Event table and handler generation
DialogBlocks generates the event tables and empty handlers (including UI update handlers) so you can immediately concentrate on writing code to make the dialog come to life. Now includes a choice of event types for each window, with function name editing.
When DialogBlocks generates your class header and implementation files, it uses special comments to denote those parts that it can regenerate. You can edit the rest of the file, and regenerate your dialog in the future without your own changes being overwritten.
Import images into your project from a variety of formats and associate them with your static bitmap and bitmap button controls. You can specify whether the bitmaps will converted into XPM format (the standard format for small bitmaps in wxWidgets) and whether the XPM image will be inserted as inline C++ code, or loaded from a file.
DialogBlocks can show a brief description of each element, to help you get used to sizers and also to make it easier to see at a glance the important aspects of your dialog element.
Create a wxNotebook control, add pages, and if any of the pages are complex panels, separate classes will be generated. Click on the notebook tabs in the editor to edit those pages.
Pages that are complex panels will have their own C++ class, but you can edit them in situ.
Easy access to window pointers
Give each window a variable name, and DialogBlocks will add the name to the class declaration, and initialise it to the appropriate window in the implementation. In XRC mode, DialogBlocks generates the code to find the window and assign it to the pointer variable.
30 elements per dialog or frame