<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://cegui.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pebblesrox</id>
		<title>CEGUI Wiki - Crazy Eddie's GUI System (Open Source) - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://cegui.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pebblesrox"/>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/Special:Contributions/Pebblesrox"/>
		<updated>2026-06-15T01:02:57Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4691</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4691"/>
				<updated>2011-12-16T23:43:15Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Image of Mac Version: [https://picasaweb.google.com/lh/photo/zLHy_P9Us5lFxiehidN2BtMTjNZETYmyPJy0liipFm0?feat=directlink]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you're happy with your new window, press 'ok' to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4690</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4690"/>
				<updated>2011-12-16T23:42:35Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */ Added a link to an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version: [https://picasaweb.google.com/lh/photo/zLHy_P9Us5lFxiehidN2BtMTjNZETYmyPJy0liipFm0?feat=directlink]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you're happy with your new window, press 'ok' to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4689</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4689"/>
				<updated>2011-12-16T23:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */ Added an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version: &amp;lt;table style=&amp;quot;width:auto;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;https://picasaweb.google.com/lh/photo/zLHy_P9Us5lFxiehidN2BtMTjNZETYmyPJy0liipFm0?feat=embedwebsite&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;https://lh6.googleusercontent.com/-mrRbD2zhyKo/TuvXFDZCWVI/AAAAAAAAAEg/6aO7644qgsY/s144/Picture%2525208.png&amp;quot; height=&amp;quot;144&amp;quot; width=&amp;quot;75&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;font-family:arial,sans-serif; font-size:11px; text-align:right&amp;quot;&amp;gt;From &amp;lt;a href=&amp;quot;https://picasaweb.google.com/116924977997803951259/CELayoutEditor?authuser=0&amp;amp;feat=embedwebsite&amp;quot;&amp;gt;CELayoutEditor&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4688</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4688"/>
				<updated>2011-12-16T23:38:07Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */ Added a link to an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version:[https://picasaweb.google.com/lh/photo/4-0qZrWUKymq5Ue7aqMtRtMTjNZETYmyPJy0liipFm0?feat=directlink]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4687</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4687"/>
				<updated>2011-12-16T23:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */Added an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version:&lt;br /&gt;
[[File:https://picasaweb.google.com/lh/photo/4-0qZrWUKymq5Ue7aqMtRtMTjNZETYmyPJy0liipFm0?feat=directlink]]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4686</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4686"/>
				<updated>2011-12-16T23:36:43Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */ Added an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version:&lt;br /&gt;
[[Media:https://picasaweb.google.com/lh/photo/4-0qZrWUKymq5Ue7aqMtRtMTjNZETYmyPJy0liipFm0?feat=directlink]]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4685</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4685"/>
				<updated>2011-12-16T23:35:55Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Adding windows */ Added an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Mac Version:&lt;br /&gt;
[https://picasaweb.google.com/lh/photo/4-0qZrWUKymq5Ue7aqMtRtMTjNZETYmyPJy0liipFm0?feat=directlink]&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4684</id>
		<title>CELayoutEditor Manual</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CELayoutEditor_Manual&amp;diff=4684"/>
				<updated>2011-12-16T23:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Launched */ typo correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Welcome to the manual page for the layout editor! Because the application is not the biggest in the world, this manual is actually pretty brief. However it will explain everything it can do, and will give some notes on certain behaviour which might be confusing at first sight.&lt;br /&gt;
&lt;br /&gt;
Before going any further, make sure you have read [[CELayout Editor - Getting Started / Building]].&lt;br /&gt;
&lt;br /&gt;
== The INI file ==&lt;br /&gt;
An important (and sometimes confusing) part of the layout editor is its use of an INI file. This file tells the editor where it can find CEGUI's resource files, such as Imagery and Fonts. These paths are 'forwarded' to CEGUI's internal Resource provider. For example 'CEGUI::DefaultResourceProvider::setResourceGroupDirectory(&amp;quot;schemes&amp;quot;, &amp;lt;ini_schemes_path&amp;gt;);'.&lt;br /&gt;
&lt;br /&gt;
The paths in this file are the 'base' directory when the editor loads something. It will only append the filename of the loaded Layout or such. So when the user opens the file 'MessageBox.layout', the editor (well, CEGUI actually) will complete this to '&amp;lt;ini_layout_path/MessageBox.layout' internally.&lt;br /&gt;
&lt;br /&gt;
The INI file gets created on launch when the editor cannot find it, in which case it will prompt you with this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=29&amp;amp;fullsize=1 Select Resources Dialog]&lt;br /&gt;
&lt;br /&gt;
From there, you should browse to the root CEGUI datafiles folder. The name 'datafiles' is not required, so you may use 'mygame/media/gui' or something. However the subfolders are defaulted to &amp;quot;fonts&amp;quot;, &amp;quot;schemes&amp;quot; and such, just like CEGUI's default 'datafiles'. When pressing 'ok', the values will be stored to the INI file. If you are using a different naming convention, or even a different hierarchy, browse and 'ok' on your root directory at least, and close the editor when it has launched completely. Then it has at least created a file for you to edit more easily.&lt;br /&gt;
&lt;br /&gt;
'''Vista note:''' Since applications are not allowed to write files in the application directory itself, it uses a 'Virtual Store' for backwards compatibility. [http://www.cegui.org.uk/phpBB2/viewtopic.php?f=7&amp;amp;t=3439 This thread] explains the details. It also contains a post of myself saying that i should update the editor to use the application directory, which is nicer anyway.&lt;br /&gt;
&lt;br /&gt;
'''0.6.x Note:''' unlike the 0.5 versions, it was decided to ship th 0.6.x installers with default files (the ones used in the CEGUI samples) again, to have at least something to start playing with.&lt;br /&gt;
&lt;br /&gt;
== Launched ==&lt;br /&gt;
&lt;br /&gt;
When the editor has completely launched, meaning that it has found or created the necessary INI file, you will see either a blank sceen or the last saved layout. This shows the empty version:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=28&amp;amp;fullsize=1 Empty Main Frame]&lt;br /&gt;
&lt;br /&gt;
=== Starting a new Layout ===&lt;br /&gt;
&lt;br /&gt;
Before dryly explaining all options, let's actually do something first. You can start a new layout by pressing the New button from the toolbar or File-&amp;gt;New from the menu. Either way, the editor will ask you whether or not you would like a 'root' window. If you choose to do so, your layout will start with a full-sized 'DefaultGUISheet' window type. This option is good for a desktop-like setup on which you are going to put your widgets. If you choose 'no', then the editor will not add any window until you explicitely do so. In that case, this first window will become the root. This option is advised if you are splitting your GUI into multiple files. So, it pretty much depends on how you choose to setup your GUI: 'composed' or 'split up'.&lt;br /&gt;
&lt;br /&gt;
As soon as you have started a layout, the '''Main Dialog image''' awakes...&lt;br /&gt;
&lt;br /&gt;
=== The main dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog provides a hierachical overview of the currently open layout (the browse tree), allowing for modifying properties of the current selection and adding new windows. It looks as follows:&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
Although the dialog is a &amp;quot;top-most&amp;quot; window, it can be minimized &amp;amp; restored. Also, its visibility can be toggled through 'View-&amp;gt;Toggle dialog'.&lt;br /&gt;
&lt;br /&gt;
By clicking an item (window name) in the browse tree, that window gets automatically selected, and the dialog updates itself according to the selected window.&lt;br /&gt;
&lt;br /&gt;
Except for the &amp;quot;Text&amp;quot; property, which is shown as an edit field, each (supported) property is editable through a grid, where the left comumn shows the property's name, and the right one its current value.&lt;br /&gt;
&lt;br /&gt;
=== Adding windows ===&lt;br /&gt;
You can add windows by clicking the &amp;quot;add window&amp;quot; button, which will open the following dialog:&lt;br /&gt;
&lt;br /&gt;
'''TODO: insert new image'''&lt;br /&gt;
&lt;br /&gt;
The top of the dialog shows you to which window (the parent) you will be adding the new window. Below that information is an input field for the new window's&lt;br /&gt;
name.&lt;br /&gt;
&lt;br /&gt;
Since the editor support multiple &amp;quot;look &amp;amp; feels&amp;quot; you can select one of the loaded ones here. As you can see, you can default the one you use most often. Finally,&lt;br /&gt;
select the window type you'd like to add. This list is relative to the selected look &amp;amp; feel, so it might differ per selection.&lt;br /&gt;
&lt;br /&gt;
When you´re happy with your new window, press `ok` to create with the given settings. Note that the application will fail to add the window if you choose an already existing name.&lt;br /&gt;
&lt;br /&gt;
=== Editing properties ===&lt;br /&gt;
When you have more then one window selected, the grid will show the union of available properties. Imagine that two windows are selected (by pressing SHIFT while selecting), and the first one has &amp;quot;visible&amp;quot; and &amp;quot;topMost&amp;quot; as its properties, and the second one has &amp;quot;visible&amp;quot;, &amp;quot;clickable&amp;quot; and &amp;quot;colour&amp;quot; as its properties, then the grid will contain &amp;quot;visible&amp;quot;, &amp;quot;topmost&amp;quot;, clickable&amp;quot; and &amp;quot;colour&amp;quot;. &amp;quot;Visible&amp;quot; will only be added once.&lt;br /&gt;
&lt;br /&gt;
Note that the positions and size cannot be changed when you have selected more then one window, otherwise each window in your selection would get the same position and size!&lt;br /&gt;
&lt;br /&gt;
=== Renaming a window ===&lt;br /&gt;
You can change a window name by modifying the first property ('name') in the grid. Although this property does not actually exist in the cegui system, editing this way helps consistency with changing others property. Name changes will immediately reflect in the tree.&lt;br /&gt;
&lt;br /&gt;
== The edit area ==&lt;br /&gt;
&lt;br /&gt;
=== Selecting and Moving ===&lt;br /&gt;
&lt;br /&gt;
Now that you know how to add windows to your layout and fine-tune its properties, let's discuss the edit area. This is the place where you can select, resize, move, copy|cut &amp;amp; paste parts of your layout. Of course, moving or resizing a window is the same as adjusting those position properties in the main dialog. To select more then one window at a time, hold CTRL while clicking.&lt;br /&gt;
&lt;br /&gt;
If a window is selected, it will be wrapped with a resize box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=34&amp;amp;fullsize=1 Widget Resize Box]&lt;br /&gt;
&lt;br /&gt;
When copying, cutting or pasting parts of a layout, the editor will implicitely use the entire branch (children). To clarify this implication, the 'View-&amp;gt;Select All' option will only show a resize box around the top-most windows, and leave the children with a non-resizable box:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=33&amp;amp;fullsize=1 Selected All Widgets]&lt;br /&gt;
&lt;br /&gt;
Two operations (who have no menu item) have to do with moving windows by hand in stead of by mouse. When you have a selection of windows, you can use 'w', 's', 'a', 'd' and the cursor keys to move the selection. To make smaller steps (1 pixel instead of 10 pixels) keep CTRL pressed. Note that if you select a first window of a selection, the main dialog (see below) updates.&lt;br /&gt;
&lt;br /&gt;
=== The Menu ===&lt;br /&gt;
&lt;br /&gt;
When a layout is being edited, these menu contains the following sub-menus and items:&lt;br /&gt;
&lt;br /&gt;
* Edit: This menuitem contains all subitems which are relevant to a Selection of windows. Their behavior should be implied by the item's names and the detailed explaination in the status bar.&lt;br /&gt;
&lt;br /&gt;
* View: This menuitem contains some convenient commands to grow or shrink the client to commonly-used resolutions such as 1024x768 or even widescreen(!), to help the WYSIWYG behavior. Besides, it allows for aligning and grid setup.&lt;br /&gt;
&lt;br /&gt;
=== The status bar ===&lt;br /&gt;
&lt;br /&gt;
While working in the edit area, the status bar is used to show the following information:&lt;br /&gt;
* Absolute and relative coordinates of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
* The name of the currently hovered window (includes the root GUISheet);&lt;br /&gt;
&lt;br /&gt;
== Saving and Loading layouts ==&lt;br /&gt;
As mentioned in the 'Setup' chapter, the editor uses CEGUI's internal resource loading behaviour. This is also the case for layouts itself. Therefore, when you open a Layout, you are limited to the files which reside in the layoutpath vale of the INI file. So instead of an open-file dialog, the editor will prompt you with a list of all layouts (.xml or .layout) in that directory:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=32&amp;amp;fullsize=1 Select Layout dialog]&lt;br /&gt;
&lt;br /&gt;
Even though a saved layout can only be opened when saved to the layoutpath directory of your INI file, for convenience reasons you may save it to any location.&lt;br /&gt;
&lt;br /&gt;
== More ==&lt;br /&gt;
&lt;br /&gt;
=== Setting a default font ===&lt;br /&gt;
You can specify a default font for your layout(s). This font will be used for each added window from that moment. When selection &amp;quot;View-&amp;gt;Set default font...&amp;quot;, you'll see this dialog: [http://www.cegui.org.uk/gallery/displayimage.php?pid=31&amp;amp;fullsize=1 Default Font Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot; this font will apply even after closing the editor, because it's an INI setting.&lt;br /&gt;
&lt;br /&gt;
=== Working on a background ===&lt;br /&gt;
In order to extend the &amp;quot;wysiwyg&amp;quot; effect, you can set a background behind your layout. This can help alot in deciding how large your widgets can be, or even their ideal location. Note that the background does ''not'' get saved with your layout; the editor maintains is seperately. To create a background in your layout itself, you should just use a StaticImage widget.&lt;br /&gt;
&lt;br /&gt;
Setting a background, and toggling its visibility state happens via the &amp;quot;View-&amp;gt;Set background&amp;quot; and &amp;quot;View-&amp;gt;Show background&amp;quot; menu items respectivily.&lt;br /&gt;
&lt;br /&gt;
=== Snap to grid ===&lt;br /&gt;
It's possible to show a grid during editing. When selection &amp;quot;View-&amp;gt;Setup grid...&amp;quot;, you'll see this dialog:&lt;br /&gt;
[http://www.cegui.org.uk/gallery/displayimage.php?pid=30&amp;amp;fullsize=1 Snap to grid Dialog]&lt;br /&gt;
&lt;br /&gt;
On &amp;quot;ok&amp;quot;, all settings will apply, even after closing the editor because it's INI settings.&lt;br /&gt;
&lt;br /&gt;
When editing, you can '''snap''' to the grid by selecting one or more windows, and press &amp;quot;g&amp;quot; (for &amp;quot;grid&amp;quot;, because &amp;quot;s&amp;quot; is already used for moving).&lt;br /&gt;
&lt;br /&gt;
=== Absolute metrics mode ===&lt;br /&gt;
Although CEGUI does not distinguish between &amp;quot;relative&amp;quot; and &amp;quot;absolute&amp;quot; anymore, you can still simutate this with help of the editor. If you want a window of a fixed size at any resolution (absolute), you can set all the 'scales' to 0.0, and the 'offsets' to an absolute position. For example to create a window from 50,50 to 250,250 at any resolution, the property grid of that window should look like this:&lt;br /&gt;
&lt;br /&gt;
* Left Scale: 0&lt;br /&gt;
* Left Offset: 50&lt;br /&gt;
* Top Scale: 0&lt;br /&gt;
* Top Offset: 50&lt;br /&gt;
* Right Scale: 0&lt;br /&gt;
* Right Offset: 250&lt;br /&gt;
* Bottom Scale: 0&lt;br /&gt;
* Bottom Offset: 250&lt;br /&gt;
&lt;br /&gt;
Note that the resizing and dragging of windows only affects the relative part. The absolute part (offsets) must always be setup from the grid. &lt;br /&gt;
&lt;br /&gt;
=== INI Settings ===&lt;br /&gt;
Besides the CEGUI resource paths, the editor loads &amp;amp; writes several additional settings from and to an INI file:&lt;br /&gt;
* The location of your datafiles&lt;br /&gt;
* Last opened layout&lt;br /&gt;
* Client size&lt;br /&gt;
* Grid setup&lt;br /&gt;
* Default font setup&lt;br /&gt;
* Current background setup&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
I think i have mentioned the most important functionality. You should now be able to create the coolest layouts :-) If you think i left something important out, just add it or send me an email at pkooman@gmail.com.&lt;br /&gt;
&lt;br /&gt;
--Last updated by Scriptkid, August 22, 2009.&lt;br /&gt;
&lt;br /&gt;
[[Category:CELayoutEditor]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4683</id>
		<title>CEGUI In Practice - Using .layout files</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4683"/>
				<updated>2011-12-16T22:25:55Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Conclusion */ typo fix (added a space)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VersionBadge|0.7}}&lt;br /&gt;
{{Series|CEGUI In Practice|5}}&lt;br /&gt;
&lt;br /&gt;
== CEGUI InPractice 5 ==&lt;br /&gt;
&lt;br /&gt;
In this tutorial we will introduce how to use the .layout file.  This is likely what will be used for larger scale projects, where the art team isn't going to want to wait for you to recompile the source for every change they make.&lt;br /&gt;
&lt;br /&gt;
==== Meet the Layout ====&lt;br /&gt;
&lt;br /&gt;
The Layout file (.layout) is an xml file.  There exists at least two editors for layouts.  The first one is the  [[Downloads|CEGUI LayoutEditor]] This is a fairly mature editor.  Unfortunately it is deprecated and has not received any updates in sometime.  There is a new Editor (CEGUI Layout Editor 2) which is available from the SVN.  For the usage of this tutorial tho, we will not be using an editor and will be manipulating the .layout file with a plain old text editor.&lt;br /&gt;
&lt;br /&gt;
First thing to note, is its an XML file.  So proper XML formatting is required.  Second, is that it is hierarchical just like CEGUI.  We will work towards writing a Simple Console here.  I have created a console layout, and that will be the goal of this tutorial, to make a console editor like you would find in the various MMORPG's.  This is what we'll make today:&lt;br /&gt;
&lt;br /&gt;
[[File:TutorialInPractice-Console.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Attached is the layout:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GUILayout &amp;gt;&lt;br /&gt;
    &amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Button&amp;quot; Name=&amp;quot;ConsoleRoot/SendButton&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Send&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.732211,0},{0.812349,0},{0.928283,0},{0.946832,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Listbox&amp;quot; Name=&amp;quot;ConsoleRoot/ChatBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.00534809,0},{0.0131038,0},{0.949636,0},{0.762443,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
    &amp;lt;/Window&amp;gt;&lt;br /&gt;
&amp;lt;/GUILayout&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Okay, i'll admit. I cheated and used a LayoutEditor for this. But i'm allowed to, I know what I'm doing otherwise, so do don't back talk me and do your homework.&lt;br /&gt;
&lt;br /&gt;
Erm.  Anyway, lets look at the setup of the .layout file.&lt;br /&gt;
&lt;br /&gt;
the first line &amp;lt;xml..&amp;gt;  Is just the XML Declaration, and is not important for us.&lt;br /&gt;
&lt;br /&gt;
the next line &amp;lt;GUILayout &amp;gt;  begins the .layout file as far as CEGUI is concerned.&lt;br /&gt;
&lt;br /&gt;
Next up is: &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
This is where the meat begins.  As you can see we're creating a window of type &amp;quot;TaharezLook/FrameWindow&amp;quot; with the name &amp;quot;ConsoleRoot.&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
The next lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;      &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
change various PropertySets on that new framewindow.  It sets the font, Titlebar and the area.  These could also be done in code by calling:&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;CEGUI::Window::setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;);&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.Window.setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;)&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
So as you can see, the scripts can be very useful allowing us to change properties outside of the code, giving the artists a great deal of usability!&lt;br /&gt;
&lt;br /&gt;
Anyway, the next line is &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;       &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice this is before the &amp;lt;/Window&amp;gt; of the ConsoleRoot, so it will be created as a child in of ConsoleRoot when the script is loaded in CEGUI. Can you tell what kind of window this will be? It will be an edit box. Thats the portion of the Console Window where the user will be able to type in what they want to say. I'm not going to go into detail about the rest of the windows, as they are pretty similar to the above examples. But &amp;quot;ConsoleRoot/SendButton&amp;quot; will be the send button, and &amp;quot;ConsoleRoot/ChatBox&amp;quot; will be where the chat messages will display to.&lt;br /&gt;
&lt;br /&gt;
[Note: As you can see I adopted the Naming scheme of Parent/Child window names. This is NOT required, but I think it helps make things easier to read on code side while debugging. You wouldn't want to just name it EditBox as that would be a pretty Common name, and may conflict with other windows you create later on in the application.]&lt;br /&gt;
&lt;br /&gt;
==== Applying our knowledge ====&lt;br /&gt;
&lt;br /&gt;
Now that we have gotten an introduction to the .layout file, we should learn how to implement this knowledge. How to get the layout file to show up in CEGUI.&lt;br /&gt;
&lt;br /&gt;
This code will load the layout into a new window:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pretty self explanatory. There is something to note tho, you can add a prefix to the names in this .layout file. This would be useful if you're going to add the same .layout multiple times, because after the first load you'd get name conflicts. It would find a previous &amp;quot;ConsoleRoot&amp;quot; for example. So by calling this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
It would append &amp;quot;second_&amp;quot; to the window names (ie. &amp;quot;second_ConsoleRoot&amp;quot;); This will prevent naming errors.&lt;br /&gt;
&lt;br /&gt;
Now if we ran this right now would we be able to see the window?&lt;br /&gt;
&lt;br /&gt;
Nope. We haven't attached it to the window hierarchy have we?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::System::getSingleton().getGUISheet()-&amp;gt;addChildWindow(newWindow);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.System.getSingleton().getGuiSheet().addChildWindow(newWindow)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
Note: This assumes that you have a GUISheet already set, otherwise this will result in a segfault!&lt;br /&gt;
&lt;br /&gt;
==== Conclusion ====&lt;br /&gt;
&lt;br /&gt;
Well we showed how to load a .layout file. So far now we know how to Start the system with Ogre, create a window and understand properties, add input, process events, and load layouts. In the next tutorial we will apply this knowledge to create a console which actually does something! Till next time.&lt;br /&gt;
&lt;br /&gt;
This list of the Window properties may be helpful in creating your .layout files: [http://www.cegui.org.uk/docs/current/namespaceCEGUI_1_1WindowProperties.html Properties]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4682</id>
		<title>CEGUI In Practice - Using .layout files</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4682"/>
				<updated>2011-12-16T22:24:24Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: /* Meet the Layout */ Attached sentence fragment to preceding sentence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VersionBadge|0.7}}&lt;br /&gt;
{{Series|CEGUI In Practice|5}}&lt;br /&gt;
&lt;br /&gt;
== CEGUI InPractice 5 ==&lt;br /&gt;
&lt;br /&gt;
In this tutorial we will introduce how to use the .layout file.  This is likely what will be used for larger scale projects, where the art team isn't going to want to wait for you to recompile the source for every change they make.&lt;br /&gt;
&lt;br /&gt;
==== Meet the Layout ====&lt;br /&gt;
&lt;br /&gt;
The Layout file (.layout) is an xml file.  There exists at least two editors for layouts.  The first one is the  [[Downloads|CEGUI LayoutEditor]] This is a fairly mature editor.  Unfortunately it is deprecated and has not received any updates in sometime.  There is a new Editor (CEGUI Layout Editor 2) which is available from the SVN.  For the usage of this tutorial tho, we will not be using an editor and will be manipulating the .layout file with a plain old text editor.&lt;br /&gt;
&lt;br /&gt;
First thing to note, is its an XML file.  So proper XML formatting is required.  Second, is that it is hierarchical just like CEGUI.  We will work towards writing a Simple Console here.  I have created a console layout, and that will be the goal of this tutorial, to make a console editor like you would find in the various MMORPG's.  This is what we'll make today:&lt;br /&gt;
&lt;br /&gt;
[[File:TutorialInPractice-Console.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Attached is the layout:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GUILayout &amp;gt;&lt;br /&gt;
    &amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Button&amp;quot; Name=&amp;quot;ConsoleRoot/SendButton&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Send&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.732211,0},{0.812349,0},{0.928283,0},{0.946832,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Listbox&amp;quot; Name=&amp;quot;ConsoleRoot/ChatBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.00534809,0},{0.0131038,0},{0.949636,0},{0.762443,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
    &amp;lt;/Window&amp;gt;&lt;br /&gt;
&amp;lt;/GUILayout&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Okay, i'll admit. I cheated and used a LayoutEditor for this. But i'm allowed to, I know what I'm doing otherwise, so do don't back talk me and do your homework.&lt;br /&gt;
&lt;br /&gt;
Erm.  Anyway, lets look at the setup of the .layout file.&lt;br /&gt;
&lt;br /&gt;
the first line &amp;lt;xml..&amp;gt;  Is just the XML Declaration, and is not important for us.&lt;br /&gt;
&lt;br /&gt;
the next line &amp;lt;GUILayout &amp;gt;  begins the .layout file as far as CEGUI is concerned.&lt;br /&gt;
&lt;br /&gt;
Next up is: &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
This is where the meat begins.  As you can see we're creating a window of type &amp;quot;TaharezLook/FrameWindow&amp;quot; with the name &amp;quot;ConsoleRoot.&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
The next lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;      &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
change various PropertySets on that new framewindow.  It sets the font, Titlebar and the area.  These could also be done in code by calling:&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;CEGUI::Window::setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;);&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.Window.setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;)&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
So as you can see, the scripts can be very useful allowing us to change properties outside of the code, giving the artists a great deal of usability!&lt;br /&gt;
&lt;br /&gt;
Anyway, the next line is &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;       &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice this is before the &amp;lt;/Window&amp;gt; of the ConsoleRoot, so it will be created as a child in of ConsoleRoot when the script is loaded in CEGUI. Can you tell what kind of window this will be? It will be an edit box. Thats the portion of the Console Window where the user will be able to type in what they want to say. I'm not going to go into detail about the rest of the windows, as they are pretty similar to the above examples. But &amp;quot;ConsoleRoot/SendButton&amp;quot; will be the send button, and &amp;quot;ConsoleRoot/ChatBox&amp;quot; will be where the chat messages will display to.&lt;br /&gt;
&lt;br /&gt;
[Note: As you can see I adopted the Naming scheme of Parent/Child window names. This is NOT required, but I think it helps make things easier to read on code side while debugging. You wouldn't want to just name it EditBox as that would be a pretty Common name, and may conflict with other windows you create later on in the application.]&lt;br /&gt;
&lt;br /&gt;
==== Applying our knowledge ====&lt;br /&gt;
&lt;br /&gt;
Now that we have gotten an introduction to the .layout file, we should learn how to implement this knowledge. How to get the layout file to show up in CEGUI.&lt;br /&gt;
&lt;br /&gt;
This code will load the layout into a new window:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pretty self explanatory. There is something to note tho, you can add a prefix to the names in this .layout file. This would be useful if you're going to add the same .layout multiple times, because after the first load you'd get name conflicts. It would find a previous &amp;quot;ConsoleRoot&amp;quot; for example. So by calling this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
It would append &amp;quot;second_&amp;quot; to the window names (ie. &amp;quot;second_ConsoleRoot&amp;quot;); This will prevent naming errors.&lt;br /&gt;
&lt;br /&gt;
Now if we ran this right now would we be able to see the window?&lt;br /&gt;
&lt;br /&gt;
Nope. We haven't attached it to the window hierarchy have we?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::System::getSingleton().getGUISheet()-&amp;gt;addChildWindow(newWindow);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.System.getSingleton().getGuiSheet().addChildWindow(newWindow)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
Note: This assumes that you have a GUISheet already set, otherwise this will result in a segfault!&lt;br /&gt;
&lt;br /&gt;
==== Conclusion ====&lt;br /&gt;
&lt;br /&gt;
Well we showed how to load a .layout file. Sofar now we know how to Start the system with Ogre, create a window and understand properties, add input, process events, and load layouts. In the next tutorial we will apply this knowledge to create a console which actually does something! Till next time.&lt;br /&gt;
&lt;br /&gt;
This list of the Window properties may be helpful in creating your .layout files: [http://www.cegui.org.uk/docs/current/namespaceCEGUI_1_1WindowProperties.html Properties]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	<entry>
		<id>http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4681</id>
		<title>CEGUI In Practice - Using .layout files</title>
		<link rel="alternate" type="text/html" href="http://cegui.org/wiki/index.php?title=CEGUI_In_Practice_-_Using_.layout_files&amp;diff=4681"/>
				<updated>2011-12-16T22:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Pebblesrox: Corrected confusing words that were part of the wrong sentence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{VersionBadge|0.7}}&lt;br /&gt;
{{Series|CEGUI In Practice|5}}&lt;br /&gt;
&lt;br /&gt;
== CEGUI InPractice 5 ==&lt;br /&gt;
&lt;br /&gt;
In this tutorial we will introduce how to use the .layout file.  This is likely what will be used for larger scale projects, where the art team isn't going to want to wait for you to recompile the source for every change they make.&lt;br /&gt;
&lt;br /&gt;
==== Meet the Layout ====&lt;br /&gt;
&lt;br /&gt;
The Layout file (.layout) is an xml file.  There exists at least two editors for layouts.  The first one is the  [[Downloads|CEGUI LayoutEditor]] This is a fairly mature editor.  Unfortunately it is deprecated and has not received any updates in sometime.  There is a new Editor (CEGUI Layout Editor 2) which is available from the SVN.  For the usage of this tutorial tho, we will not be using an editor and will be manipulating the .layout file with a plain old text editor.&lt;br /&gt;
&lt;br /&gt;
First thing to note, is its an XML file.  So proper XML formatting is required.  Second, is that it is hierarchical just like CEGUI.  We will work towards writing a Simple Console here.  I have created a console layout, and that will be the goal of this tutorial, to make a console editor like you would find in the various MMORPG's.  This is what we'll make today:&lt;br /&gt;
&lt;br /&gt;
[[File:TutorialInPractice-Console.jpg]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Attached is the layout:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;GUILayout &amp;gt;&lt;br /&gt;
    &amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Button&amp;quot; Name=&amp;quot;ConsoleRoot/SendButton&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Send&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.732211,0},{0.812349,0},{0.928283,0},{0.946832,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
        &amp;lt;Window Type=&amp;quot;TaharezLook/Listbox&amp;quot; Name=&amp;quot;ConsoleRoot/ChatBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.00534809,0},{0.0131038,0},{0.949636,0},{0.762443,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&lt;br /&gt;
    &amp;lt;/Window&amp;gt;&lt;br /&gt;
&amp;lt;/GUILayout&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Okay, i'll admit. I cheated and used a LayoutEditor for this. But i'm allowed to, I know what I'm doing otherwise, so do don't back talk me and do your homework.&lt;br /&gt;
&lt;br /&gt;
Erm.  Anyway, lets look at the setup of the .layout file.&lt;br /&gt;
&lt;br /&gt;
the first line &amp;lt;xml..&amp;gt;  Is just the XML Declaration, and is not important for us.&lt;br /&gt;
&lt;br /&gt;
the next line &amp;lt;GUILayout &amp;gt;  begins the .layout file as far as CEGUI is concerned.&lt;br /&gt;
&lt;br /&gt;
Next up is: &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;Window Type=&amp;quot;TaharezLook/FrameWindow&amp;quot; Name=&amp;quot;ConsoleRoot&amp;quot; &amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
This is where the meat begins.  As you can see we're creating a window of type &amp;quot;TaharezLook/FrameWindow&amp;quot; with the name &amp;quot;ConsoleRoot.&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
The next lines:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;      &amp;lt;Property Name=&amp;quot;Text&amp;quot; Value=&amp;quot;Chat Window&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarFont&amp;quot; Value=&amp;quot;DejaVuSans-10&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;TitlebarEnabled&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.114991,0},{0.358182,0},{0.519469,0},{0.775455,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
change various PropertySets on that new framewindow.  It sets the font, Titlebar and the area.  These could also be done in code by calling:&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;CEGUI::Window::setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;);&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.Window.setProperty(&amp;quot;TitlebarFont&amp;quot;,&amp;quot;DejaVuSans-10&amp;quot;)&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
So as you can see, the scripts can be very useful allowing us to change properties outside of the code.  Giving the artists a great deal of usability!&lt;br /&gt;
&lt;br /&gt;
Anyway, the next line is &amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;       &amp;lt;Window Type=&amp;quot;TaharezLook/Editbox&amp;quot; Name=&amp;quot;ConsoleRoot/EditBox&amp;quot; &amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;MaxTextLength&amp;quot; Value=&amp;quot;1073741823&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;UnifiedAreaRect&amp;quot; Value=&amp;quot;{{0.0201637,0},{0.787097,0},{0.694549,0},{0.957693,0}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;Property Name=&amp;quot;TextParsingEnabled&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Window&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You'll notice this is before the &amp;lt;/Window&amp;gt; of the ConsoleRoot, so it will be created as a child in of ConsoleRoot when the script is loaded in CEGUI. Can you tell what kind of window this will be? It will be an edit box. Thats the portion of the Console Window where the user will be able to type in what they want to say. I'm not going to go into detail about the rest of the windows, as they are pretty similar to the above examples. But &amp;quot;ConsoleRoot/SendButton&amp;quot; will be the send button, and &amp;quot;ConsoleRoot/ChatBox&amp;quot; will be where the chat messages will display to.&lt;br /&gt;
&lt;br /&gt;
[Note: As you can see I adopted the Naming scheme of Parent/Child window names. This is NOT required, but I think it helps make things easier to read on code side while debugging. You wouldn't want to just name it EditBox as that would be a pretty Common name, and may conflict with other windows you create later on in the application.]&lt;br /&gt;
&lt;br /&gt;
==== Applying our knowledge ====&lt;br /&gt;
&lt;br /&gt;
Now that we have gotten an introduction to the .layout file, we should learn how to implement this knowledge. How to get the layout file to show up in CEGUI.&lt;br /&gt;
&lt;br /&gt;
This code will load the layout into a new window:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pretty self explanatory. There is something to note tho, you can add a prefix to the names in this .layout file. This would be useful if you're going to add the same .layout multiple times, because after the first load you'd get name conflicts. It would find a previous &amp;quot;ConsoleRoot&amp;quot; for example. So by calling this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
newWindow = PyCEGUI.WindowManager.getSingleton().loadWindowLayout(&amp;quot;MyConsole.layout&amp;quot;,&amp;quot;second_&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
It would append &amp;quot;second_&amp;quot; to the window names (ie. &amp;quot;second_ConsoleRoot&amp;quot;); This will prevent naming errors.&lt;br /&gt;
&lt;br /&gt;
Now if we ran this right now would we be able to see the window?&lt;br /&gt;
&lt;br /&gt;
Nope. We haven't attached it to the window hierarchy have we?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;C++&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
CEGUI::System::getSingleton().getGUISheet()-&amp;gt;addChildWindow(newWindow);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab title=&amp;quot;Python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
PyCEGUI.System.getSingleton().getGuiSheet().addChildWindow(newWindow)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
Note: This assumes that you have a GUISheet already set, otherwise this will result in a segfault!&lt;br /&gt;
&lt;br /&gt;
==== Conclusion ====&lt;br /&gt;
&lt;br /&gt;
Well we showed how to load a .layout file. Sofar now we know how to Start the system with Ogre, create a window and understand properties, add input, process events, and load layouts. In the next tutorial we will apply this knowledge to create a console which actually does something! Till next time.&lt;br /&gt;
&lt;br /&gt;
This list of the Window properties may be helpful in creating your .layout files: [http://www.cegui.org.uk/docs/current/namespaceCEGUI_1_1WindowProperties.html Properties]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Pebblesrox</name></author>	</entry>

	</feed>