Skinning system changes

November 24th, 2008

Skinning system is currently under an important process of redesign and most of its parts will be changed. The new structure will permit better and easier modifications of the way that controls are looking. For example, there will be introduced the concept of styles associated with any control, users being able to create as many styles as they want and assign them to controls as part of application development or at the runtime. It will be possible that different properties as colors, backgrounds and fonts to be written once for a style and imported later to reduce code bloat and minimize the current xml skin description. Also, properties as those describe before will not be part of TControl itself anymore, but encapsulated into the newly introduced style class. More information and SVN commits will follow, as the modifications will be implemented. Currently, most of the work is done into a separate feature branch (1.2.2) to avoid problems that could appear as the consequence of the changes that are made.

List and combo box simplifications

November 24th, 2008

As one of the users (Daniel Schöni) observer, adding a string to a combo box is not so obvious. Taking a closer look of that thing, let me saw that as I thought, even simplest controls have design problems that should be improved. After some researches, TStrings class was redesigned to make it easier to use by controls. As a result, adding a new item into a combo box is now as simple as below:

TComboBox* Combo = new TComboBox;
Combo->Create(this, TRect(100, 100, 200, 0));

// 1. Add strings
Combo->Items->Append("Item 01");
Combo->Items->Append("Item 02");

// 2. Add items
TListBoxItem* Item = new TListBoxItem;
Item->SetString("Item 03");

Because base classes that TComboBox control is using (like it is TCustomListBox) are still “working in progress” I can not consider the combo box control finished and more work should be done until it will be considered mature enough. So just use it in small experiments and do not consider it for serious projects (yet). I should say that the whole library is immature at the moment and lots of changes could occur into the near future. More information about intended new features can be finding on the wiki project (

Next version number will be different

November 24th, 2008

I have decided that the next library versions will be noted by release date, as the known “Ubuntu version scheme”. Instead of 1.3v, next release will be 8.12 (2008, December). This will be a good thing that will help users to identify versions of the software.

DirectX support in 1.2 version

November 12th, 2008

Latest SVN commit adds simple D3D support that will make some happy people arround. If choosing DebugD3D or ReleaseD3D configuration in Visual Studio, ones will be able to create a D3D ready to use Gui. Even if this addition is minimal and incomplete, standard controls will be rendered closer to their OpenGL versions. Still to-do things: TD3DServer class completion, support for lines, control clipping and text defect fixes. As soon as these features will be ready, GUIde version 1.2 will be released.

Happy coding.

Improved tests

August 29th, 2008

During the testing phase of the software, I need to run different dialogs containing controls prepared for tests. To improve this common task, I have changed the way that tests are launched making my life a bit easier. Take a look at the screenshots to see how test forms are used from now.

Tests1 Tests2

Linux build

August 25th, 2008

Current version of SDK (1.1v) compiles well under Linux using makefiles found in build directories. It was tested unde Slackware but I expect it will run without any problem on other Linux distributions too. Requirements for latest release are STL (for the core) and Freetype (for the Fonttool).

Linux Slackware

Directory list box changes

August 25th, 2008

Directory list box control was change and have an improved look for aqua and flex skins with support for files & folders icons. Current stage is 1.1 alpha and future work will fix fix small problems that were detected. Enjoy.

Documentation update

August 25th, 2008

Library documentation was updated with more details about controls and how the SDK can be used. Still to add tutorials and more content about the system.