Page 4 of 5

Posted: Tue Dec 19, 2006 23:33
by drumicube
Hi, I'm late but it's for a good reason:
I have it running under Linux, and I must admit it was far more difficult than I thought...
First those autoconf / automake tools are closer to rocket science than I could ever imagine.
To be honest without Dalfy precious help, I wouldn't have made it ! Thanks Dalfy ! 8)

About the new features, we have this:


And this:


Improved test Layout:
Unicode keyinput Support in test Layouts with Delete, Backspace and Enter supported.
Very cool to enter and test long text now !

A new selection mechanism in the main ImagesetWindow:
You must click on the box to select it and turn it to red. Infos on hovered boxes (name, size) which is displayed in darker grey can be read in the bottom status bar.
All this avoid the annoying problem of having the list selection changed just by moving mouse from boxes to boxes.
Delete key suppress the selected box if the ImageSetWindow is active

Concerning Dalfy proposal:
I have noticed a lot of users complain about resources settings.
But honesly with all those new options now, it's a really a piece of cake to configure resources for me...
Would be nice to talk more about this !

Again for Dalfy:
Since your help, I have made some progress.
- It's updated to work again on Win32.
- Small bugs causing crashes related to Linux are now fixed.
- The Dual Rendering hack is working perfectly on Linux ! :D
- The ini file is save as .CEImagesetEditor in home folder for Linux.
- Under Linux, it's now using $prefix/share/CEImagesetEditor to call the Editor specific data.

What is missing for Linux is in the autoconf scripts, it's exactly what you talk about last sunday!
It is still needed to manually copy the contents of data/ (4 files) to $prefix/share/CEImagesetEditor, that's all. The Editor code is designed to call it by default now ! ;)

Anyway, It would be nice if you could (or someone else) test it:
I have alos removed the empty from the bin folder, and I'm not sure it was a very good idea... :roll:

Updated source package is available here: ...

I have not updated the binary package:
I still have few things to update, it will be done saturday just before my christmas departure ;)

Posted: Wed Dec 20, 2006 07:59
by Dalfy
I have also removed the empty from the bin folder, and I'm not sure it was a very good idea...

It's a good idea only if you remove the recursive call to that folder in your main

main (the one at the same level as script)

Code: Select all

# List of recursive directory visit
SUBDIRS=CEImagesetEditorRenderer src
# Define a directory path associated to the group of file editordata
# Define the file of the group and the type of file DATA means data file to be installed
editordata_DATA= \
  CEImagesetEditor.imageset \
  CEImagesetEditor.looknfeel \
  CEImagesetEditor.scheme \

This should fix the build process and install cleanly the resources required under unix.

Posted: Wed Dec 20, 2006 12:01
by martignasse
drumicube :

just continu like this, you'r making this piece of code alive :)

PS : j'ai lu mes mails, a+ sur msn :wink:

all :
about the common framework idea, it's for sure the way to go, but it's hard to decide if it has to be wxWidget based or CEGUI based

ease of use and speed developpement if using wxWidget.

lot of work but really good tech demo and "in game" integration if using CEGUI. (and all the necessary work for the system file acces can be a essential adition to the system).

Posted: Wed Dec 20, 2006 12:42
by drumicube
It works !
Thanks again for your help Dalfy.
The source package is now updated to integrate your fix.

I'm now focusing myself on cleaning the controls:
The Linux code porting worked really well, but concerning the display it's a totally different story.
The simple fact linux fonts are bigger than the one used by Windows, makes the controls not to fit nicely on the screen...
Not a big deal, but quite annoying!

Posted: Wed Dec 20, 2006 14:32
by Dalfy
Yes I detect this when I runned the tool. But I don't attached much importance cause I don't run the tool for long ;)

Posted: Fri Dec 22, 2006 00:45
by drumicube
I finally managed to clean the controls for Linux, It was mostly done by adding a notebook:


There's a good news for ScriptKid:
The Taharezlook Imageset now takes less than 3 seconds to load on my computer. :D

I also removed the sample auto configuration from the wizard for non Windows users, it was useless as those samples are only available on Windows.

A very old bug related to Image changing was fixed...

I have also one question:

So far, to refresh the layout, you need to save the Imageset.
It's not very convenient as you need to press the save icon which is small and far from the work area... A very quick shortcut would be great !
So I propose a kicking idea:
Pressing SPACE when the mouse is in the Image window, save the Imageset and refresh the layout !
Sounds dangerous ?
Don't forget: Saving the Imageset is needed to refresh any modifications!
What is your feeling about it ?

Posted: Fri Dec 22, 2006 07:51
by Taharez
Great work drumicube, I really like where this is going :) About using space for save+refresh, I'd suggest also doing a backup-copy of the curent file when doing that, since, as you said, it could be a bit dangerous to hit the spacebar accidentily. Oh, and I love to hear about the new load time, sounds like a superb update!

Posted: Fri Dec 22, 2006 11:36
by martignasse
two things :

1°) about the preview layout refreshing :
why not saving the imageset in a tmp file and refresh the layout when the imageset is modified, like that ?
it's smart and real time

And separatly saving the imageset in file when the user want.

2°) about preview layout usability :
I think about a way of decoupling the skin from the preview layout with sceme alias (like i made on the TestASkin appli). :)
That way, user can test the imageset with any kind of layout without carrying about the scheme used.

don't now if it's easy, as i didn't look deep in the code to see how it's made actually.

Posted: Fri Dec 22, 2006 22:18
by drumicube
About Idea 1:
It's a very good idea, but don't forget one important thing:
The refresh process is everything but a refresh... To my knowledge, CEGUI don't support those king of refresh, so it's more a hack which save destroy and reload almost everything, meaning the CPU cost is really heavy.
If we do it, it has to do done only when really needed, and needed is not everytime the document is modify! For instance you don't have to refresh the Layout when a new box is created...
More we will need to work on temp files for this, it also means I would have to process and modify Layout's xml after loading to make them use the temp file..
As you can see, It's a lot of job, so ti's surely not for now...

About Idea 2:
Would be nice to talk more about that, I tested TestASkin few months ago, and I love it ! But I know very little about how it works internally...

Posted: Sat Dec 23, 2006 18:44
by martignasse
yep, you'r probably right for the refresh thing, refreshing when space bar pressed is enough, could always be modified later if needed.

i think it's not to hard to do, the idea is to use a generic name convention in all layouts you want to use, without mention of the skin used
("Button" instead of "WindowLook/Button" for example)

and use some Alias (in a separate scheme file for each skin ) to make the name correspondance with the skin you want to use.
When you load a layout, or when you load the imageset/skin, you decide what alias you want to use.

One thing to care about is how the link beetwen the imageset and the skin is managed by the ImagesetEditor....i don't remenber and you surely made some modif.

Anyway, it's an easy way to make real time skin changing available in an appli.

Posted: Sat Dec 23, 2006 19:50
by drumicube
Here is the latest release:

Sources: ...
Windows Binary: ...

The SHIFT key is finally used to save the ImageSet and refresh the layout, it's done only when the mouse is in the Imageset window.
This version should be ok for work, but to be honest, I haven't use it for real production yet...
So I'm quite sure there a lot of annoying problems, it would be nice for me if you could report them ;)

Features I will surely add after my Chrismas vacation:
  • Ability to set a default size for the Layout (640x480, 800x600, etc...) with window scrollbars.
  • Restoring focus and positions of the CEGUI windows from the Layout after they have been refreshed.
    In case you have not noticed it, they are all reseted to the default positions after a refresh.
About debugging:
  • I got one crash, when performing a monkey test, but I wasn't able to reproduce it! If you have more info, please share...
  • There's a major memory leak if the font you're using is set to autoscaled="true".
    Again and again, this is related to the dual window rendering hack and fonts which are enable to support it! :x
    I simply put a warning message when loading a font with autoscale=true" attribute...
    Don't use autoscaled fonts, after 5 minutes the editor eat more than 100 Mo...

Have fun and do not hesitate to report problems, but most of all:
Merry Chrismas.

Posted: Sat Dec 30, 2006 00:37
by drumicube
During the past two days, I played a little with the Latest WxWidgets release (2.8.0), and mostly with the new wxAUI classes:
The result is simply amazing, it really gives the LayoutEditor a modern look, more over users perspertives rocks, and are saved without any problems...

It's about Linux, my latest Ubuntu is still using 2.6.3
Do you think it's a good idea to make the jump to the latest stable version, or is it better to keep the old one ?

You can check a Win32 sample Application using WxAui here:

Posted: Sat Dec 30, 2006 08:57
by martignasse
speaking about WxWidget and WxAUI, there is an interresting base code for editor on the OGE project.

and it's based on WxWidget 2.6 and WxAUI, so it should be good for linux distrib with version 2.6.x

and effectivly, the famous "generic CEGUI tool framework" soulhd be inspired from that.

Posted: Sat Dec 30, 2006 19:51
by drumicube
This link is fantastic !
I'm testing all this right now, and I'm quite sure a 2.6.3 base template will emerge soon.
Thanks martignasse.

Posted: Sat Feb 03, 2007 19:44
by drumicube
Happy New year, to everyone !
I know it's a little bit late, but I moved for about 3 weeks, so better late than never ;)

Concerning the Layout Editor, there's two big changes:
  • It now uses the wxAuiManager API for wxWidgets 2.6.3
  • I have fully refactor the project to reflect the move from an ImageSetEditor to a SkinEditor. The new name is now CESkinEditor. It's not just the name which had change, all sources codes where updated to refer it I know it's not really a feature, but this is the kind of things which is really helpful for making the transition...

Now, the big problem:
  • There's still GLRendering bug which lead to crash...
    I know it was there since the very beginning of this Dual hack, but now using the wxAui API, they happens more offen:
    Resizing the test Layout to very small or very big, will produce lag, them freeze...I'm currently working on it.
  • Some window refresh are not very good, It's not really serious and I expect this to be easy to fix, but I will work on it only after the first critical bug is fixed.

My desktop computer is now a dual boot system, including Windows and Ubuntu:
As a consequence, both platforms will now be fully tested before any release.

By the way:
Someone had news about Crazy Ed ?