Page 1 of 4
CEGUI Layout Editor 0.5.0 RC2
Posted: Wed Aug 16, 2006 11:29
by Van
I was able to d/l the new build. We are getting this error
CEGUI.Log wrote:16/08/2006 07:09:25 (Error) Exception: WindowFactoryManager::getFactory - A WindowFactory object, an alias, or mapping for 'TaharezLook/StaticImage' Window objects is not registered with the system.
We have our own look-n-feel system and do
NOT use "TaharezLook" anywhere. I have double checked all our imageset, looknfeel, and schemes and the word "TaharezLook" is not present. This error is preventing us from loading our layouts. Anyone know why we are we getting this message?
Re: CEGUI Layout Editor 0.5.0 RC2
Posted: Wed Aug 16, 2006 11:43
by Xirnohn
Van wrote:I was able to d/l the new build. We are getting this error
CEGUI.Log wrote:16/08/2006 07:09:25 (Error) Exception: WindowFactoryManager::getFactory - A WindowFactory object, an alias, or mapping for 'TaharezLook/StaticImage' Window objects is not registered with the system.
We have our own look-n-feel system and do
NOT use "TaharezLook" anywhere. I have double checked all our imageset, looknfeel, and schemes and the word "TaharezLook" is not present. This error is preventing us from loading our layouts. Anyone know why we are we getting this message?
I think the (editor)background created with the TaharezLook/StaticImage widget.
You need to recompile the editor and change the
m_background = WindowManager::getSingletonPtr()->createWindow("TaharezLook/StaticImage", "BackgroundWindow");
line to match your looknfeel.
(EditorDocument::InitBackground() in EditorDocument.cpp)
Xir
Posted: Wed Aug 16, 2006 12:13
by scriptkid
Yes Xirnohn is right. This dependency should be removed (is already in mantis). If you don't have the option to re-compile, you should copy & paste the Taharez files from CEGUI's samples/datafiles folder or something.
Sorry....
Posted: Sat Aug 19, 2006 00:20
by Van
It would be nice is this gets fixed ASAP. We don't want to have to distribute the Tah. look to all our artists on the team and then have it accidently show up in our project.
Posted: Sat Aug 19, 2006 01:56
by Van
I just can't understand why it is when one thing gets fixed ten more things break on every release of the CEGUI LayoutEditor. It's very frustrating. ... Explain to me why this stuff is in a Layout file now?
Code: Select all
<AutoWindow NameSuffix="__auto_listheader__" />
<AutoWindow NameSuffix="__auto_hscrollbar__" >
<AutoWindow NameSuffix="__auto_incbtn__" />
<AutoWindow NameSuffix="__auto_decbtn__" />
<AutoWindow NameSuffix="__auto_thumb__" />
</AutoWindow>
<AutoWindow NameSuffix="__auto_vscrollbar__" >
<AutoWindow NameSuffix="__auto_incbtn__" />
<AutoWindow NameSuffix="__auto_decbtn__" />
<AutoWindow NameSuffix="__auto_thumb__" />
</AutoWindow>
These statements are now causing me lots of grief by renaming items to where the window manger can't find windows by name.
Posted: Sat Aug 19, 2006 08:34
by scriptkid
Hi Van,
these values are currently saved by CEGUI. I have hacked the editor abit to avoid __auto_ windows to be written for tab controls, but apparantly i should just disable them all.
How can i reproduce the problem: by renaming a window and saving + reloading the layout?
Thanks.
Posted: Sat Aug 19, 2006 10:41
by Van
This code
Code: Select all
CEGUI::WindowManager& mWinMgr = CEGUI::WindowManager::getSingleton();
mFrameWindow = (CEGUI::FrameWindow *) mWinMgr.loadWindowLayout( "GPULoadFromDatabase.xml" );
CEGUI::System::getSingleton().getGUISheet()->addChildWindow( mFrameWindow );
mFrameWindow->setVisible( false );
mFrameWindow->subscribeEvent( CEGUI::FrameWindow::EventCloseClicked, CEGUI::Event::Subscriber( &clsGUILoadFromDatabase::event_FrameWindow_ClosedClicked, this ) );
mMCLItems = static_cast<CEGUI::MultiColumnList*>( mWinMgr.getWindow( "LoadFromDatabase/Item/List/MulticolumnList" ) );
would not work with this simple XML containing the "AutoWindow" statements:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<GUILayout >
<Window Type="Origins/FrameWindow" Name="LoadFromDatabase/FrameWindow" >
<Property Name="Text" Value="Load Item From Database" />
<Property Name="TitlebarFont" Value="Large" />
<Property Name="InheritsAlpha" Value="False" />
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="TitlebarEnabled" Value="True" />
<Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.8,0},{0.8,0}}" />
<AutoWindow NameSuffix="__auto_titlebar__" >
<Property Name="Font" Value="Large" />
<Property Name="Text" Value="Load Item From Database" />
</AutoWindow>
<AutoWindow NameSuffix="__auto_closebutton__" />
<Window Type="Origins/MultiColumnList" Name="LoadFromDatabase/Item/List/MulticolumnList" >
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="UnifiedAreaRect" Value="{{0,15},{0,30},{1,-15},{1,-10}}" />
<AutoWindow NameSuffix="__auto_listheader__" />
<AutoWindow NameSuffix="__auto_hscrollbar__" >
<AutoWindow NameSuffix="__auto_incbtn__" />
<AutoWindow NameSuffix="__auto_decbtn__" />
<AutoWindow NameSuffix="__auto_thumb__" />
</AutoWindow>
<AutoWindow NameSuffix="__auto_vscrollbar__" >
<AutoWindow NameSuffix="__auto_incbtn__" />
<AutoWindow NameSuffix="__auto_decbtn__" />
<AutoWindow NameSuffix="__auto_thumb__" />
</AutoWindow>
</Window>
</Window>
</GUILayout>
More specifically, this statement:
Code: Select all
mMCLItems = static_cast<CEGUI::MultiColumnList*>( mWinMgr.getWindow( "LoadFromDatabase/Item/List/MulticolumnList" ) );
would yield this error
CEGUI.log wrote:18/08/2006 21:58:00 (InfL1) ---- Successfully completed loading of GUI layout from 'GPULoadFromDatabase.xml' ----
18/08/2006 21:58:00 (Error) Exception: WindowManager::getWindow - A Window object with the name 'LoadFromDatabase/Item/List/MulticolumnList' does not exist within the system
If I remove all the "AutoWindow" statements, then the above code works fine. The code and layoutfile worked fine before the use of the 0.5.0 RC2 LayoutEditor. The error occured after the file was edited with the new Layout Editor.
Posted: Sat Aug 19, 2006 11:38
by Van
It would also appear that the Layout editor can no longer load a layout file unless a
ROOT (DefaultWindow) is defined inside the layout file. The Layout editor can not load this layout file:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<GUILayout >
<Window Type="Origins/FrameWindow" Name="Item/Properties/FrameWindow" >
<Property Name="Text" Value="Item Properties" />
<Property Name="AlwaysOnTop" Value="True" />
<Property Name="TitlebarFont" Value="Large" />
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="TitlebarEnabled" Value="True" />
<Property Name="UnifiedAreaRect" Value="{{0.2,0},{0.2,0},{0.8,0},{0.8,0}}" />
<Window Type="Origins/MultiColumnList" Name="Item/Properties/MultiColumnList" >
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="UnifiedAreaRect" Value="{{0,15},{0,30},{1,-15},{1,-60}}" />
</Window>
<Window Type="Origins/Editbox" Name="Item/Properties/Value/Editbox" >
<Property Name="MaxTextLength" Value="2048" />
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="UnifiedAreaRect" Value="{{0,15},{1,-50},{1,-105},{1,-10}}" />
</Window>
<Window Type="Origins/Button" Name="Item/Properties/Set/Button" >
<Property Name="Text" Value="Set" />
<Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
<Property Name="UnifiedAreaRect" Value="{{1,-100},{1,-50},{1,-10},{1,-10}}" />
</Window>
</Window>
</GUILayout>
CEGUI.LOG wrote:
19/08/2006 07:31:57 (InfL2) ---- Resource loading for GUI scheme 'TaharezLook' completed ----
19/08/2006 07:32:05 (InfL2) ---- Beginning loading of GUI layout from 'GPUItemProperties.xml' ----
19/08/2006 07:32:05 (Error) Exception: DefaultResourceProvider::load - GPUItemProperties.xml does not exist
19/08/2006 07:32:05 (Error) WindowManager::loadWindowLayout - loading of layout from file 'GPUItemProperties.xml' failed.
Our code loads the file just fine without any errors. We strip out
Root Window definitions from layout files.
Posted: Sat Aug 19, 2006 16:11
by scriptkid
I will disable all writing of __auto_ windows then. However the editor can still load files without roots. The problem is something else....
The editor tries to load all files from the datafiles folder which you specified on first startup. When you open a file, it strips the path and tries to load the file. Can it be that you (or an artist) opened that file from a different directory?
The reason i did this, is so that you are not stuck with all these path issues in files such as schemes and imagesets. However it makes it's usage less flexible. But i could at least add a warning about this
Posted: Tue Aug 22, 2006 13:17
by Rackle
The download link for the Windows installer from the page
http://www.cegui.org.uk/wiki/index.php/ ... _0.5.0-RC2 leads to a missing directory and/or file.
Posted: Tue Aug 22, 2006 15:30
by Dalfy
I need to update the download page on the wiki, its my fault but the file are available at SF :p
Posted: Thu Aug 24, 2006 18:44
by Van
Suggestions:
The ability to VIEW/Edit the XML text.
Sometimes it's just plain faster to load the XML layout file and edit it. Here is what i suggest:
1. In the EDIT drop down list, add an option to "EDIT XML" (or whatever).
2. Launch favorite text editor to edit the file.
3. On Return to CEGUI, ask if yoiu want to RE-LOAD the layout file and if the user does then reload and display changes.
This would be very handy and faster than what is we have to do now.
Add a View CEGUI.LOG under the VIEW menu.
That would be nice too.
Posted: Thu Aug 24, 2006 19:08
by Van
Is the ScrollablePane not supported?
We can design a window with the ScrollablePane just fine but when we go to reload the ScrollablePane is ignored (not even loaded and doesn't appear in the window list). Furthermore, there is not in the CEGUI.Log file error wise. The log does show that the ScrollablePane is being mapped.
Posted: Thu Aug 24, 2006 19:40
by Van
WHOA!!!! I found the problem with the
ScrollablePane...
@scriptkid
I have setup the INI paths for resource loading. They point to our DEVELOPMENT area. We have a RELEASE area that mirrors the DEVELOPMENT area. In the layout editor, if I navigate over to the RELEASE area and load a file, the editor is loading the exact same file name from the DEVELOPMENT area. However, if I SAVE the file, it writes the file in the RELEASE folder!
I couldn't understand why changes being hand-made in release wouldn't show up in the editor and now I know. The path is being ignored or being supplemented with the one in the INI file when loading the file. However, when saving the file the REAL path is used. This was very confusing and caused all kinds of grief. Luckly, CVS came to the rescue.
Posted: Fri Aug 25, 2006 08:46
by scriptkid
Hi Van,
thanks for your suggestions.
You are right about the confusing difference between saving and loading layouts. I think that i should remove the default resource path for them, so you can save/load layouts to/from anywhere.
The other files can still use the default paths, because the editor's users only deals with layout files directly. Would this ben an idea?