DialogBlocks

Home

The Product
About
Features
Getting Started
Buy
Download
FAQ
What users say
Screenshots

Support

About Us

Links

Frequently Asked Questions

About DialogBlocks
Licensing, Support and Privacy
Technical Issues

About DialogBlocks


Why was DialogBlocks created?
DialogBlocks is an easy-to-use tool with a high level of functionality designed to get GUI development work done as quickly as possible. Features such as in-situ editing, data transfer, broad platform support and many other aspects, makes DialogBlocks an essential adjunct to wxWidgets.

What platforms are supported by DialogBlocks?
  • All recent desktop Microsoft Windows platforms - that's Windows XP, Vista, 7, 8, 10.
  • i386 and x86 Linux with GTK+ 2.x installed.
  • Mac OS 10.3 and above.

Can DialogBlocks import XRC files?
Yes, there is support for importing most XRC elements.

Does DialogBlocks support Unicode?
DialogBlocks is currently compiled using Unicode on all platforms, plus ANSI builds on Windows and Mac. The generated dialogs may of course be compiled as Unicode as well as ANSI.

Does DialogBlocks support applications in multiple languages?
Yes, DialogBlocks can be used in conjunction with a tool such as poEdit to extract the translatable strings from generated source files. The mechanics of loading the appropriate message catalog should be implemented by the programmer with reference to the wxWidgets manual and samples. Because DialogBlocks generates sizer-based code, dialogs will normally size themselves to fit the translated strings. When generating XRC, DialogBlocks also generates a header file that can be scanned by poEdit for translatable strings.

If you would like to look at translating DialogBlocks itself into a new language, please visit the translations page.

What controls and sizers does DialogBlocks support?
Controls: wxAnimationCtrl, wxAuiNotebook, wxButton, wxBitmapComboBox, wxBitmapButton, wxCalendarCtrl, wxCheckBox, wxCheckListBox, wxChoice, wxChoicebook, wxColourPickerCtrl, wxCollapsiblePane, wxComboBox, wxComboCtrl, wxContextHelpButton, wxDatePickerCtrl, wxDirPickerCtrl, wxHtmlListBox, wxHtmlWindow, wxHyperlinkCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxFrame, wxGenericDirCtrl, wxGauge, wxGLCanvas, wxGrid (C++ only), wxListBox, wxListCtrl, wxListbook, wxMediaCtrl, wxMenuBar, wxNotebook, wxOwnerDrawnComboBox, wxPanel, wxPropertySheetDialog, wxRadioBox, wxRadioButton, wxRichTextCtrl, wxSashWindow, wxSashLayoutWindow, wxSearchCtrl, wxScrollBar, wxSimpleHtmlListBox, wxSlider, wxSpinCtrl, wxSpinButton, wxStaticBitmap, wxStaticBox, wxStaticLine, wxStaticText, wxScrolledWindow, wxSplitterWindow, wxStatusBar, wxTextCtrl, wxTreebook, wxTreeCtrl, wxToggleButton, wxToolBar, wxToolbook, wxWizard, wxWizardPage, and foreign controls created by the programmer.
Sizers: wxBoxSizer, wxGridSizer, wxFlexGridSizer, wxStaticBoxSizer, wxGridBagSizer.
Other: wxApp

Please note that DialogBlocks does not directly support the API for wxWidgets 3.0 and above. However, in many cases, you can use a foreign window, and customize the constructors for the required control. DialogBlocks will then generate the appropriate control creation code, although it will be previewed with a blank window inside DialogBlocks.

Can DialogBlocks compile my applications?
DialogBlocks has (deprecated) support for generating makefiles for MinGW, GCC, BC++, VC++, and using them to compile your application from within DialogBlocks. DialogBlocks can be used to compile wxWidgets. PLEASE NOTE that these are now deprecated features that we don't support, and we recommend using a dedicated IDE. We can't guarantee that DialogBlocks generates the correct paths in makefiles for VC++ in particular, given the changes from one version of Visual Studio to the next.

What hardware is required by DialogBlocks?
Any PC or Mac will be sufficient.

What tools were used to develop DialogBlocks?
DialogBlocks is programmed with the popular open source (free) GUI toolkit, wxWidgets, created in 1992 by DialogBlocks' author, Julian Smart. wxWidgets is being used by organisations large and small all over the world. Some dialogs in DialogBlocks were written using - you guessed it - DialogBlocks.

Licensing and Support


What are the licensing terms?
The following text is the DialogBlocks license agreement.

DialogBlocks END USER License Agreement

This DialogBlocks software ("Software") is owned by Anthemion Software Ltd. Anthemion Software hereby grants to the user a temporary, non-exclusive license to use this Software solely for internal purposes. User shall not commercially distribute, sub-license, resell, or otherwise transfer for any consideration, or reproduce for any such purposes, the Software or any modification or derivation thereof, either alone or in conjunction with any other products or programs. Further, the user shall not disassemble, reverse engineer, modify, decompile, or otherwise abuse the intended purpose under this License Agreement.

This Software is provided to the user "AS IS." Anthemion Software assumes no risk if this Software does not function properly or operate error free and Anthemion Software makes no warranties, either expressed or implied, with respect to the Software and/or associated materials provided to the user, including but not limited to any warranty of merchantability or fitness for a particular purpose. Further, Anthemion Software shall not be liable for any claims or damages whatsoever, including property damage, personal injury, intellectual property infringement, loss of profits, or interruption of business, or for any special, consequential or incidental damages, however caused, whether arising out of breach of warranty, contract, tort (including negligence), strict liability, or otherwise.

NON COMMERCIAL REPRODUCTION OF THIS SOFTWARE AND ITS MEDIA IS STRICTLY PROHIBITED.

TECHNICAL SUPPORT. Software technical support is provided at the DialogBlocks web site (www.anthemion.co.uk/dialogblocks) in the form of a searchable frequently asked questions repository. Email support is provided as a courtesy and at the discretion of Anthemion Software . No technical support will be provided over the telephone.

This Agreement is governed by the laws of the United Kingdom. If any provision of this Agreement shall be unlawful, void, or for any reason unenforceable, then that provision shall be deemed severed from this Agreement and shall not affect the validity or enforceability of the remaining provisions of this Agreement. This Agreement is the complete statement of the agreement and supersedes any proposal or prior communications between Anthemion Software and the user relating to the subject matter of this Agreement. If you have any questions regarding this Agreement, please contact Anthemion Software Ltd. at 9 Quay Walls, Berwick-upon-Tweed, TD15 1HB (Internet: support@anthemion.com)

Copyright (c) 2003-2024 Julian Smart, Anthemion Software Ltd. All rights reserved.

Are there licensing restrictions on the generated code?
No. You can treat the resulting code as if you had written it yourself from scratch.

How much does DialogBlocks cost?
Please see the purchase page for pricing information.

Are upgrades free?
Bug fixes and DialogBlocks upgrades within a major version are free. However, Anthemion will occasionally release a new major version (for example version 4.0, also called DialogBlocks 2006) which requires payment to activate the new features. Customers who have bought DialogBlocks in preceding 3 months are entitled to a free upgrade - check if the DialogBlocks titlebar reports the latest version. If you haven't upgraded, you can still continue to download the latest distributions with the original feature set plus bug fixes (and small additional features). You can download new versions of DialogBlocks as many times as you like.

Do I pay for each operating system I run DialogBlocks on?
Each separate user must buy a separate copy, one copy each. But if you want to run DialogBlocks on both Windows and Linux, for example, then you only pay once. The license is not tied to a particular operating system.

Can I use the same registration key for DialogBlocks both at home and at work?
Absolutely. You can use the same registered copy of DialogBlocks on multiple machines so long as only one copy is being used at a time.

What do I do if I've lost my registration key?
Email support@anthemion.co.uk mentioning your name and DialogBlocks, and we'll find your key.

How can I get support?
Please email us at support@anthemion.co.uk if the DialogBlocks help and FAQ don't answer your query.

Can I license the source code for DialogBlocks?
Absolutely, talk to us about licensing and customisation of DialogBlocks for your own commercial tools.

What is your privacy policy?
At Anthemion Software, we only store enough information about our customers to be able to communicate with them for support. We do not receive any information about customers' credit cards or bank accounts, and we do not share any information with third-party companies.

No personal information is taken by or stored on our web sites, since we use the secure web site of a third-party payment service to take payment and notify us of the customer's name and their email address. You may read the privacy policy of this service (2Checkout) when you are on their payment page, but they will take the minimum amount of information for the purposes of completing payment.

The DialogBlocks software works completely offline, except to check for and download updates to the software (under user control). It stores the customer's user name and DialogBlocks key for the purpose of activating itself.

Please email us at support@anthemion.co.uk for further information or to remove your information from our records.

Technical Issues


How do I install DialogBlocks under Linux?
DialogBlocks supports three distribution methods for Linux:

  • Debian package (.deb);
  • RPM package (.rpm);
  • Tarball (.tar.gz).

Each of these methods will install suitable desktop entries and MIME types, adding a menu entry to the KDE or GNOME menu in the Development or Programming group. DialogBlocks will also be available by typing dialogblocks in a terminal window. The application is normally installed to /usr/share/dialogblocks, and the 'dialogblocks' startup script to /usr/bin.

Note that some distributions require you to install libpng 1.2 before DialogBlocks runs correctly. If this is necessary, it will be obvious from the error messages when you run DialogBlocks from a terminal. On Mageia Linux, the package is called libpng12_0 or lib64png12_0; on Fedora it's called something like libpng-compat-2:1.5.10-1fc17.

Debian packages

To install a .deb, you may be able to simply double-click it in the file manager, or right-click over it and select Install DEB File. You will be prompted for a password; on some systems, such as the Eee PC, use the password you gave when setting up the machine. If this doesn't work, you can use the dpkg command-line tool. Type something like the following in a terminal window:

sudo dpkg -i dialogblocks_4.20-1_i386.deb

RPM packages

To install an RPM package, you may be able to simply double-click it in the file manager. If this doesn't work, you can use the rpm command-line tool. Type something like the following in a terminal window:

sudo rpm -i dialogblocks-4.20-1.i386.rpm

To upgrade the package (an existing one is already installed), use -U instead of -i.

You need to have root permissions to do this, so either type su followed by the root password, or prefix the command with sudo and type your own password when prompted.

Tarballs

The tarball method is the only one currently supported on FreeBSD and Solaris (and 64-bit Linux distributions). With this method, you run a script in a terminal and you will be prompted to install either system-wide or locally. If installing system-wide, you may wish to login as super user (type su) or run the script with sudo, for example sudo ./installdb.

First, unarchive DialogBlocks-x.xx.tar.gz to a suitable location in your filesystem. This will create two files, DialogBlocksData.tar.gz and installdb. Run installdb and follow the instructions: it will install DialogBlocks in one directory, and a script 'dialogblocks' in another, so you can invoke DialogBlocks without having to set the DIALOGBLOCKSDIR environment variable. The script will install the appropriate MIME types and desktop entries, and if installed locally, will also add a DialogBlocks icon to your desktop.

With the tarball method, you can uninstall by running the uninstalldialogblocks-x.xx script generated by the installation process.

Other

On Gentoo, you can use the ebuild file or the command emerge dialogblocks to install DialogBlocks.

How do I install DialogBlocks on Mageia Linux 2?
You can install DialogBlocks on Mageia Linux 2 using the RPM.

On 32-bit Mageia Linux 2, if you get a message about libpng1.2 not being found, install libpng12_0 via your package manager and try again. You may find that some icons are missing when browsing files; currently there isn't a fix for this except to contact us and request a special build for Mageia.

On 64-bit Mageia Linux 2, you can use the 64-bit version of DialogBlocks and install lib64png12_0. This will unfortunately result in some broken PNG icons, but DialogBlocks will otherwise run fine.

Another method is to run the 32-bit version of DialogBlocks in 64-bit Mageia Linux; this method, at least in my experience, will not result in broken PNG icons. Install the following packages using the Software Management tool:

  • libpng12_0 (architecture i586)
  • libgtk+-x11-2.0_0 (architecture i586)
  • libgnomeprintui (architecture i586)
  • liboxygen-gtk (architecture i586)
  • libcanberra-gtk0 (architecture i586)

When offered a choice of packages to install, choose the default option. It will take a few minutes to install all dependencies.

How do I install DialogBlocks on Fedora?
You can install DialogBlocks on Fedora using the RPM, but you will need to install libpng 1.2. You will see a message about this missing library if you run dialogblocks from a terminal window.

To fix this, on older versions of Fedora, go to "Add/Remove Software" and add "Temporary backwards-compatibility copy of old libpng" (libpng-compat-2:1.5.10-1fc17).

Or, on more recent versions of Fedora, do this in a terminal window:

sudo dnf install libpng12

How do I install DialogBlocks on Ubuntu 16.10+?
Ubuntu 16.10 and above come with a newer version of the libpng library; DialogBlocks requires 1.2. The 64-bit 1.2 library can be downloaded from one of the mirrors listed at packages.ubuntu.com/xenial/amd64/libpng12-0/download, for example here.

Open the file to install it, or save the .deb to your computer and then in a terminal window, change directory to where the file was downloaded, and type this:

sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb

After installing this library, DialogBlocks will be able to run.

Note that Ubuntu 17.04 has a bug whereby the Ubuntu Install button doesn't work when opening the DialogBlocks .deb file. Instead, save it to a file, and in a terminal window change directory (cd) to the appropriate location (such as Downloads) and then type this:

sudo dpkg -i dialogblocks_5.14-1_amd64.deb

substituting the appropriate file name (hint: use the tab key to autocomplete the file name after typing the first few characters).

How do I work around a locale problem on Arch Linux?
On German Arch Linux installations, DialogBlocks can crash when starting. This is caused by a locale bug where systemd resets the user's locale so that only this is left:

LANG=de_DE.utf8
LC_ALL=

while DialogBlocks tries to read LC_ALL instead. Hence LC_ALL has to be passed in the command. The solution is to run DialogBlocks with these commands:

% cd /usr/share/dialogblocks
% LC_ALL=de_DE.UTF8 ./dialogblocks

DialogBlocks still gives warning about not being able to initialise locale for en_GB before working OK for German. (Thanks to Bernd Pol.)

DialogBlocks has display problems on KDE. What can I do?
If you are using KDE and find that DialogBlocks backgrounds display some areas in grey, try disabling the GTK-QT theme by removing the gtk-qt-engine package via the package manager on your system, such as YAST (SuSE) or Networks (Xandros). Examples of KDE-based systems that include gtk-qt by default are SUSE Linux 9.2 and Xandros 4.2. Unfortunately gtk-qt is quite buggy, preventing GTK+ applications from properly painting their backgrounds (at least in gtk-qt 0.6 and below). Try installing QtCurve instead, which provides a consistent look and feel between KDE and GTK+ applications. Note: From 4.19, DialogBlocks works around the GTK-QT theme bug so this should no longer be necessary.

What are the workarounds for DialogBlocks not running correctly on Linux?
If you get a message about libpng1.2 not being found, install it via your package manager and try again.

If DialogBlocks doesn't install on Ubuntu 17.04, see the note above about Ubuntu 16.10+ for how to manually install it.

If DialogBlocks crashes with a BadAlloc error on Ubuntu 17.10+, you need to ensure you are running the X.org windowing system and not Wayland. When logging in, click on the settings icon and choose X.org.

If there is a crash on startup or buttons and other graphical elements are not displaying correctly, there may be a conflict with a specific theme. Please change the theme or just the icon set.

How can I copy elements between projects?
Check the option View multiple projects in the General Settings panel, then open another project. It will be shown in addition to the first project. You can now copy and paste elements between projects.

Back to the DialogBlocks home page