Archive for November, 2008

Skinning system changes

Monday, 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

Monday, 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

Monday, 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

Wednesday, 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.