summaryrefslogtreecommitdiff
path: root/navit/gui/sdl
diff options
context:
space:
mode:
Diffstat (limited to 'navit/gui/sdl')
-rw-r--r--navit/gui/sdl/Makefile.am6
-rw-r--r--navit/gui/sdl/cegui_keyboard.cpp94
-rw-r--r--navit/gui/sdl/cegui_keyboard.h5
-rw-r--r--navit/gui/sdl/datafiles/Makefile.am20
-rwxr-xr-xnavit/gui/sdl/datafiles/fonts/DejaVuSans-10.font2
-rwxr-xr-xnavit/gui/sdl/datafiles/fonts/DejaVuSans-12.font2
-rwxr-xr-xnavit/gui/sdl/datafiles/fonts/DejaVuSans-14.font2
-rwxr-xr-xnavit/gui/sdl/datafiles/fonts/DejaVuSans.ttfbin0 -> 407768 bytes
-rw-r--r--navit/gui/sdl/datafiles/fonts/Font.xsd34
-rw-r--r--navit/gui/sdl/datafiles/imagesets/Imageset.xsd28
-rw-r--r--navit/gui/sdl/datafiles/imagesets/Mineque-Black.imageset37
-rwxr-xr-xnavit/gui/sdl/datafiles/imagesets/TaharezLook.imageset242
-rwxr-xr-xnavit/gui/sdl/datafiles/imagesets/TaharezLook.tgabin0 -> 63621 bytes
-rw-r--r--navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tgabin0 -> 190107 bytes
-rw-r--r--navit/gui/sdl/datafiles/layouts/GUILayout.xsd63
-rw-r--r--navit/gui/sdl/datafiles/layouts/Mineque.layout258
-rwxr-xr-xnavit/gui/sdl/datafiles/layouts/TaharezLook.layout260
-rw-r--r--navit/gui/sdl/datafiles/looknfeel/Falagard.xsd399
-rwxr-xr-xnavit/gui/sdl/datafiles/looknfeel/Mineque.looknfeel1476
-rwxr-xr-xnavit/gui/sdl/datafiles/looknfeel/TaharezLook.looknfeel4534
-rw-r--r--navit/gui/sdl/datafiles/schemes/GUIScheme.xsd54
-rwxr-xr-xnavit/gui/sdl/datafiles/schemes/Mineque.scheme67
-rwxr-xr-xnavit/gui/sdl/datafiles/schemes/TaharezLook.scheme47
-rw-r--r--navit/gui/sdl/gui_sdl.h20
-rw-r--r--navit/gui/sdl/gui_sdl_window.cpp903
-rw-r--r--navit/gui/sdl/sdl_events.cpp810
-rw-r--r--navit/gui/sdl/sdl_events.h40
-rw-r--r--navit/gui/sdl/wmcontrol.c1252
-rw-r--r--navit/gui/sdl/wmcontrol.h7
29 files changed, 10662 insertions, 0 deletions
diff --git a/navit/gui/sdl/Makefile.am b/navit/gui/sdl/Makefile.am
new file mode 100644
index 000000000..795e35ef3
--- /dev/null
+++ b/navit/gui/sdl/Makefile.am
@@ -0,0 +1,6 @@
+include $(top_srcdir)/Makefile.inc
+SUBDIRS=datafiles
+AM_CPPFLAGS = @NAVIT_CFLAGS@ @CEGUI_CFLAGS@ @GLC_CFLAGS@ -I$(top_srcdir)/src -DMODULE=gui_sdl
+modulegui_LTLIBRARIES = libgui_sdl.la
+libgui_sdl_la_SOURCES = gui_sdl_window.cpp sdl_events.cpp gui_sdl.h sdl_events.h wmcontrol.c wmcontrol.h cegui_keyboard.cpp cegui_keyboard.h
+libgui_sdl_la_LIBADD = @SDL_LIBS@ @CEGUI_LIBS@ @OPENGL_LIBS@ @GLC_LIBS@
diff --git a/navit/gui/sdl/cegui_keyboard.cpp b/navit/gui/sdl/cegui_keyboard.cpp
new file mode 100644
index 000000000..3bf0888fd
--- /dev/null
+++ b/navit/gui/sdl/cegui_keyboard.cpp
@@ -0,0 +1,94 @@
+#include "CEGUI.h"
+#include "sdl_events.h"
+
+
+bool ShowKeyboard(const CEGUI::EventArgs& event){
+ CEGUI::WindowManager::getSingleton().getWindow("Navit/Keyboard/Input")->setText("");
+ CEGUI::WindowManager::getSingleton().getWindow("Navit/Keyboard")->show();
+}
+
+
+
+void Add_KeyBoard_key(CEGUI::String key,int x,int y,int w){
+
+ using namespace CEGUI;
+// char button_name [5];
+// sprintf(button_name,"%s",key);
+ FrameWindow* wnd = (FrameWindow*)WindowManager::getSingleton().createWindow("TaharezLook/Button", key);
+ CEGUI::WindowManager::getSingleton().getWindow("Navit/Keyboard")->addChildWindow(wnd);
+ wnd->setPosition(UVector2(cegui_absdim(x), cegui_absdim( y)));
+ wnd->setSize(UVector2(cegui_absdim(w), cegui_absdim( 40)));
+ wnd->setText(key);
+ wnd->subscribeEvent(PushButton::EventClicked, Event::Subscriber(Handle_Virtual_Key_Down));
+
+}
+
+
+void BuildKeyboard(){
+ int w=55;
+ int offset_x=10;
+ int count_x=0;
+
+ int y=25;
+ Add_KeyBoard_key("A",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("Z",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("E",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("R",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("T",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("Y",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("U",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("I",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("O",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("P",offset_x+(count_x++)*w,y,w);
+ count_x++;
+ Add_KeyBoard_key("7",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("8",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("9",offset_x+(count_x++)*w,y,w);
+
+ y=70;
+ count_x=0;
+ Add_KeyBoard_key("Q",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("S",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("D",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("F",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("G",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("H",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("J",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("K",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("L",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("M",offset_x+(count_x++)*w,y,w);
+ count_x++;
+ Add_KeyBoard_key("4",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("5",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("6",offset_x+(count_x++)*w,y,w);
+
+ y=115;
+ count_x=0;
+
+ Add_KeyBoard_key("W",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("X",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("C",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("V",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("B",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("N",offset_x+(count_x++)*w,y,w);
+
+ Add_KeyBoard_key(" ",offset_x+(count_x++)*w,y,w*2);
+ count_x++;
+
+ Add_KeyBoard_key("BACK",offset_x+(count_x++)*w,y,w*2);
+ count_x+=2;
+
+ Add_KeyBoard_key("1",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("2",offset_x+(count_x++)*w,y,w);
+ Add_KeyBoard_key("3",offset_x+(count_x++)*w,y,w);
+
+ y=160;
+ count_x=11;
+ Add_KeyBoard_key("0",offset_x+(count_x++)*w,y,w);
+
+ Add_KeyBoard_key("OK",offset_x+(count_x++)*w,y,w*2);
+
+
+}
+
+
diff --git a/navit/gui/sdl/cegui_keyboard.h b/navit/gui/sdl/cegui_keyboard.h
new file mode 100644
index 000000000..bb329499c
--- /dev/null
+++ b/navit/gui/sdl/cegui_keyboard.h
@@ -0,0 +1,5 @@
+bool ShowKeyboard(const CEGUI::EventArgs& event);
+void Add_KeyBoard_key(CEGUI::String key,int x,int y,int w);
+void BuildKeyboard();
+bool Handle_Virtual_Key_Down(const CEGUI::EventArgs& event);
+
diff --git a/navit/gui/sdl/datafiles/Makefile.am b/navit/gui/sdl/datafiles/Makefile.am
new file mode 100644
index 000000000..0a1e19bfd
--- /dev/null
+++ b/navit/gui/sdl/datafiles/Makefile.am
@@ -0,0 +1,20 @@
+# include $(top_srcdir)/Makefile.inc
+
+CEGUIFONTSdir=$(pkgdatadir)/datafiles/fonts
+# CEGUIFONTS_DATA = fonts/DejaVuSans-10.font fonts/DejaVuSans-14.font fonts/DejaVuSans-18.font fonts/DejaVuSans.ttf fonts/Font.xsd
+CEGUIFONTS_DATA = fonts/DejaVuSans-10.font fonts/DejaVuSans-12.font fonts/DejaVuSans-14.font fonts/DejaVuSans.ttf fonts/Font.xsd
+
+CEGUILAYOUTdir=$(pkgdatadir)/datafiles/layouts
+CEGUILAYOUT_DATA = layouts/GUILayout.xsd layouts/Mineque.layout layouts/TaharezLook.layout
+
+CEGUIIMAGESETSdir=$(pkgdatadir)/datafiles/imagesets
+CEGUIIMAGESETS_DATA = imagesets/Imageset.xsd imagesets/Mineque-Black.imageset imagesets/navit-skin-black-imageset.tga \
+ imagesets/TaharezLook.imageset imagesets/TaharezLook.tga
+
+CEGUILOOKNFEELdir=$(pkgdatadir)/datafiles/looknfeel
+CEGUILOOKNFEEL_DATA = looknfeel/Falagard.xsd looknfeel/Mineque.looknfeel looknfeel/TaharezLook.looknfeel
+
+CEGUISCHEMESdir=$(pkgdatadir)/datafiles/schemes
+CEGUISCHEMES_DATA = schemes/GUIScheme.xsd schemes/Mineque.scheme schemes/TaharezLook.scheme
+
+EXTRA_DIST = $(CEGUIFONTS_DATA) $(CEGUILAYOUT_DATA) $(CEGUIIMAGESETS_DATA) $(CEGUILOOKNFEEL_DATA) $(CEGUISCHEMES_DATA)
diff --git a/navit/gui/sdl/datafiles/fonts/DejaVuSans-10.font b/navit/gui/sdl/datafiles/fonts/DejaVuSans-10.font
new file mode 100755
index 000000000..25e51b2cf
--- /dev/null
+++ b/navit/gui/sdl/datafiles/fonts/DejaVuSans-10.font
@@ -0,0 +1,2 @@
+<?xml version="1.0" ?>
+<Font Name="DejaVuSans-10" Filename="DejaVuSans.ttf" Type="FreeType" Size="10" NativeHorzRes="800" NativeVertRes="600" AutoScaled="true"/>
diff --git a/navit/gui/sdl/datafiles/fonts/DejaVuSans-12.font b/navit/gui/sdl/datafiles/fonts/DejaVuSans-12.font
new file mode 100755
index 000000000..56f65a24e
--- /dev/null
+++ b/navit/gui/sdl/datafiles/fonts/DejaVuSans-12.font
@@ -0,0 +1,2 @@
+<?xml version="1.0" ?>
+<Font Name="DejaVuSans-12" Filename="DejaVuSans.ttf" Type="FreeType" Size="12" NativeHorzRes="800" NativeVertRes="600" AutoScaled="true"/>
diff --git a/navit/gui/sdl/datafiles/fonts/DejaVuSans-14.font b/navit/gui/sdl/datafiles/fonts/DejaVuSans-14.font
new file mode 100755
index 000000000..ddddd46db
--- /dev/null
+++ b/navit/gui/sdl/datafiles/fonts/DejaVuSans-14.font
@@ -0,0 +1,2 @@
+<?xml version="1.0" ?>
+<Font Name="DejaVuSans-14" Filename="DejaVuSans.ttf" Type="FreeType" Size="14" NativeHorzRes="800" NativeVertRes="600" AutoScaled="true"/>
diff --git a/navit/gui/sdl/datafiles/fonts/DejaVuSans.ttf b/navit/gui/sdl/datafiles/fonts/DejaVuSans.ttf
new file mode 100755
index 000000000..7e96e8ec9
--- /dev/null
+++ b/navit/gui/sdl/datafiles/fonts/DejaVuSans.ttf
Binary files differ
diff --git a/navit/gui/sdl/datafiles/fonts/Font.xsd b/navit/gui/sdl/datafiles/fonts/Font.xsd
new file mode 100644
index 000000000..5ab529cd7
--- /dev/null
+++ b/navit/gui/sdl/datafiles/fonts/Font.xsd
@@ -0,0 +1,34 @@
+<?xml version="1.0" ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xsd:element name="Font" type="FontType" />
+
+ <xsd:complexType name="FontType">
+ <xsd:sequence>
+ <xsd:element name="Mapping" type="MapType" maxOccurs="unbounded" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="FontAttrs" />
+ </xsd:complexType>
+ <xsd:complexType name="MapType">
+ <xsd:attribute name="Codepoint" type="xsd:nonNegativeInteger" use="required" />
+ <xsd:attribute name="Image" type="xsd:string" use="required" />
+ <xsd:attribute name="HorzAdvance" type="xsd:integer" use="optional" default="-1" />
+ </xsd:complexType>
+ <xsd:attributeGroup name="FontAttrs">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="Type" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="FreeType" />
+ <xsd:enumeration value="Pixmap" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="Size" type="xsd:nonNegativeInteger" use="optional" default="12" />
+ <xsd:attribute name="NativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
+ <xsd:attribute name="NativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
+ <xsd:attribute name="AutoScaled" type="xsd:boolean" use="optional" default="false" />
+ <xsd:attribute name="AntiAlias" type="xsd:boolean" use="optional" default="true" />
+ </xsd:attributeGroup>
+</xsd:schema>
diff --git a/navit/gui/sdl/datafiles/imagesets/Imageset.xsd b/navit/gui/sdl/datafiles/imagesets/Imageset.xsd
new file mode 100644
index 000000000..49ced132a
--- /dev/null
+++ b/navit/gui/sdl/datafiles/imagesets/Imageset.xsd
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xsd:element name="Imageset" type="ImagesetType"/>
+
+ <xsd:complexType name="ImagesetType">
+ <xsd:sequence>
+ <xsd:element name="Image" type="ImageType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="Imagefile" type="xsd:string" use="required"/>
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="NativeHorzRes" type="xsd:nonNegativeInteger" use="optional" default="640" />
+ <xsd:attribute name="NativeVertRes" type="xsd:nonNegativeInteger" use="optional" default="480" />
+ <xsd:attribute name="AutoScaled" type="xsd:boolean" use="optional" default="false" />
+ </xsd:complexType>
+
+ <xsd:complexType name="ImageType">
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="XPos" type="xsd:nonNegativeInteger" use="required"/>
+ <xsd:attribute name="YPos" type="xsd:nonNegativeInteger" use="required"/>
+ <xsd:attribute name="Width" type="xsd:nonNegativeInteger" use="required"/>
+ <xsd:attribute name="Height" type="xsd:nonNegativeInteger" use="required"/>
+ <xsd:attribute name="XOffset" type="xsd:integer" use="optional" default="0"/>
+ <xsd:attribute name="YOffset" type="xsd:integer" use="optional" default="0"/>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/navit/gui/sdl/datafiles/imagesets/Mineque-Black.imageset b/navit/gui/sdl/datafiles/imagesets/Mineque-Black.imageset
new file mode 100644
index 000000000..ef19947e1
--- /dev/null
+++ b/navit/gui/sdl/datafiles/imagesets/Mineque-Black.imageset
@@ -0,0 +1,37 @@
+<?xml version="1.0" ?>
+<Imageset Name="Mineque-Black" Imagefile="navit-skin-black-imageset.tga" NativeHorzRes="800" NativeVertRes="730" AutoScaled="true">
+<!--
+Imagefile - file with all textures inside
+NativeHorzRes, NativeVertRes - image size in pixels
+Image Name - name of texture we will further use in layout and looknfeel files
+XPos, YPos - position (X,Y) of texture parts in image file it's count for "d" corner as below
+ d____e
+ | |
+ |____|
+ f g
+-->
+<!-- Round panel parts -->
+ <Image Name="ZoomOutButton" XPos="0" YPos="260" Width="62" Height="93" />
+ <Image Name="ZoomInButton" XPos="0" YPos="360" Width="92" Height="62" />
+ <Image Name="ViewModeSwitchButton" XPos="0" YPos="153" Width="98" Height="98" />
+<!-- Top panel parts -->
+ <Image Name="QuitButton" XPos="0" YPos="450" Width="29" Height="30" />
+ <Image Name="RouteButton" XPos="35" YPos="450" Width="36" Height="36" />
+ <Image Name="OptionsButton" XPos="75" YPos="450" Width="37" Height="25" />
+ <Image Name="SpeakerOffButton" XPos="115" YPos="450" Width="28" Height="36" />
+ <Image Name="SpeakerOnButton" XPos="145" YPos="450" Width="28" Height="36" />
+ <Image Name="SateliteImage" XPos="230" YPos="450" Width="30" Height="38" />
+ <Image Name="SateliteStrenghBarOn" XPos="180" YPos="450" Width="17" Height="32" />
+ <Image Name="SateliteStrenghBarOff" XPos="200" YPos="450" Width="17" Height="32" />
+ <Image Name="TopPanel" XPos="0" YPos="53" Width="800" Height="64" />
+ <Image Name="NavitAboutButton" XPos="0" YPos="500" Width="82" Height="25" />
+<!-- Right panel parts -->
+ <Image Name="RightPanel" XPos="635" YPos="127" Width="165" Height="600" />
+<!-- Navigation area -->
+ <Image Name="ArrowLeft" XPos="258" YPos="450" Width="39" Height="34" />
+ <Image Name="ArrowTop" XPos="316" YPos="450" Width="34" Height="39" />
+ <Image Name="ArrowRight" XPos="435" YPos="450" Width="39" Height="34" />
+ <Image Name="ArrowDown" XPos="275" YPos="450" Width="34" Height="39" />
+<!-- Bottom street panel part -->
+ <Image Name="BottomStreetPanel" XPos="0" YPos="0" Width="800" Height="50" />
+</Imageset>
diff --git a/navit/gui/sdl/datafiles/imagesets/TaharezLook.imageset b/navit/gui/sdl/datafiles/imagesets/TaharezLook.imageset
new file mode 100755
index 000000000..e5aef9813
--- /dev/null
+++ b/navit/gui/sdl/datafiles/imagesets/TaharezLook.imageset
@@ -0,0 +1,242 @@
+<?xml version="1.0" ?>
+<Imageset Name="TaharezLook" Imagefile="TaharezLook.tga" NativeHorzRes="800" NativeVertRes="600" AutoScaled="true">
+ <Image Name="ClientBrush" XPos="2" YPos="2" Width="64" Height="64" />
+ <Image Name="WindowLeftEdge" XPos="6" YPos="95" Width="1" Height="22" XOffset="4" />
+ <Image Name="WindowRightEdge" XPos="34" YPos="95" Width="1" Height="22" XOffset="-5" />
+ <Image Name="WindowTopEdge" XPos="9" YPos="68" Width="23" Height="1" />
+ <Image Name="WindowBottomEdge" XPos="9" YPos="143" Width="23" Height="1" />
+ <Image Name="WindowTopLeft" XPos="2" YPos="68" Width="5" Height="24" />
+ <Image Name="WindowTopRight" XPos="34" YPos="68" Width="5" Height="24" />
+ <Image Name="WindowBottomLeft" XPos="2" YPos="120" Width="5" Height="24" />
+ <Image Name="WindowBottomRight" XPos="34" YPos="120" Width="5" Height="24" />
+ <Image Name="ButtonLeftNormal" XPos="68" YPos="20" Width="12" Height="16" />
+ <Image Name="ButtonMiddleNormal" XPos="82" YPos="20" Width="12" Height="16" />
+ <Image Name="ButtonRightNormal" XPos="96" YPos="20" Width="12" Height="16" />
+ <Image Name="ButtonLeftPushed" XPos="68" YPos="38" Width="12" Height="16" />
+ <Image Name="ButtonMiddlePushed" XPos="82" YPos="38" Width="12" Height="16" />
+ <Image Name="ButtonRightPushed" XPos="96" YPos="38" Width="12" Height="16" />
+ <Image Name="ButtonLeftHighlight" XPos="68" YPos="56" Width="12" Height="16" />
+ <Image Name="ButtonMiddleHighlight" XPos="82" YPos="56" Width="12" Height="16" />
+ <Image Name="ButtonRightHighlight" XPos="96" YPos="56" Width="12" Height="16" />
+ <Image Name="CheckboxNormal" XPos="110" YPos="2" Width="12" Height="12" />
+ <Image Name="CheckboxHover" XPos="110" YPos="30" Width="12" Height="12" />
+ <Image Name="CheckboxMark" XPos="110" YPos="16" Width="12" Height="12" />
+ <Image Name="RadioButtonNormal" XPos="124" YPos="2" Width="12" Height="12" />
+ <Image Name="RadioButtonHover" XPos="124" YPos="30" Width="12" Height="12" />
+ <Image Name="RadioButtonMark" XPos="124" YPos="16" Width="12" Height="12" />
+ <Image Name="TitlebarLeft" XPos="68" YPos="2" Width="8" Height="16" />
+ <Image Name="TitlebarMiddle" XPos="78" YPos="2" Width="8" Height="16" />
+ <Image Name="TitlebarRight" XPos="88" YPos="2" Width="8" Height="16" />
+ <Image Name="NewTitlebarLeft" XPos="61" YPos="127" Width="13" Height="16" />
+ <Image Name="NewTitlebarMiddle" XPos="77" YPos="127" Width="12" Height="16" />
+ <Image Name="NewTitlebarRight" XPos="92" YPos="127" Width="12" Height="16" />
+ <Image Name="SysAreaMiddle" XPos="107" YPos="127" Width="12" Height="16" />
+ <Image Name="SysAreaRight" XPos="122" YPos="127" Width="13" Height="16" />
+ <Image Name="StaticLeft" XPos="41" YPos="89" Width="6" Height="6" />
+ <Image Name="StaticRight" XPos="63" YPos="89" Width="6" Height="6" />
+ <Image Name="StaticTop" XPos="52" YPos="78" Width="6" Height="6" />
+ <Image Name="StaticBottom" XPos="52" YPos="100" Width="6" Height="6" />
+ <Image Name="StaticTopLeft" XPos="41" YPos="78" Width="6" Height="6" />
+ <Image Name="StaticTopRight" XPos="63" YPos="78" Width="6" Height="6" />
+ <Image Name="StaticBottomLeft" XPos="41" YPos="100" Width="6" Height="6" />
+ <Image Name="StaticBottomRight" XPos="63" YPos="100" Width="6" Height="6" />
+ <Image Name="StaticBackdrop" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="ProgressBarLeft" XPos="71" YPos="74" Width="7" Height="12" />
+ <Image Name="ProgressBarMiddle" XPos="80" YPos="74" Width="6" Height="12" />
+ <Image Name="ProgressBarRight" XPos="88" YPos="74" Width="6" Height="12" />
+ <Image Name="ProgressBarDimSegment" XPos="96" YPos="74" Width="8" Height="12" />
+ <Image Name="ProgressBarLitSegment" XPos="106" YPos="74" Width="8" Height="12" />
+ <Image Name="EditBoxLeft" XPos="41" YPos="108" Width="4" Height="18" />
+ <Image Name="EditBoxMiddle" XPos="47" YPos="108" Width="4" Height="18" />
+ <Image Name="EditBoxRight" XPos="53" YPos="108" Width="4" Height="18" />
+ <Image Name="EditBoxCarat" XPos="60" YPos="108" Width="4" Height="18" />
+ <Image Name="SpinnerUpNormal" XPos="68" YPos="110" Width="10" Height="6" />
+ <Image Name="SpinnerDownNormal" XPos="68" YPos="118" Width="10" Height="6" />
+ <Image Name="SpinnerUpHover" XPos="82" YPos="110" Width="10" Height="6" />
+ <Image Name="SpinnerDownHover" XPos="82" YPos="118" Width="10" Height="6" />
+ <Image Name="TextSelectionBrush" XPos="8" YPos="70" Width="16" Height="16" />
+ <Image Name="VertScrollTop" XPos="182" YPos="2" Width="20" Height="8" />
+ <Image Name="VertScrollMiddle" XPos="182" YPos="12" Width="20" Height="8" />
+ <Image Name="VertScrollBottom" XPos="182" YPos="22" Width="20" Height="8" />
+ <Image Name="VertScrollBarSegment" XPos="206" YPos="2" Width="4" Height="10" />
+ <Image Name="VertScrollThumbNormal" XPos="214" YPos="2" Width="8" Height="24" />
+ <Image Name="VertScrollThumbHover" XPos="224" YPos="2" Width="8" Height="24" />
+ <Image Name="VertScrollUpNormal" XPos="196" YPos="32" Width="12" Height="12" />
+ <Image Name="VertScrollDownNormal" XPos="182" YPos="32" Width="12" Height="12" />
+ <Image Name="VertScrollUpHover" XPos="196" YPos="46" Width="12" Height="12" />
+ <Image Name="VertScrollDownHover" XPos="182" YPos="46" Width="12" Height="12" />
+ <Image Name="MiniVertScrollBarSegment" XPos="207" YPos="60" Width="4" Height="10" />
+ <Image Name="MiniVertScrollThumbNormal" XPos="214" YPos="59" Width="7" Height="22" />
+ <Image Name="MiniVertScrollThumbTopNormal" XPos="214" YPos="59" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbMiddleNormal" XPos="214" YPos="65" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbBottomNormal" XPos="214" YPos="76" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbTopHover" XPos="223" YPos="59" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbMiddleHover" XPos="223" YPos="65" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbBottomHover" XPos="223" YPos="76" Width="7" Height="5" />
+ <Image Name="MiniVertScrollThumbHover" XPos="223" YPos="59" Width="7" Height="22" />
+ <Image Name="MiniVertScrollUpNormal" XPos="194" YPos="60" Width="10" Height="9" />
+ <Image Name="MiniVertScrollDownNormal" XPos="182" YPos="59" Width="10" Height="9" />
+ <Image Name="MiniVertScrollUpHover" XPos="194" YPos="70" Width="10" Height="9" />
+ <Image Name="MiniVertScrollDownHover" XPos="182" YPos="69" Width="10" Height="9" />
+ <Image Name="VertSliderBody" XPos="234" YPos="2" Width="9" Height="48" />
+ <Image Name="VertSliderThumbNormal" XPos="217" YPos="28" Width="15" Height="6" />
+ <Image Name="VertSliderThumbHover" XPos="217" YPos="36" Width="15" Height="6" />
+ <Image Name="MiniHorzScrollBarSegment" XPos="244" YPos="80" Width="10" Height="4" />
+ <Image Name="MiniHorzScrollThumbNormal" XPos="233" YPos="87" Width="22" Height="7" />
+ <Image Name="MiniHorzScrollThumbLeftNormal" XPos="233" YPos="87" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollThumbMiddleNormal" XPos="239" YPos="87" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollThumbRightNormal" XPos="250" YPos="87" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollThumbHover" XPos="233" YPos="96" Width="22" Height="7" />
+ <Image Name="MiniHorzScrollThumbLeftHover" XPos="233" YPos="96" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollThumbMiddleHover" XPos="239" YPos="96" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollThumbRightHover" XPos="250" YPos="96" Width="5" Height="7" />
+ <Image Name="MiniHorzScrollLeftNormal" XPos="246" YPos="55" Width="9" Height="10" />
+ <Image Name="MiniHorzScrollRightNormal" XPos="245" YPos="67" Width="9" Height="10" />
+ <Image Name="MiniHorzScrollLeftHover" XPos="236" YPos="55" Width="9" Height="10" />
+ <Image Name="MiniHorzScrollRightHover" XPos="235" YPos="67" Width="9" Height="10" />
+ <Image Name="ListboxLeft" XPos="41" YPos="89" Width="7" Height="6" />
+ <Image Name="ListboxRight" XPos="62" YPos="89" Width="7" Height="6" />
+ <Image Name="ListboxTop" XPos="52" YPos="78" Width="6" Height="7" />
+ <Image Name="ListboxBottom" XPos="52" YPos="99" Width="6" Height="7" />
+ <Image Name="ListboxTopLeft" XPos="41" YPos="78" Width="7" Height="7" />
+ <Image Name="ListboxTopRight" XPos="62" YPos="78" Width="7" Height="7" />
+ <Image Name="ListboxBottomLeft" XPos="41" YPos="99" Width="7" Height="7" />
+ <Image Name="ListboxBottomRight" XPos="62" YPos="99" Width="7" Height="7" />
+ <Image Name="ListboxBackdrop" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="ListboxSelectionBrush" XPos="8" YPos="70" Width="16" Height="16" />
+ <Image Name="ComboboxEditLeft" XPos="138" YPos="2" Width="8" Height="16" />
+ <Image Name="ComboboxEditMiddle" XPos="148" YPos="2" Width="8" Height="16" />
+ <Image Name="ComboboxListButtonNormal" XPos="158" YPos="2" Width="16" Height="16" />
+ <Image Name="ComboboxListButtonHover" XPos="158" YPos="20" Width="16" Height="16" />
+ <Image Name="ComboboxListLeft" XPos="138" YPos="48" Width="8" Height="8" />
+ <Image Name="ComboboxListRight" XPos="158" YPos="48" Width="8" Height="8" />
+ <Image Name="ComboboxListTop" XPos="148" YPos="48" Width="8" Height="8" />
+ <Image Name="ComboboxListBottom" XPos="148" YPos="58" Width="8" Height="8" />
+ <Image Name="ComboboxListTopLeft" XPos="138" YPos="38" Width="8" Height="8" />
+ <Image Name="ComboboxListTopRight" XPos="158" YPos="38" Width="8" Height="8" />
+ <Image Name="ComboboxListBottomLeft" XPos="138" YPos="58" Width="8" Height="8" />
+ <Image Name="ComboboxListBottomRight" XPos="158" YPos="58" Width="8" Height="8" />
+ <Image Name="ComboboxListBackdrop" XPos="148" YPos="48" Width="8" Height="8" />
+ <Image Name="ComboboxSelectionBrush" XPos="8" YPos="70" Width="16" Height="16" />
+ <Image Name="ComboboxDividerLeft" XPos="138" YPos="68" Width="14" Height="1" />
+ <Image Name="ComboboxDividerMiddle" XPos="154" YPos="68" Width="8" Height="1" />
+ <Image Name="ComboboxDividerRight" XPos="164" YPos="68" Width="14" Height="1" />
+ <Image Name="HeaderBarBackdropNormal" XPos="230" YPos="163" Width="10" Height="12" />
+ <Image Name="HeaderBarBackdropHover" XPos="230" YPos="163" Width="10" Height="12" />
+ <Image Name="HeaderBarSplitterNormal" XPos="225" YPos="92" Width="3" Height="16" />
+ <Image Name="HeaderBarSplitterHover" XPos="200" YPos="92" Width="3" Height="16" />
+ <Image Name="HeaderBarSortUp" XPos="233" YPos="178" Width="8" Height="8" />
+ <Image Name="HeaderBarSortDown" XPos="244" YPos="178" Width="8" Height="8" />
+ <Image Name="MultiListLeft" XPos="170" YPos="92" Width="7" Height="6" />
+ <Image Name="MultiListRight" XPos="191" YPos="92" Width="7" Height="6" />
+ <Image Name="MultiListTop" XPos="181" YPos="81" Width="6" Height="7" />
+ <Image Name="MultiListBottom" XPos="181" YPos="102" Width="6" Height="7" />
+ <Image Name="MultiListTopLeft" XPos="170" YPos="81" Width="7" Height="7" />
+ <Image Name="MultiListTopRight" XPos="191" YPos="81" Width="7" Height="7" />
+ <Image Name="MultiListBottomLeft" XPos="170" YPos="102" Width="7" Height="7" />
+ <Image Name="MultiListBottomRight" XPos="191" YPos="102" Width="7" Height="7" />
+ <Image Name="MultiListBackdrop" XPos="181" YPos="92" Width="6" Height="6" />
+ <Image Name="MultiListSelectionBrush" XPos="9" YPos="71" Width="14" Height="14" />
+ <Image Name="AltProgressLeft" XPos="71" YPos="88" Width="8" Height="12" />
+ <Image Name="AltProgressMiddle" XPos="81" YPos="88" Width="8" Height="12" />
+ <Image Name="AltProgressRight" XPos="91" YPos="88" Width="8" Height="12" />
+ <Image Name="AltProgressQuarter" XPos="102" YPos="89" Width="3" Height="4" />
+ <Image Name="AltProgressHalf" XPos="109" YPos="89" Width="4" Height="5" />
+ <Image Name="AltProgressLight1" XPos="100" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight2" XPos="106" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight3" XPos="112" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight4" XPos="118" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight5" XPos="124" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight6" XPos="130" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight7" XPos="136" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight8" XPos="142" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight9" XPos="148" YPos="97" Width="4" Height="8" />
+ <Image Name="AltProgressLight10" XPos="154" YPos="97" Width="4" Height="8" />
+ <Image Name="CloseButtonNormal" XPos="41" YPos="128" Width="16" Height="16" />
+ <Image Name="CloseButtonHover" XPos="41" YPos="146" Width="16" Height="16" />
+ <Image Name="CloseButtonPressed" XPos="41" YPos="164" Width="16" Height="16" />
+ <Image Name="NewCloseButtonNormal" XPos="90" YPos="146" Width="10" Height="10" />
+ <Image Name="NewCloseButtonHover" XPos="90" YPos="146" Width="10" Height="10" />
+ <Image Name="NewCloseButtonPressed" XPos="90" YPos="146" Width="10" Height="10" />
+ <Image Name="MultiLineEditboxLeft" XPos="41" YPos="89" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxRight" XPos="63" YPos="89" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxTop" XPos="52" YPos="78" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxBottom" XPos="52" YPos="100" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxTopLeft" XPos="41" YPos="78" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxTopRight" XPos="63" YPos="78" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxBottomLeft" XPos="41" YPos="100" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxBottomRight" XPos="63" YPos="100" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxBackdrop" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="MultiLineEditboxSelectionBrush" XPos="9" YPos="71" Width="14" Height="14" />
+ <Image Name="MouseTarget" XPos="182" YPos="127" Width="17" Height="17" XOffset="-8" YOffset="-8" />
+ <Image Name="MouseArrow" XPos="138" YPos="127" Width="31" Height="25" XOffset="0" YOffset="0" />
+ <Image Name="MouseMoveCursor" XPos="201" YPos="127" Width="18" Height="18" XOffset="-8" YOffset="-8" />
+ <Image Name="MouseNoSoCursor" XPos="221" YPos="127" Width="8" Height="18" XOffset="-3" YOffset="-8" />
+ <Image Name="MouseEsWeCursor" XPos="182" YPos="150" Width="18" Height="8" XOffset="-8" YOffset="-3" />
+ <Image Name="MouseNeSwCursor" XPos="201" YPos="147" Width="14" Height="14" XOffset="-7" YOffset="-7" />
+ <Image Name="MouseNwSeCursor" XPos="230" YPos="126" Width="14" Height="14" XOffset="-7" YOffset="-7" />
+ <Image Name="MouseTextBar" XPos="173" YPos="127" Width="7" Height="18" XOffset="-2" YOffset="-9" />
+ <Image Name="TabHorizontalFiller" XPos="197" YPos="201" Width="7" Height="1" />
+ <Image Name="TabContentPaneUpperLeft" XPos="41" YPos="78" Width="7" Height="7" />
+ <Image Name="TabContentPaneUpper" XPos="52" YPos="78" Width="6" Height="7" />
+ <Image Name="TabContentPaneUpperRight" XPos="62" YPos="78" Width="7" Height="7" />
+ <Image Name="TabContentPaneLeft" XPos="41" YPos="89" Width="7" Height="6" />
+ <Image Name="TabContentPaneRight" XPos="62" YPos="89" Width="7" Height="6" />
+ <Image Name="TabContentPaneLower" XPos="52" YPos="99" Width="6" Height="7" />
+ <Image Name="TabContentPaneLowerLeft" XPos="41" YPos="99" Width="7" Height="7" />
+ <Image Name="TabContentPaneLowerRight" XPos="62" YPos="99" Width="7" Height="7" />
+ <Image Name="TabContentPaneMiddle" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="TabButtonScrollLeftNormal" XPos="97" YPos="108" Width="16" Height="17" />
+ <Image Name="TabButtonScrollRightNormal" XPos="112" YPos="108" Width="16" Height="17" />
+ <Image Name="TabButtonScrollLeftHover" XPos="127" YPos="108" Width="16" Height="17" />
+ <Image Name="TabButtonScrollRightHover" XPos="142" YPos="108" Width="16" Height="17" />
+ <Image Name="TabButtonLeftNormal" XPos="41" YPos="89" Width="7" Height="6" />
+ <Image Name="TabButtonRightNormal" XPos="62" YPos="89" Width="7" Height="6" />
+ <Image Name="TabButtonUpperNormal" XPos="52" YPos="78" Width="6" Height="7" />
+ <Image Name="TabButtonLowerNormal" XPos="52" YPos="99" Width="6" Height="7" />
+ <Image Name="TabButtonUpperLeftNormal" XPos="41" YPos="78" Width="7" Height="7" />
+ <Image Name="TabButtonUpperLeft2Normal" XPos="186" YPos="164" Width="7" Height="7" />
+ <Image Name="TabButtonUpperRightNormal" XPos="62" YPos="78" Width="7" Height="7" />
+ <Image Name="TabButtonLowerLeftNormal" XPos="41" YPos="99" Width="7" Height="7" />
+ <Image Name="TabButtonLowerRightNormal" XPos="62" YPos="99" Width="7" Height="7" />
+ <Image Name="TabButtonLowerRight2Normal" XPos="187" YPos="195" Width="7" Height="7" />
+ <Image Name="TabButtonMiddleNormal" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="TabButtonLeftSelected" XPos="41" YPos="89" Width="7" Height="6" />
+ <Image Name="TabButtonRightSelected" XPos="62" YPos="89" Width="7" Height="6" />
+ <Image Name="TabButtonUpperSelected" XPos="52" YPos="78" Width="6" Height="7" />
+ <Image Name="TabButtonLowerSelected" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="TabButtonUpperLeftSelected" XPos="41" YPos="78" Width="7" Height="7" />
+ <Image Name="TabButtonUpperRightSelected" XPos="62" YPos="78" Width="7" Height="7" />
+ <Image Name="TabButtonLowerLeftSelected" XPos="41" YPos="99" Width="7" Height="7" />
+ <Image Name="TabButtonLowerRightSelected" XPos="62" YPos="99" Width="7" Height="7" />
+ <Image Name="TabButtonMiddleSelected" XPos="52" YPos="89" Width="6" Height="6" />
+ <Image Name="TooltipTopLeft" XPos="61" YPos="160" Width="4" Height="4" />
+ <Image Name="TooltipTopRight" XPos="85" YPos="160" Width="5" Height="4" />
+ <Image Name="TooltipBottomLeft" XPos="61" YPos="184" Width="4" Height="5" />
+ <Image Name="TooltipBottomRight" XPos="85" YPos="184" Width="5" Height="5" />
+ <Image Name="TooltipLeftEdge" XPos="61" YPos="171" Width="4" Height="6" />
+ <Image Name="TooltipRightEdge" XPos="85" YPos="171" Width="5" Height="6" />
+ <Image Name="TooltipTopEdge" XPos="72" YPos="160" Width="6" Height="4" />
+ <Image Name="TooltipBottomEdge" XPos="72" YPos="184" Width="6" Height="5" />
+ <Image Name="TooltipMiddle" XPos="72" YPos="171" Width="6" Height="6" />
+ <Image Name="MenuTopLeft" XPos="166" YPos="204" Width="2" Height="2" />
+ <Image Name="MenuTopRight" XPos="175" YPos="204" Width="3" Height="2" />
+ <Image Name="MenuBottomLeft" XPos="166" YPos="213" Width="2" Height="3" />
+ <Image Name="MenuBottomRight" XPos="175" YPos="213" Width="3" Height="3" />
+ <Image Name="MenuLeft" XPos="166" YPos="209" Width="2" Height="1" />
+ <Image Name="MenuRight" XPos="175" YPos="209" Width="3" Height="1" />
+ <Image Name="MenuTop" XPos="171" YPos="204" Width="1" Height="2" />
+ <Image Name="MenuBottom" XPos="171" YPos="213" Width="1" Height="3" />
+ <Image Name="MenuMiddle" XPos="171" YPos="209" Width="1" Height="1" />
+ <Image Name="PopupMenuFrameTopLeft" XPos="186" YPos="204" Width="2" Height="2" />
+ <Image Name="PopupMenuFrameTopRight" XPos="195" YPos="204" Width="4" Height="2" />
+ <Image Name="PopupMenuFrameBottomLeft" XPos="186" YPos="213" Width="2" Height="4" />
+ <Image Name="PopupMenuFrameBottomRight" XPos="195" YPos="213" Width="4" Height="4" />
+ <Image Name="PopupMenuFrameLeft" XPos="186" YPos="209" Width="2" Height="1" />
+ <Image Name="PopupMenuFrameRight" XPos="195" YPos="209" Width="4" Height="1" />
+ <Image Name="PopupMenuFrameTop" XPos="191" YPos="204" Width="1" Height="2" />
+ <Image Name="PopupMenuFrameBottom" XPos="191" YPos="213" Width="1" Height="4" />
+ <Image Name="PopupMenuMiddle" XPos="191" YPos="209" Width="1" Height="1" />
+ <Image Name="PopupMenuArrowRight" XPos="179" YPos="204" Width="5" Height="5" />
+ <Image Name="PopupMenuArrowLeft" XPos="179" YPos="210" Width="5" Height="5" />
+</Imageset>
diff --git a/navit/gui/sdl/datafiles/imagesets/TaharezLook.tga b/navit/gui/sdl/datafiles/imagesets/TaharezLook.tga
new file mode 100755
index 000000000..9659b7fba
--- /dev/null
+++ b/navit/gui/sdl/datafiles/imagesets/TaharezLook.tga
Binary files differ
diff --git a/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga b/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga
new file mode 100644
index 000000000..f617b78d9
--- /dev/null
+++ b/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga
Binary files differ
diff --git a/navit/gui/sdl/datafiles/layouts/GUILayout.xsd b/navit/gui/sdl/datafiles/layouts/GUILayout.xsd
new file mode 100644
index 000000000..0a3a5b9cf
--- /dev/null
+++ b/navit/gui/sdl/datafiles/layouts/GUILayout.xsd
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+
+ <xsd:element name="GUILayout" type="GUILayoutType"/>
+
+ <xsd:complexType name="GUILayoutType">
+ <xsd:sequence>
+ <xsd:element name="Window" type="WindowType" />
+ </xsd:sequence>
+ <xsd:attribute name="Parent" type="xsd:string" use="optional" default=""/>
+ </xsd:complexType>
+
+ <xsd:complexType name="WindowType">
+ <xsd:sequence>
+ <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Window" type="WindowType" />
+ <xsd:element name="AutoWindow" type="AutoWindowType" />
+ </xsd:choice>
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Type" type="xsd:string" use="required"/>
+ <xsd:attribute name="Name" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+
+ <xsd:complexType name="AutoWindowType">
+ <xsd:sequence>
+ <xsd:element name="LayoutImport" type="LayoutImportType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Window" type="WindowType" />
+ <xsd:element name="AutoWindow" type="AutoWindowType" />
+ </xsd:choice>
+ <xsd:element name="Property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="NameSuffix" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="PropertyType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="Value" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="LayoutImportType">
+ <xsd:attribute name="Filename" type="xsd:string" use="required"/>
+ <xsd:attribute name="Prefix" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+
+ <xsd:complexType name="EventType">
+ <xsd:attribute name="Name" type="xsd:string" use="required"/>
+ <xsd:attribute name="Function" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+</xsd:schema>
+
diff --git a/navit/gui/sdl/datafiles/layouts/Mineque.layout b/navit/gui/sdl/datafiles/layouts/Mineque.layout
new file mode 100644
index 000000000..58f6e0739
--- /dev/null
+++ b/navit/gui/sdl/datafiles/layouts/Mineque.layout
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+ <!-- The main window. Everything has to be a child of it. -->
+ <Window Type="DefaultWindow" Name="Navit" >
+ <Property Name="InheritsAlpha" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+
+ <!-- Items for the Bottom Panel -->
+ <Window Type="NavitGrey/StaticImage" Name="BottomPanel" >
+ <Property Name="Image" Value="set:Mineque-Black image:BottomStreetPanel" />
+ <Property Name="UnifiedAreaRect" Value="{{0,1},{0,550},{0,660},{0,600}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/StaticText" Name="Navit/Routing/Tips" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="Visible" Value="True" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,60},{0,565},{0,600},{0,598}}" />
+ </Window>
+
+ <!-- Items for the Right Panel -->
+ <Window Type="NavitGrey/StaticImage" Name="RightPanel" >
+ <Property Name="Image" Value="set:Mineque-Black image:RightPanel" />
+ <Property Name="UnifiedAreaRect" Value="{{0,635},{0,0},{0,800},{0,600}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+
+ <Window Type="NavitGrey/ViewModeSwitchButton" Name="OSD/ViewMode" >
+ <Property Name="UnifiedAreaRect" Value="{{0,702},{0,502},{0,800},{0,600}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/ZoomInButton" Name="ZoomInButton" >
+ <Property Name="UnifiedAreaRect" Value="{{0,707},{0,469},{0,800},{0,532}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/ZoomOutButton" Name="ZoomOutButton" >
+ <Property Name="UnifiedAreaRect" Value="{{0,669},{0,507},{0,731},{0,600}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+
+ <Window Type="NavitGrey/StaticText" Name="OSD/SpeedoMeterLabel" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="Text" Value="Speed" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0,670},{0,100},{0,800},{0,128}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticText" Name="OSD/SpeedoMeter" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0,670},{0,120},{0,800},{0,150}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticText" Name="OSD/AltimeterLabel" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="Text" Value="Alt." />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0,670},{0,148},{0,800},{0,176}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticText" Name="OSD/Altimeter" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0,670},{0,164},{0,800},{0,194}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticText" Name="OSD/Satellites" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0,670},{0,196},{0,800},{0,226}}" />
+ </Window>
+
+
+
+ <Window Type="TaharezLook/LargeVerticalScrollbar" Name="OSD/Scrollbar1" >
+ <Property Name="PageSize" Value="0" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="StepSize" Value="200" />
+ <Property Name="DocumentSize" Value="2000" />
+ <Property Name="ScrollPosition" Value="400" />
+ <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,770},{0,300},{0,790},{0,450}}" />
+ </Window>
+
+
+ <!-- Items for the Top Panel -->
+ <Window Type="NavitGrey/StaticImage" Name="TopPanel" >
+ <Property Name="Image" Value="set:Mineque-Black image:TopPanel" />
+ <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{0,800},{0,64}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/QuitButton" Name="OSD/Quit" >
+ <Property Name="UnifiedAreaRect" Value="{{0,8},{0,4},{0,37},{0,34}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/RouteButton" Name="DestinationButton" >
+ <Property Name="UnifiedAreaRect" Value="{{0,152},{0,1},{0,188},{0,36}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteImage" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteImage" />
+ <Property Name="UnifiedAreaRect" Value="{{0,672},{0,7},{0,702},{0,45}}" />
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ </Window>
+
+ <Window Type="NavitGrey/OptionsButton" Name="OptionsButton" >
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0,79},{0,5},{0,116},{0,30}}" />
+ </Window>
+
+
+ <Window Type="NavitGrey/SpeakerButton" Name="OSD/nGhostButton" >
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0,632},{0,9},{0,660},{0,45}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteStrenghBar1" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteStrenghBarOff" />
+ <Property Name="UnifiedAreaRect" Value="{{0,707},{0,12},{0,724},{0,44}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteStrenghBar2" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteStrenghBarOff" />
+ <Property Name="UnifiedAreaRect" Value="{{0,722},{0,12},{0,739},{0,44}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteStrenghBar3" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteStrenghBarOff" />
+ <Property Name="UnifiedAreaRect" Value="{{0,737},{0,12},{0,754},{0,44}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteStrenghBar4" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteStrenghBarOff" />
+ <Property Name="UnifiedAreaRect" Value="{{0,752},{0,12},{0,769},{0,44}}" />
+ </Window>
+ <Window Type="NavitGrey/StaticImage" Name="SateliteStrenghBar5" >
+ <Property Name="Image" Value="set:Mineque-Black image:SateliteStrenghBarOff" />
+ <Property Name="UnifiedAreaRect" Value="{{0,767},{0,12},{0,784},{0,44}}" />
+ </Window>
+<!-- <Window Type="NavitGrey/NavitAboutButton" Name="NavitAboutButton"> -->
+ <Window Type="NavitGrey/NavitAboutButton" Name="OSD/RoadbookButton">
+ <Property Name="ZOrderChangeEnabled" value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0,361},{0,13},{0,443},{0,38}}" />
+ </Window>
+
+
+ <!-- The Destination window and its controls -->
+ <Window Type="TaharezLook/FrameWindow" Name="DestinationWindow" >
+ <Property Name="Text" Value="Choose your destination" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.001,0},{0.07,0},{0.8,0},{0.9,0}}" />
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Country" >
+ <Property Name="Text" Value="Country :" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.05,0},{0.271871,0},{0.1,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="DestinationWindow/CountryEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.05,0},{0.9,0},{0.1,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Town" >
+ <Property Name="Text" Value="Town : " />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.11,0},{0.275,0},{0.16,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="DestinationWindow/TownEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.11,0},{0.9,0},{0.16,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Street" >
+ <Property Name="Text" Value="Street : " />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.17,0},{0.275,0},{0.22,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="DestinationWindow/StreetEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.17,0},{0.9,0},{0.22,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Label1" >
+ <Property Name="Text" Value="Pick your choice :" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.23,0},{0.9,0},{0.28,0}}" />
+ </Window>
+ <Window Type="TaharezLook/MultiColumnList" Name="DestinationWindow/Listbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.29,0},{0.945,0},{0.905842,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="DestinationWindow/KB" >
+ <Property Name="Text" Value="Keyboard" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.54,0},{0.92,0},{0.70,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="DestinationWindow/GO" >
+ <Property Name="Text" Value="Go!" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.72,0},{0.92,0},{0.97,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Dest_x" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.92,0},{0.12,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="DestinationWindow/Dest_y" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.12,0},{0.92,0},{0.23,0},{0.98,0}}" />
+ </Window>
+
+ </Window>
+
+ <!-- The RoadBook window, which use the old skin -->
+ <Window Type="TaharezLook/FrameWindow" Name="Navit/RoadBook" >
+ <Property Name="Alpha" Value="0.85" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="Text" Value="Road Book" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.02,0},{0.99,0},{0.87,0}}" />
+ <Window Type="TaharezLook/MultiColumnList" Name="Roadbook" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.05,0},{0.99,0},{0.93,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="RoadBook/ETA" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.94,0},{0.7,0},{0.99,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="OSD/RoadbookButton2" >
+ <Property Name="Text" Value="Close" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.94,0},{0.99,0},{0.99,0}}" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Navit/Keyboard" >
+ <Property Name="Alpha" Value="0.85" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.5,0},{0.99,0},{0.87,0}}" />
+ <Window Type="TaharezLook/StaticText" Name="Navit/Keyboard/Input" >
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.80,0},{0.7,0},{0.95,0}}" />
+ </Window>
+ </Window>
+
+ <!-- These arrows will be used later, to move the map
+ <Window Type="NavitGrey/ArrowLeft" Name="ArrowLeft" >
+ <Property Name="UnifiedAreaRect" Value="{{0,},{0,0},{0,39},{0,34}}" />
+ </Window>
+ <Window Type="NavitGrey/ArrowTop" Name="ArrowTop" >
+ <Property Name="UnifiedAreaRect" Value="{{0,},{0,0},{0,34},{0,39}}" />
+ </Window>
+ <Window Type="NavitGrey/ArrowRight" Name="ArrowRight" >
+ <Property Name="UnifiedAreaRect" Value="{{0,},{0,0},{0,39},{0,34}}" />
+ </Window>
+ <Window Type="NavitGrey/ArrowDown" Name="ArrowDown" >
+ <Property Name="TitlebarEnabled" Value="False" />
+ <Property Name="UnifiedAreaRect" Value="{{0,},{0,0},{0,34},{0,39}}" />
+ </Window>
+ -->
+
+
+ </Window> <!-- Navit window -->
+</GUILayout>
diff --git a/navit/gui/sdl/datafiles/layouts/TaharezLook.layout b/navit/gui/sdl/datafiles/layouts/TaharezLook.layout
new file mode 100755
index 000000000..351dfbed0
--- /dev/null
+++ b/navit/gui/sdl/datafiles/layouts/TaharezLook.layout
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<GUILayout >
+ <Window Type="DefaultWindow" Name="Navit" >
+ <Property Name="InheritsAlpha" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1,0},{1,0}}" />
+
+ <Window Type="TaharezLook/FrameWindow" Name="DestinationChoose" >
+ <Property Name="Text" Value="Choose your destination" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.001,0},{0.1,0},{0.8,0},{0.4,0}}" />
+ <Window Type="TaharezLook/Button" Name="DestinationWindow/Address" >
+ <Property Name="Text" Value="Search Address" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.2,0},{0.26,0},{0.8,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="DestinationWindow/Bookmark" >
+ <Property Name="Text" Value="Bookmark" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.32,0},{0.2,0},{0.57,0},{0.8,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="DestinationWindow/FormerDest" >
+ <Property Name="Text" Value="FormerDest" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.62,0},{0.2,0},{0.87,0},{0.8,0}}" />
+ </Window>
+
+ </Window>
+
+
+ <Window Type="TaharezLook/FrameWindow" Name="BookmarkSelection" >
+ <Property Name="Text" Value="Choose your destination" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.001,0},{0.07,0},{0.8,0},{0.9,0}}" />
+ <Window Type="TaharezLook/MultiColumnList" Name="Bookmarks/Listbox" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.9,0}}" />
+ </Window>
+ </Window>
+
+ <Window Type="TaharezLook/FrameWindow" Name="FormerDestSelection" >
+ <Property Name="Text" Value="Choose your destination" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.001,0},{0.07,0},{0.8,0},{0.9,0}}" />
+ <Window Type="TaharezLook/MultiColumnList" Name="FormerDests/Listbox" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="UnifiedAreaRect" Value="{{0.05,0},{0.15,0},{0.95,0},{0.9,0}}" />
+ </Window>
+ </Window>
+
+ <Window Type="TaharezLook/FrameWindow" Name="AdressSearchWindow" >
+ <Property Name="Text" Value="Choose your destination" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.001,0},{0.07,0},{0.8,0},{0.9,0}}" />
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Country" >
+ <Property Name="Text" Value="Country :" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.05,0},{0.271871,0},{0.1,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="AdressSearch/CountryEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.05,0},{0.9,0},{0.1,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Town" >
+ <Property Name="Text" Value="Town : " />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.11,0},{0.275,0},{0.16,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="AdressSearch/TownEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.11,0},{0.9,0},{0.16,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Street" >
+ <Property Name="Text" Value="Street : " />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.17,0},{0.275,0},{0.22,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Editbox" Name="AdressSearch/StreetEditbox" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.3,0},{0.17,0},{0.9,0},{0.22,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Label1" >
+ <Property Name="Text" Value="Pick your choice :" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.23,0},{0.9,0},{0.28,0}}" />
+ </Window>
+ <Window Type="TaharezLook/MultiColumnList" Name="AdressSearch/Listbox" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.29,0},{0.945,0},{0.905842,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="AdressSearch/KB" >
+ <Property Name="Text" Value="Keyboard" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.54,0},{0.92,0},{0.70,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="AdressSearch/GO" >
+ <Property Name="Text" Value="Go!" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.72,0},{0.92,0},{0.97,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Dest_x" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.92,0},{0.12,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="AdressSearch/Dest_y" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.12,0},{0.92,0},{0.23,0},{0.98,0}}" />
+ </Window>
+ </Window>
+
+ <Window Type="TaharezLook/StaticText" Name="Navit/Routing/Tips" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="Text" Value="No destination set." />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.88,0},{0.77,0},{0.98,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="Navit/Routing/CurrentRoadName" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="Alpha" Value="0.7" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedAreaRect" Value="{{0.02,0},{0.001,0},{0.77,0},{0.07,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="DestinationButton" >
+ <Property Name="Text" Value="Destination" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.01,0},{0.99,0},{0.06,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="OSD/SpeedoMeter" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.06,0},{0.99,0},{0.11,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="OSD/Altimeter" >
+ <Property Name="Font" Value="DejaVuSans-14" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.11,0},{0.99,0},{0.16,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="OSD/Satellites" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.16,0},{0.99,0},{0.21,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="OSD/Coords" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.21,0},{0.99,0},{0.26,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="ZoomInButton" >
+ <Property Name="Text" Value="ZoomIn" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.26,0},{0.99,0},{0.31,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="ZoomOutButton" >
+ <Property Name="Text" Value="ZoomOut" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.31,0},{0.99,0},{0.36,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="OSD/RoadbookButton" >
+ <Property Name="Text" Value="RoadBook" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.36,0},{0.99,0},{0.41,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="OSD/ETA" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.41,0},{0.99,0},{0.51,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="OSD/nGhostButton" >
+ <Property Name="Text" Value="Media" />
+ <Property Name="Visible" Value="True" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.51,0},{0.99,0},{0.56,0}}" />
+ </Window>
+
+ <Window Type="TaharezLook/LargeVerticalScrollbar" Name="OSD/Scrollbar1" >
+ <Property Name="PageSize" Value="0" />
+ <Property Name="OverlapSize" Value="0" />
+ <Property Name="DocumentSize" Value="2000" />
+ <Property Name="ScrollPosition" Value="400" />
+ <Property Name="UnifiedMaxSize" Value="{{0.03,0},{1,0}}" />
+ <Property Name="UnifiedMinSize" Value="{{0.01,0},{0.1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.94,0},{0.58,0},{0.99,0},{0.85,0}}" />
+ </Window>
+
+
+ <Window Type="TaharezLook/Button" Name="OSD/ViewMode" >
+ <Property Name="Text" Value="3D" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.87,0},{0.99,0},{0.93,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="OSD/Quit" >
+ <Property Name="Text" Value="Quit" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.93,0},{0.99,0},{0.99,0}}" />
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Navit/ProgressWindow" >
+ <Property Name="Text" Value="Calculating the route" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="TitlebarEnabled" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.137865,0},{0.775,0},{0.729668,0},{0.888333,0}}" />
+ <Window Type="TaharezLook/ProgressBar" Name="Navit/ProgressWindow/Bar" >
+ <Property Name="StepSize" Value="0.01" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="CurrentProgress" Value="0" />
+ <Property Name="UnifiedAreaRect" Value="{{0.0920548,0},{0.513128,0},{0.872384,0},{0.921541,0}}" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Navit/RoadBook" >
+ <Property Name="Alpha" Value="0.85" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="Text" Value="Road Book" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.02,0},{0.99,0},{0.87,0}}" />
+ <Window Type="TaharezLook/MultiColumnList" Name="Roadbook" >
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.05,0},{0.99,0},{0.93,0}}" />
+ </Window>
+ <Window Type="TaharezLook/StaticText" Name="RoadBook/ETA" >
+ <Property Name="Font" Value="DejaVuSans-12" />
+ <Property Name="HorzFormatting" Value="WordWrapCentred" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.1,0},{0.94,0},{0.7,0},{0.99,0}}" />
+ </Window>
+ <Window Type="TaharezLook/Button" Name="OSD/RoadbookButton2" >
+ <Property Name="Text" Value="Close" />
+ <Property Name="UnifiedMaxSize" Value="{{1,0},{1,0}}" />
+ <Property Name="UnifiedAreaRect" Value="{{0.8,0},{0.94,0},{0.99,0},{0.99,0}}" />
+ </Window>
+ </Window>
+ <Window Type="TaharezLook/FrameWindow" Name="Navit/Keyboard" >
+ <Property Name="Alpha" Value="0.85" />
+ <Property Name="Visible" Value="False" />
+ <Property Name="AlwaysOnTop" Value="True" />
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.5,0},{0.99,0},{0.87,0}}" />
+ <Window Type="TaharezLook/StaticText" Name="Navit/Keyboard/Input" >
+ <Property Name="UnifiedAreaRect" Value="{{0.01,0},{0.80,0},{0.7,0},{0.95,0}}" />
+ </Window>
+ </Window>
+ </Window>
+</GUILayout>
diff --git a/navit/gui/sdl/datafiles/looknfeel/Falagard.xsd b/navit/gui/sdl/datafiles/looknfeel/Falagard.xsd
new file mode 100644
index 000000000..590de6bc9
--- /dev/null
+++ b/navit/gui/sdl/datafiles/looknfeel/Falagard.xsd
@@ -0,0 +1,399 @@
+<?xml version="1.0" ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xsd:element name="Falagard" type="falagardSpecificationType" />
+ <xsd:complexType name="falagardSpecificationType">
+ <xsd:sequence>
+ <xsd:element name="WidgetLook" type="widgetLookType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="widgetLookType">
+ <xsd:sequence>
+ <xsd:element name="PropertyDefinition" type="propertyDefinitionType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="PropertyLinkDefinition" type="propertyLinkDefinitionType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="NamedArea" type="namedAreaType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="Child" type="widgetComponentType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="ImagerySection" type="imagerySectionType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="StateImagery" type="stateType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="propertyDefinitionType">
+ <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" />
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" />
+ <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" />
+ </xsd:complexType>
+ <xsd:complexType name="propertyLinkDefinitionType">
+ <xsd:attribute name="type" type="propertyTypeEnum" use="optional" default="Generic" />
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="widget" type="xsd:string" use="required" />
+ <xsd:attribute name="targetProperty" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="initialValue" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="layoutOnWrite" type="xsd:boolean" use="optional" default="false" />
+ <xsd:attribute name="redrawOnWrite" type="xsd:boolean" use="optional" default="false" />
+ </xsd:complexType>
+ <xsd:complexType name="namedAreaType">
+ <xsd:sequence>
+ <xsd:element name="Area" type="componentAreaType" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="stateType">
+ <xsd:sequence>
+ <xsd:element name="Layer" type="layerType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="clipped" type="xsd:boolean" use="optional" default="true" />
+ </xsd:complexType>
+ <xsd:complexType name="layerType">
+ <xsd:sequence>
+ <xsd:element name="Section" type="sectionSpecType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="priority" type="xsd:integer" use="optional" default="0" />
+ </xsd:complexType>
+ <xsd:complexType name="sectionSpecType">
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="Colour" type="colourType" />
+ <xsd:element name="Colours" type="colourRectType" />
+ <xsd:element name="ColourProperty" type="settingByPropertyType" />
+ <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:attribute name="look" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="section" type="xsd:string" use="required" />
+ <xsd:attribute name="controlProperty" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="imagerySectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="Colour" type="colourType" />
+ <xsd:element name="Colours" type="colourRectType" />
+ <xsd:element name="ColourProperty" type="settingByPropertyType" />
+ <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:element name="FrameComponent" type="frameComponentType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="ImageryComponent" type="imageryComponentType" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="TextComponent" type="textComponentType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="frameComponentType">
+ <xsd:sequence>
+ <xsd:element name="Area" type="componentAreaType" />
+ <xsd:element name="Image" type="frameImageType" minOccurs="0" maxOccurs="9" />
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="Colour" type="colourType" />
+ <xsd:element name="Colours" type="colourRectType" />
+ <xsd:element name="ColourProperty" type="settingByPropertyType" />
+ <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="VertFormat" type="vertFormatType" />
+ <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="HorzFormat" type="horzFormatType" />
+ <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="textComponentType">
+ <xsd:sequence>
+ <xsd:element name="Area" type="componentAreaType" />
+ <xsd:element name="Text" type="textStringType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TextProperty" type="textPropertyType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FontProperty" type="fontPropertyType" minOccurs="0" maxOccurs="1" />
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="Colour" type="colourType" />
+ <xsd:element name="Colours" type="colourRectType" />
+ <xsd:element name="ColourProperty" type="settingByPropertyType" />
+ <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="VertFormat" type="vertTextFormatType" />
+ <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="HorzFormat" type="horzTextFormatType" />
+ <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="imageryComponentType">
+ <xsd:sequence>
+ <xsd:element name="Area" type="componentAreaType" />
+ <xsd:choice>
+ <xsd:element name="Image" type="imageType" />
+ <xsd:element name="ImageProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="Colour" type="colourType" />
+ <xsd:element name="Colours" type="colourRectType" />
+ <xsd:element name="ColourProperty" type="settingByPropertyType" />
+ <xsd:element name="ColourRectProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="VertFormat" type="vertFormatType" />
+ <xsd:element name="VertFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element name="HorzFormat" type="horzFormatType" />
+ <xsd:element name="HorzFormatProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="widgetComponentType">
+ <xsd:sequence>
+ <xsd:element name="Area" type="componentAreaType" />
+ <xsd:element name="VertAlignment" type="vertAlignmentType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="HorzAlignment" type="horzAlignmentType" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Property" type="propertyType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:string" use="required" />
+ <xsd:attribute name="nameSuffix" type="xsd:string" use="required" />
+ <xsd:attribute name="renderer" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="look" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="horzFormatType">
+ <xsd:attribute name="type" type="horzFormatEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="vertFormatType">
+ <xsd:attribute name="type" type="vertFormatEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="horzTextFormatType">
+ <xsd:attribute name="type" type="horzTextFormatEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="vertTextFormatType">
+ <xsd:attribute name="type" type="vertTextFormatEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="horzAlignmentType">
+ <xsd:attribute name="type" type="horzAlignmentEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="vertAlignmentType">
+ <xsd:attribute name="type" type="vertAlignmentEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="propertyType">
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="value" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="imageType">
+ <xsd:attribute name="imageset" type="xsd:string" use="required" />
+ <xsd:attribute name="image" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="frameImageType">
+ <xsd:attribute name="type" type="frameImageComponentEnum" use="required" />
+ <xsd:attribute name="imageset" type="xsd:string" use="required" />
+ <xsd:attribute name="image" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="componentAreaType">
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="Dim" type="dimensionType" minOccurs="4" maxOccurs="4" />
+ </xsd:sequence>
+ <xsd:element name="AreaProperty" type="settingByPropertyType" />
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="dimensionType">
+ <xsd:choice>
+ <xsd:element name="UnifiedDim" type="unifiedDimType" />
+ <xsd:element name="AbsoluteDim" type="absoluteDimType" />
+ <xsd:element name="ImageDim" type="imageDimType" />
+ <xsd:element name="WidgetDim" type="widgetDimType" />
+ <xsd:element name="FontDim" type="fontDimType" />
+ <xsd:element name="PropertyDim" type="propertyDimType" />
+ </xsd:choice>
+ <xsd:attribute name="type" type="dimensionTypeEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="fontDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="font" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="string" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="type" type="fontMetricTypeEnum" use="required" />
+ <xsd:attribute name="padding" type="xsd:decimal" use="optional" default="0" />
+ </xsd:complexType>
+ <xsd:complexType name="propertyDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="type" type="propertyDimensionTypeEnum" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="unifiedDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="scale" type="xsd:decimal" use="optional" default="0" />
+ <xsd:attribute name="offset" type="xsd:integer" use="optional" default="0" />
+ <xsd:attribute name="type" type="dimensionTypeEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="absoluteDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="value" type="xsd:decimal" use="optional" default="0" />
+ </xsd:complexType>
+ <xsd:complexType name="imageDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="imageset" type="xsd:string" use="required" />
+ <xsd:attribute name="image" type="xsd:string" use="required" />
+ <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="widgetDimType">
+ <xsd:sequence>
+ <xsd:element name="DimOperator" type="dimensionOperatorType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="widget" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="dimension" type="dimensionTypeEnum" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="settingByPropertyType">
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="colourRectType">
+ <xsd:attribute name="topLeft" type="colourValType" use="required" />
+ <xsd:attribute name="topRight" type="colourValType" use="required" />
+ <xsd:attribute name="bottomLeft" type="colourValType" use="required" />
+ <xsd:attribute name="bottomRight" type="colourValType" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="colourType">
+ <xsd:attribute name="colour" type="colourValType" use="required" />
+ </xsd:complexType>
+ <xsd:simpleType name="colourValType">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="[a-fA-F0-9]{8}" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="textStringType">
+ <xsd:attribute name="string" type="xsd:string" use="optional" default="" />
+ <xsd:attribute name="font" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="textPropertyType">
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="fontPropertyType">
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="dimensionOperatorType">
+ <xsd:choice>
+ <xsd:element name="UnifiedDim" type="unifiedDimType" />
+ <xsd:element name="AbsoluteDim" type="absoluteDimType" />
+ <xsd:element name="ImageDim" type="imageDimType" />
+ <xsd:element name="WidgetDim" type="widgetDimType" />
+ <xsd:element name="FontDim" type="fontDimType" />
+ <xsd:element name="PropertyDim" type="propertyDimType" />
+ </xsd:choice>
+ <xsd:attribute name="op" type="dimensionOperatorEnum" use="required" />
+ </xsd:complexType>
+ <xsd:simpleType name="propertyDimensionTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="" />
+ <xsd:enumeration value="Width" />
+ <xsd:enumeration value="Height" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="dimensionTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LeftEdge" />
+ <xsd:enumeration value="TopEdge" />
+ <xsd:enumeration value="RightEdge" />
+ <xsd:enumeration value="BottomEdge" />
+ <xsd:enumeration value="XPosition" />
+ <xsd:enumeration value="YPosition" />
+ <xsd:enumeration value="Width" />
+ <xsd:enumeration value="Height" />
+ <xsd:enumeration value="XOffset" />
+ <xsd:enumeration value="YOffset" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="vertFormatEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="TopAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ <xsd:enumeration value="BottomAligned" />
+ <xsd:enumeration value="Stretched" />
+ <xsd:enumeration value="Tiled" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="horzFormatEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LeftAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ <xsd:enumeration value="RightAligned" />
+ <xsd:enumeration value="Stretched" />
+ <xsd:enumeration value="Tiled" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="vertAlignmentEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="TopAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ <xsd:enumeration value="BottomAligned" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="horzAlignmentEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LeftAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ <xsd:enumeration value="RightAligned" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="horzTextFormatEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LeftAligned" />
+ <xsd:enumeration value="RightAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ <xsd:enumeration value="Justified" />
+ <xsd:enumeration value="WordWrapLeftAligned" />
+ <xsd:enumeration value="WordWrapRightAligned" />
+ <xsd:enumeration value="WordWrapCentreAligned" />
+ <xsd:enumeration value="WordWrapJustified" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="vertTextFormatEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="TopAligned" />
+ <xsd:enumeration value="BottomAligned" />
+ <xsd:enumeration value="CentreAligned" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="propertyTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Generic" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="fontMetricTypeEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="LineSpacing" />
+ <xsd:enumeration value="Baseline" />
+ <xsd:enumeration value="HorzExtent" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="dimensionOperatorEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Noop" />
+ <xsd:enumeration value="Add" />
+ <xsd:enumeration value="Subtract" />
+ <xsd:enumeration value="Multiply" />
+ <xsd:enumeration value="Divide" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="frameImageComponentEnum">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Background" />
+ <xsd:enumeration value="TopLeftCorner" />
+ <xsd:enumeration value="TopRightCorner" />
+ <xsd:enumeration value="BottomLeftCorner" />
+ <xsd:enumeration value="BottomRightCorner" />
+ <xsd:enumeration value="LeftEdge" />
+ <xsd:enumeration value="RightEdge" />
+ <xsd:enumeration value="TopEdge" />
+ <xsd:enumeration value="BottomEdge" />
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/navit/gui/sdl/datafiles/looknfeel/Mineque.looknfeel b/navit/gui/sdl/datafiles/looknfeel/Mineque.looknfeel
new file mode 100755
index 000000000..dc649600d
--- /dev/null
+++ b/navit/gui/sdl/datafiles/looknfeel/Mineque.looknfeel
@@ -0,0 +1,1476 @@
+<?xml version="1.0" ?>
+<Falagard>
+
+ <WidgetLook name="NavitGrey/StaticShared">
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+<!-- <Image type="TopLeftCorner" imageset="TaharezLook" image="StaticTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="StaticTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="StaticBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="StaticBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="StaticLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="StaticRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="StaticTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="StaticBottom" />-->
+ <ColourRectProperty name="FrameColours" />
+ </FrameComponent>
+ </ImagerySection>
+
+ <ImagerySection name="background">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+<!-- <Image imageset="TaharezLook" image="StaticBackdrop" /> -->
+ <!--<ColourRectProperty name="BackgroundColours" />-->
+<!-- <Colours topLeft="FFFFFFFF" topRight="FFFFFFFF" bottomLeft="FFFFFFFF" bottomRight="FFFFFFFF" /> -->
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+
+
+ <ImagerySection name="background_noframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+<!-- <Dim type="RightEdge"><UnifiedDim scale="1" type="RightEdge" /></Dim> -->
+<!-- <Dim type="BottomEdge"><UnifiedDim scale="1" type="BottomEdge" /></Dim> -->
+ <Dim type="RightEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="BottomEdge"><AbsoluteDim value="0" /></Dim>
+ </Area>
+<!-- <Image imageset="TaharezLook" image="StaticBackdrop" />
+ <ColourRectProperty name="BackgroundColours" /> -->
+ <Colours topLeft="FFFFFFFF" topRight="FFFFFFFF" bottomLeft="FFFFFFFF" bottomRight="FFFFFFFF" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/StaticImage
+ ***************************************************
+ -->
+ <WidgetLook name="NavitGrey/StaticImage">
+ <PropertyDefinition name="ImageColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="VertFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <Property name="BackgroundEnabled" value="True" />
+ <Property name="FrameEnabled" value="False" />
+ <ImagerySection name="image_withframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <ImageProperty name="Image" />
+ <ColourRectProperty name="ImageColours" />
+ <VertFormatProperty name="VertFormatting" />
+ <HorzFormatProperty name="HorzFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="image_noframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="Image" />
+ <ColourRectProperty name="ImageColours" />
+ <VertFormatProperty name="VertFormatting" />
+ <HorzFormatProperty name="HorzFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ <StateImagery name="EnabledFrame">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledFrame">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameEnabledBackground">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameDisabledBackground">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameEnabledBackground">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameDisabledBackground">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameImage">
+ <Layer>
+ <Section section="image_withframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameImage">
+ <Layer>
+ <Section section="image_noframe" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/ViewModeSwitchButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ViewModeSwitchButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ViewModeSwitchButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ViewModeSwitchButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/ZoomInButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomInButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomInButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomInButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/ZoomOutButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomOutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomOutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="ZoomOutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/SpeakerOffButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="TaharezLook" image="SpeakerOffButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="SpeakerOffButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="Mineque-Black" image="ViewModeSwitchButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/QuitButton">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" />
+ <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" />
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormatProperty name="VertLabelFormatting" />
+ <HorzFormatProperty name="HorzLabelFormatting" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="QuitButton" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="QuitButton" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+<!-- <Image type="LeftEdge" imageset="TaharezLook" image="ButtonLeftPushed" /> -->
+<!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <Image type="Background" imageset="Mineque-Black" image="QuitButton" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+
+ <WidgetLook name="NavitGrey/RouteButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="RouteButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="RouteButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="RouteButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+
+ <WidgetLook name="NavitGrey/OptionsButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="OptionsButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="OptionsButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="OptionsButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/NavitAboutButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="NavitAboutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="NavitAboutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="NavitAboutButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <WidgetLook name="NavitGrey/SpeakerButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="SpeakerOnButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="SpeakerOnButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="Background" imageset="Mineque-Black" image="SpeakerOnButton" />
+ <!-- <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" /> -->
+ <!-- <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" /> -->
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!-- this widget needs cleanup -->
+ <WidgetLook name="NavitGrey/StaticText">
+ <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <Property name="FrameEnabled" value="True" />
+ <Property name="BackgroundEnabled" value="True" />
+ <NamedArea name="WithFrameTextRenderArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ <StateImagery name="EnabledFrame">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledFrame">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameEnabledBackground">
+ <Layer>
+ <Section look="NavitGrey/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameEnabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+</Falagard>
+
diff --git a/navit/gui/sdl/datafiles/looknfeel/TaharezLook.looknfeel b/navit/gui/sdl/datafiles/looknfeel/TaharezLook.looknfeel
new file mode 100755
index 000000000..795aed437
--- /dev/null
+++ b/navit/gui/sdl/datafiles/looknfeel/TaharezLook.looknfeel
@@ -0,0 +1,4534 @@
+<?xml version="1.0" ?>
+<Falagard>
+ <!--
+ ***************************************************
+ TaharezLook/Button
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Button">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" />
+ <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" />
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormatProperty name="VertLabelFormatting" />
+ <HorzFormatProperty name="HorzLabelFormatting" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height"><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="ButtonLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightNormal" />
+ <Image type="Background" imageset="TaharezLook" image="ButtonMiddleNormal" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="ButtonLeftHighlight" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightHighlight" />
+ <Image type="Background" imageset="TaharezLook" image="ButtonMiddleHighlight" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="ButtonLeftPushed" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ButtonRightPushed" />
+ <Image type="Background" imageset="TaharezLook" image="ButtonMiddlePushed" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/RadioButton
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/RadioButton">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" >
+ <ImageDim imageset="TaharezLook" image="RadioButtonNormal" dimension="Width">
+ <DimOperator op="Add">
+ <AbsoluteDim value="3" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="RadioButtonNormal" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="RadioButtonHover" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="select_mark">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="RadioButtonMark" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedNormal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="select_mark" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedHover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="select_mark" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedDisabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="select_mark">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Checkbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Checkbox">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" >
+ <ImageDim imageset="TaharezLook" image="CheckboxNormal" dimension="Width">
+ <DimOperator op="Add">
+ <AbsoluteDim value="3" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="CheckboxNormal" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="CheckboxHover" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="select_mark">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="CheckboxMark" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedNormal">
+ <Layer>
+ <Section section="normal" />
+ <Section section="select_mark" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedHover">
+ <Layer>
+ <Section section="hover" />
+ <Section section="select_mark" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedDisabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="select_mark">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Editbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Editbox">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectedTextColour" initialValue="FF000000" redrawOnWrite="true" />
+ <PropertyDefinition name="ActiveSelectionColour" initialValue="FF607FFF" redrawOnWrite="true" />
+ <PropertyDefinition name="InactiveSelectionColour" initialValue="FF808080" redrawOnWrite="true" />
+ <Property name="MouseCursorImage" value="set:TaharezLook image:MouseTextBar" />
+ <NamedArea name="TextArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="5" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="5" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" offset="-5" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" offset="-5" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="container_normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="EditBoxLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="EditBoxRight" />
+ <Image type="Background" imageset="TaharezLook" image="EditBoxMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="selection">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="TextSelectionBrush" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="Carat">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="EditBoxCarat" dimension="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="EditBoxCarat" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="container_normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ReadOnly">
+ <Layer>
+ <Section section="container_normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="container_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ActiveSelection">
+ <Layer>
+ <Section section="selection">
+ <ColourProperty name="ActiveSelectionColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveSelection">
+ <Layer>
+ <Section section="selection">
+ <ColourProperty name="InactiveSelectionColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Titlebar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Titlebar">
+ <PropertyDefinition name="CaptionColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <ImagerySection name="main">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="NewTitlebarLeft" />
+ <VertFormat type="Stretched" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="SysAreaRight" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="SysAreaMiddle" dimension="Width" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="NewTitlebarRight" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="SysAreaRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="SysAreaMiddle" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="SysAreaRight" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="NewTitlebarLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="SysAreaRight" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="SysAreaMiddle" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="NewTitlebarRight" dimension="Width" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="NewTitlebarMiddle" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="caption">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="NewTitlebarLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-75" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ColourProperty name="CaptionColour" />
+ <VertFormat type="CentreAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <StateImagery name="Active">
+ <Layer>
+ <Section section="main" />
+ <Section section="caption" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Inactive">
+ <Layer>
+ <Section section="main" />
+ <Section section="caption" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="caption">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/FrameWindow
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/FrameWindow">
+ <PropertyLinkDefinition name="CaptionColour" widget="__auto_titlebar__" targetProperty="CaptionColour" initialValue="FFFFFFFF" />
+ <PropertyLinkDefinition name="TitlebarFont" widget="__auto_titlebar__" targetProperty="Font" />
+ <Property name="NSSizingCursorImage" value="set:TaharezLook image:MouseNoSoCursor" />
+ <Property name="EWSizingCursorImage" value="set:TaharezLook image:MouseEsWeCursor" />
+ <Property name="NWSESizingCursorImage" value="set:TaharezLook image:MouseNwSeCursor" />
+ <Property name="NESWSizingCursorImage" value="set:TaharezLook image:MouseNeSwCursor" />
+ <NamedArea name="ClientWithTitleWithFrame">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="WindowTopLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_titlebar__" dimension="BottomEdge" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="WindowTopRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="WindowBottomEdge" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ClientWithTitleNoFrame">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_titlebar__" dimension="BottomEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><WidgetDim dimension="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ClientNoTitleWithFrame">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="WindowTopLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="WindowTopEdge" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="WindowTopRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="WindowBottomEdge" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ClientNoTitleNoFrame">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/Titlebar" nameSuffix="__auto_titlebar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><FontDim type="LineSpacing" padding="8" /></Dim>
+ </Area>
+ <Property name="AlwaysOnTop" value="False" />
+ </Child>
+ <Child type="TaharezLook/SystemButton" nameSuffix="__auto_closebutton__">
+ <Area>
+ <Dim type="LeftEdge" >
+ <UnifiedDim scale="1" type="LeftEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="SysAreaRight" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="SysAreaMiddle" dimension="Width" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="TopEdge" >
+ <AbsoluteDim value="0.5">
+ <DimOperator op="Multiply">
+ <WidgetDim widget="__auto_titlebar__" dimension="Height">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="NewCloseButtonNormal" dimension="Width" />
+ </DimOperator>
+ </WidgetDim>
+ </DimOperator>
+ </AbsoluteDim>
+ </Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="NewCloseButtonNormal" dimension="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="NewCloseButtonNormal" dimension="Width" /></Dim>
+ </Area>
+ <Property name="AlwaysOnTop" value="True" />
+ <Property name="NormalImage" value="set:TaharezLook image:NewCloseButtonNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:NewCloseButtonHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:NewCloseButtonPressed" />
+ </Child>
+ <ImagerySection name="withtitle_frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_titlebar__" dimension="BottomEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="WindowBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="WindowBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="WindowLeftEdge" />
+ <Image type="RightEdge" imageset="TaharezLook" image="WindowRightEdge" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="WindowBottomEdge" />
+ <Image type="Background" imageset="TaharezLook" image="ClientBrush" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Tiled" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="notitle_frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="WindowTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="WindowTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="WindowBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="WindowBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="WindowLeftEdge" />
+ <Image type="RightEdge" imageset="TaharezLook" image="WindowRightEdge" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="WindowBottomEdge" />
+ <Image type="Background" imageset="TaharezLook" image="ClientBrush" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Tiled" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="withtitle_noframe_client_area">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_titlebar__" dimension="Height" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="ClientBrush" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="notitle_noframe_client_area">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="ClientBrush" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="ActiveWithTitleWithFrame">
+ <Layer>
+ <Section section="withtitle_frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveWithTitleWithFrame">
+ <Layer>
+ <Section section="withtitle_frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledWithTitleWithFrame">
+ <Layer>
+ <Section section="withtitle_frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ActiveWithTitleNoFrame">
+ <Layer>
+ <Section section="withtitle_noframe_client_area" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveWithTitleNoFrame">
+ <Layer>
+ <Section section="withtitle_noframe_client_area" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledWithTitleNoFrame">
+ <Layer>
+ <Section section="withtitle_noframe_client_area">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ActiveNoTitleWithFrame">
+ <Layer>
+ <Section section="notitle_frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveNoTitleWithFrame">
+ <Layer>
+ <Section section="notitle_frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledNoTitleWithFrame">
+ <Layer>
+ <Section section="notitle_frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ActiveNoTitleNoFrame">
+ <Layer>
+ <Section section="notitle_noframe_client_area" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveNoTitleNoFrame">
+ <Layer>
+ <Section section="notitle_noframe_client_area" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledNoTitleNoFrame">
+ <Layer>
+ <Section section="notitle_noframe_client_area">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ProgressBar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ProgressBar">
+ <NamedArea name="ProgressArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ProgressBarLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ProgressBarRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="ProgressBarLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ProgressBarRight" />
+ <Image type="Background" imageset="TaharezLook" image="ProgressBarMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="progress_lights" >
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="ProgressBarLitSegment" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="EnabledProgress">
+ <Layer>
+ <Section section="progress_lights" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledProgress">
+ <Layer>
+ <Section section="progress_lights">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/AlternateProgressBar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/AltProgressBar">
+ <NamedArea name="ProgressArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="AltProgressLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="2" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="AltProgressRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-4" type="Height" /></Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="AltProgressLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="AltProgressRight" />
+ <Image type="Background" imageset="TaharezLook" image="AltProgressMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="progress_lights" >
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight1" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.1" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight2" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.2" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight3" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.3" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight4" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.4" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight5" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.5" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight6" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.6" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight7" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.7" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight8" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.8" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight9" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.9" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="AltProgressLight10" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Tiled" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="EnabledProgress">
+ <Layer>
+ <Section section="progress_lights" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledProgress">
+ <Layer>
+ <Section section="progress_lights">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/VUMeter (progress bar)
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/VUMeter">
+ <Property name="VerticalProgress" value="True" />
+ <NamedArea name="ProgressArea">
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><UnifiedDim scale="0" type="TopEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="progress_lights" >
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><UnifiedDim scale="0.5" type="TopEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.5" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="TextSelectionBrush" />
+ <Colours topLeft="FF00FF00" topRight="FF00FF00" bottomLeft="FF00FF00" bottomRight="FF00FF00" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><UnifiedDim scale="0.2" type="TopEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.3" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="TextSelectionBrush" />
+ <Colours topLeft="FFFFFF00" topRight="FFFFFF00" bottomLeft="FFFFFF00" bottomRight="FFFFFF00" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" ><UnifiedDim scale="0" type="TopEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.2" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="TextSelectionBrush" />
+ <Colours topLeft="FFFF0000" topRight="FFFF0000" bottomLeft="FFFF0000" bottomRight="FFFF0000" />
+ <VertFormat type="Tiled" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ </StateImagery>
+ <StateImagery name="Disabled">
+ </StateImagery>
+ <StateImagery name="EnabledProgress">
+ <Layer>
+ <Section section="progress_lights" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledProgress">
+ <Layer>
+ <Section section="progress_lights">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/SliderThumb
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/SliderThumb">
+ <Property name="VertFree" value="True" />
+ <ImagerySection name="normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertSliderThumbNormal" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertSliderThumbHover" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Slider
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Slider">
+ <Property name="VerticalSlider" value="True" />
+ <Property name="MouseButtonDownAutoRepeat" value="True" />
+ <Property name="WantsMultiClickEvents" value="False" />
+ <NamedArea name="ThumbTrackArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/SliderThumb" nameSuffix="__auto_thumb__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="VertSliderThumbNormal" dimension="Height" /></Dim>
+ </Area>
+ </Child>
+ <ImagerySection name="main">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="3" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" offset="-6" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertSliderBody" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/HorizontalScrollbarThumb
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/HorizontalScrollbarThumb">
+ <Property name="HorzFree" value="True" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="MiniHorzScrollThumbLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="MiniHorzScrollThumbRightNormal" />
+ <Image type="Background" imageset="TaharezLook" image="MiniHorzScrollThumbMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="MiniHorzScrollThumbLeftHover" />
+ <Image type="RightEdge" imageset="TaharezLook" image="MiniHorzScrollThumbRightHover" />
+ <Image type="Background" imageset="TaharezLook" image="MiniHorzScrollThumbMiddleHover" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/HorizontalScrollbar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/HorizontalScrollbar">
+ <NamedArea name="ThumbTrackArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MiniHorzScrollLeftNormal" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1.0" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MiniHorzScrollRightNormal" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_incbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="MiniHorzScrollRightNormal" dimension="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:MiniHorzScrollRightNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:MiniHorzScrollRightHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:MiniHorzScrollRightNormal" />
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_decbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="MiniHorzScrollLeftNormal" dimension="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Property name="NormalImage" value="set:TaharezLook image:MiniHorzScrollLeftNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:MiniHorzScrollLeftHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:MiniHorzScrollLeftNormal" />
+ </Child>
+ <Child type="TaharezLook/HorizontalScrollbarThumb" nameSuffix="__auto_thumb__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Property name="UnifiedMinSize" value="{{0,25},{0,0}}" />
+ </Child>
+ <ImagerySection name="main">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MiniHorzScrollLeftNormal" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1.0" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MiniHorzScrollRightNormal" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="MiniHorzScrollBarSegment" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/VerticalScrollbarThumb
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/VerticalScrollbarThumb">
+ <Property name="VertFree" value="True" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image type="TopEdge" imageset="TaharezLook" image="MiniVertScrollThumbTopNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="MiniVertScrollThumbBottomNormal" />
+ <Image type="Background" imageset="TaharezLook" image="MiniVertScrollThumbMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image type="TopEdge" imageset="TaharezLook" image="MiniVertScrollThumbTopHover" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="MiniVertScrollThumbBottomHover" />
+ <Image type="Background" imageset="TaharezLook" image="MiniVertScrollThumbMiddleHover" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/VerticalScrollbar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/VerticalScrollbar">
+ <Property name="VerticalScrollbar" value="True" />
+ <NamedArea name="ThumbTrackArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MiniVertScrollUpNormal" dimension="Height" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1.0" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MiniVertScrollDownNormal" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_incbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="MiniVertScrollDownNormal" dimension="Height" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:MiniVertScrollDownNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:MiniVertScrollDownHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:MiniVertScrollDownNormal" />
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_decbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="MiniVertScrollUpNormal" dimension="Height" /></Dim>
+ </Area>
+ <Property name="NormalImage" value="set:TaharezLook image:MiniVertScrollUpNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:MiniVertScrollUpHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:MiniVertScrollUpNormal" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbarThumb" nameSuffix="__auto_thumb__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.1" type="Height" /></Dim>
+ </Area>
+ <Property name="UnifiedMinSize" value="{{0,0},{0,25}}" />
+ </Child>
+ <ImagerySection name="main">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MiniVertScrollUpNormal" dimension="Height" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1.0" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MiniVertScrollDownNormal" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="MiniVertScrollBarSegment" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="CentreAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Listbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Listbox">
+ <NamedArea name="ItemRenderingArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="ListboxTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="ListboxTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="ListboxBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="ListboxBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="ListboxLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ListboxRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="ListboxTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="ListboxBottom" />
+ <Image type="Background" imageset="TaharezLook" image="ListboxBackdrop" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ComboDropList
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ComboDropList">
+ <NamedArea name="ItemRenderingArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ComboboxListRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ComboboxListBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ComboboxListRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ComboboxListBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ComboboxListTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="ComboboxListTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="ComboboxListTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="ComboboxListBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="ComboboxListBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="ComboboxListLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ComboboxListRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="ComboboxListTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="ComboboxListBottom" />
+ <Image type="Background" imageset="TaharezLook" image="ComboboxListBackdrop" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ComboEditbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ComboEditbox">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectedTextColour" initialValue="FF000000" redrawOnWrite="true" />
+ <PropertyDefinition name="ActiveSelectionColour" initialValue="FF607FFF" redrawOnWrite="true" />
+ <PropertyDefinition name="InactiveSelectionColour" initialValue="FF808080" redrawOnWrite="true" />
+ <Property name="MouseCursorImage" value="set:TaharezLook image:MouseTextBar" />
+ <NamedArea name="TextArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="5" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="5" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" offset="-5" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" offset="-5" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="container_normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="ComboboxEditLeft" />
+ <Image type="Background" imageset="TaharezLook" image="ComboboxEditMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="selection">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="TextSelectionBrush" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="Carat">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="EditBoxCarat" dimension="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="EditBoxCarat" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="container_normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ReadOnly">
+ <Layer>
+ <Section section="container_normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="container_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ActiveSelection">
+ <Layer>
+ <Section section="selection">
+ <ColourProperty name="ActiveSelectionColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="InactiveSelection">
+ <Layer>
+ <Section section="selection">
+ <ColourProperty name="InactiveSelectionColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Combobox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Combobox">
+ <PropertyLinkDefinition name="NormalEditTextColour" widget="__auto_editbox__" targetProperty="NormalTextColour" initialValue="FFFFFFFF" />
+ <PropertyLinkDefinition name="SelectedEditTextColour" widget="__auto_editbox__" targetProperty="SelectedTextColour" initialValue="FF000000" />
+ <PropertyLinkDefinition name="ActiveEditSelectionColour" widget="__auto_editbox__" targetProperty="ActiveSelectionColour" initialValue="FF6060FF" />
+ <PropertyLinkDefinition name="InactiveEditSelectionColour" widget="__auto_editbox__" targetProperty="InactiveSelectionColour" initialValue="FF808080" />
+ <Child type="TaharezLook/ComboEditbox" nameSuffix="__auto_editbox__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <FontDim type="LineSpacing">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="1.5" />
+ </DimOperator>
+ </FontDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" >
+ <FontDim type="LineSpacing">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="1.5" />
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/ComboDropList" nameSuffix="__auto_droplist__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_editbox__" dimension="BottomEdge" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_button__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><WidgetDim widget="__auto_editbox__" dimension="Height" /></Dim>
+ <Dim type="Height" ><WidgetDim widget="__auto_editbox__" dimension="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:ComboboxListButtonNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:ComboboxListButtonHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:ComboboxListButtonNormal" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Spinner
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Spinner">
+ <Child type="TaharezLook/Editbox" nameSuffix="__auto_editbox__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_incbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.5" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:VertScrollUpNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:VertScrollUpHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:VertScrollUpNormal" />
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_decbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><UnifiedDim scale="0.5" type="TopEdge" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="0.5" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:VertScrollDownNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:VertScrollDownHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:VertScrollDownNormal" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/StaticShared
+ (Shared imagery components for static widgets)
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/StaticShared">
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="StaticTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="StaticTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="StaticBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="StaticBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="StaticLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="StaticRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="StaticTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="StaticBottom" />
+ <ColourRectProperty name="FrameColours" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="background">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="StaticBackdrop" />
+ <!--<ColourRectProperty name="BackgroundColours" />-->
+ <Colours topLeft="FFFFFFFF" topRight="FFFFFFFF" bottomLeft="FFFFFFFF" bottomRight="FFFFFFFF" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="background_noframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge"><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge"><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="StaticBackdrop" />
+ <!--<ColourRectProperty name="BackgroundColours" />-->
+ <Colours topLeft="FFFFFFFF" topRight="FFFFFFFF" bottomLeft="FFFFFFFF" bottomRight="FFFFFFFF" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/StaticImage
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/StaticImage">
+ <PropertyDefinition name="ImageColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="VertFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <Property name="BackgroundEnabled" value="True" />
+ <Property name="FrameEnabled" value="True" />
+ <ImagerySection name="image_withframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <ImageProperty name="Image" />
+ <ColourRectProperty name="ImageColours" />
+ <VertFormatProperty name="VertFormatting" />
+ <HorzFormatProperty name="HorzFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="image_noframe">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="Image" />
+ <ColourRectProperty name="ImageColours" />
+ <VertFormatProperty name="VertFormatting" />
+ <HorzFormatProperty name="HorzFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ <StateImagery name="EnabledFrame">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledFrame">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameEnabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameEnabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameImage">
+ <Layer>
+ <Section section="image_withframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameImage">
+ <Layer>
+ <Section section="image_noframe" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/StaticText
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/StaticText">
+ <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <Property name="FrameEnabled" value="True" />
+ <Property name="BackgroundEnabled" value="True" />
+ <NamedArea name="WithFrameTextRenderArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="StaticBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="WithFrameTextRenderAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="StaticLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="StaticTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="NoFrameTextRenderAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ <StateImagery name="EnabledFrame">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledFrame">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="frame" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameEnabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="WithFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameEnabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="NoFrameDisabledBackground">
+ <Layer>
+ <Section look="TaharezLook/StaticShared" section="background_noframe" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ListHeaderSegment
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ListHeaderSegment">
+ <Property name="SizingCursorImage" value="set:TaharezLook image:MouseEsWeCursor" />
+ <Property name="MovingCursorImage" value="set:TaharezLook image:MouseMoveCursor" />
+ <ImagerySection name="segment_normal">
+ <Colours topLeft="FFDDDDDD" topRight="FFDDDDDD" bottomLeft="FFDDDDDD" bottomRight="FFDDDDDD" />
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="HeaderBarSplitterNormal" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarBackdropNormal" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="segment_hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="HeaderBarSplitterNormal" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarBackdropHover" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="splitter_normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarSplitterNormal" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="splitter_hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarSplitterHover" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="ascend_icon">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="3" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="3" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="HeaderBarSortUp" dimension="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="HeaderBarSortUp" dimension="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarSortUp" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="descend_icon">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="3" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="3" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="HeaderBarSortDown" dimension="Width" /></Dim>
+ <Dim type="Height" ><ImageDim imageset="TaharezLook" image="HeaderBarSortDown" dimension="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="HeaderBarSortDown" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" >
+ <ImageDim imageset="TaharezLook" image="HeaderBarSortUp" dimension="Width">
+ <DimOperator op="Add">
+ <AbsoluteDim value="5" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormat type="CentreAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="segment_normal" />
+ <Section section="splitter_normal" />
+ <Section section="label" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="segment_hover" />
+ <Section section="splitter_normal" />
+ <Section section="label" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SplitterHover">
+ <Layer>
+ <Section section="segment_normal" />
+ <Section section="splitter_hover" />
+ <Section section="label" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DragGhost" clipped="false" >
+ <Layer priority="1" >
+ <Section section="segment_normal">
+ <Colours topLeft="90FFFFFF" topRight="90FFFFFF" bottomLeft="90FFFFFF" bottomRight="90FFFFFF" />
+ </Section>
+ <Section section="splitter_normal">
+ <Colours topLeft="90FFFFFF" topRight="90FFFFFF" bottomLeft="90FFFFFF" bottomRight="90FFFFFF" />
+ </Section>
+ <Section section="label">
+ <Colours topLeft="90FFFFFF" topRight="90FFFFFF" bottomLeft="90FFFFFF" bottomRight="90FFFFFF" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="AscendingSortIcon">
+ <Layer>
+ <Section section="ascend_icon" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DescendingSortIcon">
+ <Layer>
+ <Section section="descend_icon" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="GhostAscendingSortIcon" clipped="false">
+ <Layer priority="1" >
+ <Section section="ascend_icon">
+ <Colours topLeft="90FFFFFF" topRight="90FFFFFF" bottomLeft="90FFFFFF" bottomRight="90FFFFFF" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="GhostDescendingSortIcon" clipped="false">
+ <Layer priority="1" >
+ <Section section="descend_icon">
+ <Colours topLeft="90FFFFFF" topRight="90FFFFFF" bottomLeft="90FFFFFF" bottomRight="90FFFFFF" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="segment_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="splitter_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ListHeader
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ListHeader">
+ <Property name="SegmentWidgetType" value="TaharezLook/ListHeaderSegment" />
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/MultiColumnList
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/MultiColumnList">
+ <NamedArea name="ItemRenderingArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_listheader__" dimension="BottomEdge" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiListRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiListBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_listheader__" dimension="BottomEdge" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiListRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_listheader__" dimension="BottomEdge" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiListBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderingAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiListLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_listheader__" dimension="BottomEdge" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/ListHeader" nameSuffix="__auto_listheader__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="2" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="2" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1" offset="-2" type="RightEdge" /></Dim>
+ <Dim type="Height" >
+ <FontDim type="LineSpacing">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="1.5" />
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><WidgetDim widget="__auto_listheader__" dimension="BottomEdge" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" offset="-12" type="BottomEdge" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="MultiListTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="MultiListTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="MultiListBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="MultiListBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="MultiListLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="MultiListRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="MultiListTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="MultiListBottom" />
+ <Image type="Background" imageset="TaharezLook" image="MultiListBackdrop" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/MultiLineEditbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/MultiLineEditbox">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectedTextColour" initialValue="FF000000" redrawOnWrite="true" />
+ <PropertyDefinition name="ActiveSelectionColour" initialValue="FF607FFF" redrawOnWrite="true" />
+ <PropertyDefinition name="InactiveSelectionColour" initialValue="FF808080" redrawOnWrite="true" />
+ <Property name="MouseCursorImage" value="set:TaharezLook image:MouseTextBar" />
+ <Property name="SelectionBrushImage" value="set:TaharezLook image:MultiLineEditboxSelectionBrush" />
+ <NamedArea name="TextArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiLineEditboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiLineEditboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="TextAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiLineEditboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="TextAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MultiLineEditboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="TextAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MultiLineEditboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="MultiLineEditboxTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="MultiLineEditboxTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="MultiLineEditboxBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="MultiLineEditboxBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="MultiLineEditboxLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="MultiLineEditboxRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="MultiLineEditboxTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="MultiLineEditboxBottom" />
+ <Image type="Background" imageset="TaharezLook" image="MultiLineEditboxBackdrop" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="Carat">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><ImageDim imageset="TaharezLook" image="EditBoxCarat" dimension="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="EditBoxCarat" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="ReadOnly">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/Tooltip
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Tooltip">
+ <NamedArea name="TextArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="TooltipLeftEdge" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="TooltipTopEdge" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TooltipRightEdge" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TooltipBottomEdge" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TooltipTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TooltipTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TooltipBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TooltipBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TooltipLeftEdge" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TooltipRightEdge" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TooltipTopEdge" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TooltipBottomEdge" />
+ <Image type="Background" imageset="TaharezLook" image="TooltipMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="TooltipLeftEdge" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="TooltipTopEdge" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TooltipRightEdge" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TooltipBottomEdge" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Colours topLeft="FF000000" topRight="FF000000" bottomLeft="FF000000" bottomRight="FF000000" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="CentreAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ <Section section="label" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main" />
+ <Section section="label" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ScrollablePane
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ScrollablePane">
+ <NamedArea name="ViewableArea">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ViewableAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ViewableAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1.0" type="BottomEdge" /></Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ViewableAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_vscrollbar__" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_hscrollbar__" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/TabButton
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/TabButton">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFC0C0C0" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverTextColour" initialValue="FFE0E0E0" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectedTextColour" initialValue="FFE0E0E0" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="CentreAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="top_normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabButtonUpperLeftNormal" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabButtonUpperRightNormal" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabButtonLowerLeftNormal" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabButtonLowerRight2Normal" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightNormal" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabButtonUpperNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabButtonLowerNormal" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="bot_normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabButtonUpperLeft2Normal" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabButtonUpperRightNormal" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabButtonLowerLeftNormal" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabButtonLowerRightNormal" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightNormal" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabButtonUpperNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabButtonLowerNormal" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="top_hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabButtonUpperLeftNormal" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabButtonUpperRightNormal" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabButtonLowerLeftNormal" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabButtonLowerRight2Normal" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightNormal" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabButtonUpperNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabButtonLowerNormal" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="bot_hover">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabButtonUpperLeft2Normal" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabButtonUpperRightNormal" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabButtonLowerLeftNormal" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabButtonLowerRightNormal" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftNormal" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightNormal" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabButtonUpperNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabButtonLowerNormal" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="top_selected">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabButtonUpperLeftSelected" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabButtonUpperSelected" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabButtonUpperRightSelected" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftSelected" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleSelected" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightSelected" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="bot_selected">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabButtonLeftSelected" />
+ <Image type="Background" imageset="TaharezLook" image="TabButtonMiddleSelected" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabButtonRightSelected" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabButtonLowerLeftNormal" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabButtonLowerNormal" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabButtonLowerRightNormal" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="TopNormal">
+ <Layer>
+ <Section section="top_normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="BottomNormal">
+ <Layer>
+ <Section section="bot_normal" />
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="TopHover">
+ <Layer>
+ <Section section="top_hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="BottomHover">
+ <Layer>
+ <Section section="bot_hover" />
+ <Section section="label">
+ <ColourProperty name="HoverTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="TopSelected">
+ <Layer>
+ <Section section="top_selected" />
+ <Section section="label">
+ <ColourProperty name="SelectedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="BottomSelected">
+ <Layer>
+ <Section section="bot_selected" />
+ <Section section="label">
+ <ColourProperty name="SelectedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="TopPushed">
+ <Layer>
+ <Section section="top_normal" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="BottomPushed">
+ <Layer>
+ <Section section="bot_normal" />
+ <Section section="label">
+ <ColourProperty name="PushedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="TopDisabled">
+ <Layer>
+ <Section section="top_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="BottomDisabled">
+ <Layer>
+ <Section section="bot_normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/TabContentPane
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/TabContentPane">
+ <PropertyDefinition name="EnableTop" initialValue="0" redrawOnWrite="true" layoutOnWrite="true" />
+ <PropertyDefinition name="EnableBottom" initialValue="0" redrawOnWrite="true" layoutOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" >
+ <ImageDim imageset="TaharezLook" image="TabContentPaneUpperLeft" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableTop" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="TabContentPaneUpperLeft" />
+ <Image type="TopEdge" imageset="TaharezLook" image="TabContentPaneUpper" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="TabContentPaneUpperRight" />
+ </FrameComponent>
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" >
+ <ImageDim imageset="TaharezLook" image="TabContentPaneUpperLeft" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableTop" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TabContentPaneLowerLeft" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableBottom" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Image type="LeftEdge" imageset="TaharezLook" image="TabContentPaneLeft" />
+ <Image type="Background" imageset="TaharezLook" image="TabContentPaneMiddle" />
+ <Image type="RightEdge" imageset="TaharezLook" image="TabContentPaneRight" />
+ </FrameComponent>
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" >
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TabContentPaneLowerLeft" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableBottom" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="TabContentPaneLowerLeft" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabContentPaneLower" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="TabContentPaneLowerRight" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/TabButtonPane
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/TabButtonPane">
+ <PropertyDefinition name="EnableTop" initialValue="1" redrawOnWrite="true" layoutOnWrite="true" />
+ <PropertyDefinition name="EnableBottom" initialValue="1" redrawOnWrite="true" layoutOnWrite="true" />
+ <ImagerySection name="normal">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" >
+ <ImageDim imageset="TaharezLook" image="TabHorizontalFiller" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableTop" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ </Area>
+ <Image type="TopEdge" imageset="TaharezLook" image="TabHorizontalFiller" />
+ </FrameComponent>
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" >
+ <ImageDim imageset="TaharezLook" image="TabHorizontalFiller" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableTop" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TabHorizontalFiller" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableBottom" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </FrameComponent>
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" >
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="TabHorizontalFiller" dimension="Height">
+ <DimOperator op="Multiply">
+ <PropertyDim name="EnableBottom" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="BottomEdge" imageset="TaharezLook" image="TabHorizontalFiller" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/TabControl
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/TabControl">
+ <Property name="TabButtonType" value="TaharezLook/TabButton" />
+ <Property name="TabTextPadding" value="{0,6}" />
+ <Child type="TaharezLook/TabContentPane" nameSuffix="__auto_TabPane__">
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="TopEdge">
+ <PropertyDim widget="__auto_TabPane__" name="EnableBottom">
+ <DimOperator op="Multiply">
+ <PropertyDim name="TabHeight" type="Height" />
+ </DimOperator>
+ </PropertyDim>
+ </Dim>
+ <Dim type="Height">
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <PropertyDim name="TabHeight" type="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/TabButtonPane" nameSuffix="__auto_TabPane__Buttons">
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="RightEdge"><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="TopEdge">
+ <PropertyDim widget="__auto_TabPane__Buttons" name="EnableTop">
+ <DimOperator op="Multiply">
+ <UnifiedDim scale="1" type="Height">
+ <DimOperator op="Subtract">
+ <PropertyDim name="TabHeight" type="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </DimOperator>
+ </PropertyDim>
+ </Dim>
+ <Dim type="Height"><PropertyDim name="TabHeight" type="Height" /></Dim>
+ </Area>
+ </Child>
+ <Child type="TaharezLook/SystemButton" nameSuffix="__auto_TabPane__ScrollLeft">
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="TopEdge" />
+ </Dim>
+ <Dim type="Width">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="Height">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="TabButtonScrollLeftNormal" dimension="Width">
+ <DimOperator op="Divide">
+ <ImageDim imageset="TaharezLook" image="TabButtonScrollLeftNormal" dimension="Height" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </Dim>
+ <Dim type="BottomEdge">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="BottomEdge" />
+ </Dim>
+ </Area>
+ <Property name="AlwaysOnTop" value="True" />
+ <Property name="NormalImage" value="set:TaharezLook image:TabButtonScrollLeftNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:TabButtonScrollLeftHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:TabButtonScrollLeftHover" />
+ </Child>
+ <Child type="TaharezLook/SystemButton" nameSuffix="__auto_TabPane__ScrollRight">
+ <Area>
+ <Dim type="Width">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="Height">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="TabButtonScrollRightNormal" dimension="Width">
+ <DimOperator op="Divide">
+ <ImageDim imageset="TaharezLook" image="TabButtonScrollRightNormal" dimension="Height" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </Dim>
+ <Dim type="LeftEdge">
+ <UnifiedDim scale="1" type="Width">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_TabPane__ScrollRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="TopEdge">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="TopEdge" />
+ </Dim>
+ <Dim type="Height">
+ <WidgetDim widget="__auto_TabPane__Buttons" dimension="Height" />
+ </Dim>
+ </Area>
+ <Property name="AlwaysOnTop" value="True" />
+ <Property name="NormalImage" value="set:TaharezLook image:TabButtonScrollRightNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:TabButtonScrollRightHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:TabButtonScrollRightHover" />
+ </Child>
+ <StateImagery name="Enabled" />
+ <StateImagery name="Disabled" />
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/MenuItem
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/MenuItem">
+ <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="OpenedColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <Property name="WantsMultiClickEvents" value="False" />
+ <NamedArea name="ContentSize">
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width">
+ <FontDim type="HorzExtent">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuLeft" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuRight" dimension="Width" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ <Dim type="Height">
+ <FontDim type="LineSpacing">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuTop" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuBottom" dimension="Height" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="HasPopupContentSize">
+ <Area>
+ <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width">
+ <FontDim type="HorzExtent">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuLeft" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuRight" dimension="Width">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="PopupMenuArrowLeft" dimension="Width">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="3" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ <Dim type="Height">
+ <FontDim type="LineSpacing">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuTop" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="MenuBottom" dimension="Height" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </FontDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="MenuLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="MenuTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MenuRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="MenuBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="LeftAligned" />
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="MenuTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="MenuTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="MenuBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="MenuBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="MenuLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="MenuRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="MenuTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="MenuBottom" />
+ <Image type="Background" imageset="TaharezLook" image="MenuMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <ImagerySection name="popup_arrow_right">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" >
+ <UnifiedDim scale="1" type="Width">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuArrowRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="PopupMenuArrowRight" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="popup_arrow_left">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" >
+ <UnifiedDim scale="1" type="Width">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuArrowLeft" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="PopupMenuArrowLeft" />
+ <VertFormat type="CentreAligned" />
+ <HorzFormat type="RightAligned" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="EnabledNormal">
+ <Layer>
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="EnabledHover">
+ <Layer>
+ <Section section="frame">
+ <ColourProperty name="HoverColour" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="EnabledPushed">
+ <Layer>
+ <Section section="frame">
+ <ColourProperty name="PushedColour" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="EnabledPopupOpen">
+ <Layer>
+ <Section section="frame">
+ <ColourProperty name="OpenedColour" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="NormalTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledNormal">
+ <Layer>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledHover">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledPushed">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="DisabledPopupOpen">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ <Section section="label">
+ <ColourProperty name="DisabledTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PopupClosedIcon">
+ <Layer>
+ <Section section="popup_arrow_right" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PopupOpenIcon">
+ <Layer>
+ <Section section="popup_arrow_left" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/PopupMenu
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/PopupMenu">
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BorderWidth" initialValue="0" layoutOnWrite="true" />
+ <NamedArea name="ItemRenderArea">
+ <Area>
+ <Dim type="LeftEdge" >
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameLeft" dimension="Width">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="TopEdge" >
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameTop" dimension="Height">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameRight" dimension="Width">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameBottom" dimension="Height">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="PopupMenuFrameTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="PopupMenuFrameTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="PopupMenuFrameBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="PopupMenuFrameBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="PopupMenuFrameLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="PopupMenuFrameRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="PopupMenuFrameTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="PopupMenuFrameBottom" />
+ <Image type="Background" imageset="TaharezLook" image="PopupMenuMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="frame">
+ <ColourRectProperty name="BackgroundColours" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+
+ <!--
+ ***************************************************
+ TaharezLook/Menubar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/Menubar">
+ <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="BorderWidth" initialValue="5" layoutOnWrite="true" />
+ <NamedArea name="ItemRenderArea">
+ <Area>
+ <Dim type="LeftEdge" >
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameLeft" dimension="Width">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="TopEdge" >
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameTop" dimension="Height">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameRight" dimension="Width">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="PopupMenuFrameBottom" dimension="Height">
+ <DimOperator op="Add">
+ <PropertyDim name="BorderWidth" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="frame">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="PopupMenuFrameTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="PopupMenuFrameTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="PopupMenuFrameBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="PopupMenuFrameBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="PopupMenuFrameLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="PopupMenuFrameRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="PopupMenuFrameTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="PopupMenuFrameBottom" />
+ <Image type="Background" imageset="TaharezLook" image="PopupMenuMiddle" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="frame">
+ <ColourRectProperty name="BackgroundColours" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="frame">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/LargeVerticalScrollbarThumb
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/LargeVerticalScrollbarThumb">
+ <Property name="VertFree" value="True" />
+ <ImagerySection name="normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertScrollThumbNormal" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1.0" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1.0" type="Height" /></Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertScrollThumbHover" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="normal">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/LargeVerticalScrollbar
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/LargeVerticalScrollbar">
+ <Property name="VerticalScrollbar" value="True" />
+ <NamedArea name="ThumbTrackArea">
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.325" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" >
+ <WidgetDim widget="__auto_decbtn__" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1.0" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_decbtn__" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_incbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.25" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" >
+ <AbsoluteDim value="-1">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </AbsoluteDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.6" type="Width" /></Dim>
+ <Dim type="Height" >
+ <UnifiedDim scale="0.6" type="Width">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Width">
+ <DimOperator op="Divide">
+ <ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Height"/>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ <Property name="NormalImage" value="set:TaharezLook image:VertScrollDownNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:VertScrollDownHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:VertScrollDownNormal" />
+ </Child>
+ <Child type="TaharezLook/ImageButton" nameSuffix="__auto_decbtn__">
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.25" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.6" type="Width" /></Dim>
+ <Dim type="Height" >
+ <UnifiedDim scale="0.6" type="Width">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Width">
+ <DimOperator op="Divide">
+ <ImageDim imageset="TaharezLook" image="VertScrollUpNormal" dimension="Height"/>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Property name="NormalImage" value="set:TaharezLook image:VertScrollUpNormal" />
+ <Property name="HoverImage" value="set:TaharezLook image:VertScrollUpHover" />
+ <Property name="PushedImage" value="set:TaharezLook image:VertScrollUpNormal" />
+ </Child>
+ <Child type="TaharezLook/LargeVerticalScrollbarThumb" nameSuffix="__auto_thumb__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="0.4" type="Width" /></Dim>
+ <Dim type="Height" >
+ <UnifiedDim scale="0.4" type="Width">
+ <DimOperator op="Multiply">
+ <ImageDim imageset="TaharezLook" image="VertScrollThumbNormal" dimension="Height">
+ <DimOperator op="Divide">
+ <ImageDim imageset="TaharezLook" image="VertScrollThumbNormal" dimension="Width"/>
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopEdge" imageset="TaharezLook" image="VertScrollTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="VertScrollBottom" />
+ <Image type="Background" imageset="TaharezLook" image="VertScrollMiddle" />
+ </FrameComponent>
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><UnifiedDim scale="0.45" type="LeftEdge" /></Dim>
+ <Dim type="TopEdge" >
+ <WidgetDim widget="__auto_decbtn__" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </Dim>
+ <Dim type="RightEdge" ><UnifiedDim scale="1.0" type="RightEdge" /></Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1.0" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <WidgetDim widget="__auto_decbtn__" dimension="Height">
+ <DimOperator op="Add">
+ <ImageDim imageset="TaharezLook" image="VertScrollTop" dimension="Height">
+ <DimOperator op="Multiply">
+ <AbsoluteDim value="0.5" />
+ </DimOperator>
+ </ImageDim>
+ </DimOperator>
+ </WidgetDim>
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ <Image imageset="TaharezLook" image="VertScrollBarSegment" />
+ <VertFormat type="Tiled" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main">
+ <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ImageButton
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ImageButton">
+ <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" />
+ <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" />
+ <ImagerySection name="normal">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="NormalImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="hover">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="HoverImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="pushed">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="PushedImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <ImagerySection name="disabled">
+ <ImageryComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <ImageProperty name="DisabledImage" />
+ <VertFormatProperty name="VertImageFormatting" />
+ <HorzFormatProperty name="HorzImageFormatting" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Normal">
+ <Layer>
+ <Section section="normal" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Hover">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Pushed">
+ <Layer>
+ <Section section="pushed" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="PushedOff">
+ <Layer>
+ <Section section="hover" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="disabled" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+ <!--
+ ***************************************************
+ TaharezLook/ItemListbox
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ItemListbox">
+ <NamedArea name="ItemRenderArea">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderAreaHScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" type="RightEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxRight" dimension="Width" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" offset="-12" type="BottomEdge" />
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderAreaVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" offset="-12" type="RightEdge" />
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" type="BottomEdge">
+ <DimOperator op="Subtract">
+ <ImageDim imageset="TaharezLook" image="ListboxBottom" dimension="Height" />
+ </DimOperator>
+ </UnifiedDim>
+ </Dim>
+ </Area>
+ </NamedArea>
+ <NamedArea name="ItemRenderAreaHVScroll">
+ <Area>
+ <Dim type="LeftEdge" ><ImageDim imageset="TaharezLook" image="ListboxLeft" dimension="Width" /></Dim>
+ <Dim type="TopEdge" ><ImageDim imageset="TaharezLook" image="ListboxTop" dimension="Height" /></Dim>
+ <Dim type="RightEdge" >
+ <UnifiedDim scale="1" offset="-12" type="RightEdge" />
+ </Dim>
+ <Dim type="BottomEdge" >
+ <UnifiedDim scale="1" offset="-12" type="BottomEdge" />
+ </Dim>
+ </Area>
+ </NamedArea>
+ <Child type="TaharezLook/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim>
+ <Dim type="Height" ><AbsoluteDim value="12" /></Dim>
+ </Area>
+ <VertAlignment type="BottomAligned" />
+ </Child>
+ <Child type="TaharezLook/VerticalScrollbar" nameSuffix="__auto_vscrollbar__">
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><AbsoluteDim value="12" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <HorzAlignment type="RightAligned" />
+ </Child>
+ <ImagerySection name="main">
+ <FrameComponent>
+ <Area>
+ <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
+ <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
+ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
+ </Area>
+ <Image type="TopLeftCorner" imageset="TaharezLook" image="ListboxTopLeft" />
+ <Image type="TopRightCorner" imageset="TaharezLook" image="ListboxTopRight" />
+ <Image type="BottomLeftCorner" imageset="TaharezLook" image="ListboxBottomLeft" />
+ <Image type="BottomRightCorner" imageset="TaharezLook" image="ListboxBottomRight" />
+ <Image type="LeftEdge" imageset="TaharezLook" image="ListboxLeft" />
+ <Image type="RightEdge" imageset="TaharezLook" image="ListboxRight" />
+ <Image type="TopEdge" imageset="TaharezLook" image="ListboxTop" />
+ <Image type="BottomEdge" imageset="TaharezLook" image="ListboxBottom" />
+ <Image type="Background" imageset="TaharezLook" image="ListboxBackdrop" />
+ </FrameComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="main" />
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+
+ <!--
+ ***************************************************
+ TaharezLook/ListboxItem
+ ***************************************************
+ -->
+ <WidgetLook name="TaharezLook/ListboxItem">
+ <PropertyDefinition name="TextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectionBrush" initialValue="set:TaharezLook image:ListboxSelectionBrush" redrawOnWrite="true" />
+ <PropertyDefinition name="SelectionColour" initialValue="FF4444AA" redrawOnWrite="true" />
+ <Property name="Selectable" value="True" />
+ <NamedArea name="ContentSize">
+ <Area>
+ <Dim type="LeftEdge" >
+ <AbsoluteDim value="0" />
+ </Dim>
+ <Dim type="TopEdge" >
+ <AbsoluteDim value="0" />
+ </Dim>
+ <Dim type="Width" >
+ <FontDim type="HorzExtent" padding="6" />
+ </Dim>
+ <Dim type="Height" >
+ <FontDim type="LineSpacing" />
+ </Dim>
+ </Area>
+ </NamedArea>
+ <ImagerySection name="label">
+ <TextComponent>
+ <Area>
+ <Dim type="TopEdge">
+ <AbsoluteDim value="0" />
+ </Dim>
+ <Dim type="LeftEdge">
+ <AbsoluteDim value="3" />
+ </Dim>
+ <Dim type="RightEdge">
+ <UnifiedDim scale="1" offset="-3" type="RightEdge" />
+ </Dim>
+ <Dim type="BottomEdge">
+ <UnifiedDim scale="1" type="BottomEdge" />
+ </Dim>
+ </Area>
+ </TextComponent>
+ </ImagerySection>
+ <ImagerySection name="selection">
+ <ImageryComponent>
+ <Area>
+ <Dim type="TopEdge">
+ <AbsoluteDim value="0" />
+ </Dim>
+ <Dim type="LeftEdge">
+ <AbsoluteDim value="0" />
+ </Dim>
+ <Dim type="RightEdge">
+ <UnifiedDim scale="1" type="RightEdge" />
+ </Dim>
+ <Dim type="BottomEdge">
+ <UnifiedDim scale="1" type="BottomEdge" />
+ </Dim>
+ </Area>
+ <ImageProperty name="SelectionBrush" />
+ <ColourProperty name="SelectionColour" />
+ <VertFormat type="Stretched" />
+ <HorzFormat type="Stretched" />
+ </ImageryComponent>
+ </ImagerySection>
+ <StateImagery name="Enabled">
+ <Layer>
+ <Section section="label">
+ <ColourProperty name="TextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="Disabled">
+ <Layer>
+ <Section section="label">
+ <ColourProperty name="TextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedEnabled">
+ <Layer>
+ <Section section="selection" />
+ <Section section="label">
+ <ColourProperty name="SelectedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ <StateImagery name="SelectedDisabled">
+ <Layer>
+ <Section section="selection" />
+ <Section section="label">
+ <ColourProperty name="SelectedTextColour" />
+ </Section>
+ </Layer>
+ </StateImagery>
+ </WidgetLook>
+
+</Falagard>
+
diff --git a/navit/gui/sdl/datafiles/schemes/GUIScheme.xsd b/navit/gui/sdl/datafiles/schemes/GUIScheme.xsd
new file mode 100644
index 000000000..24dba2073
--- /dev/null
+++ b/navit/gui/sdl/datafiles/schemes/GUIScheme.xsd
@@ -0,0 +1,54 @@
+<?xml version="1.0" ?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xsd:element name="GUIScheme" type="SchemeType" />
+ <xsd:complexType name="SchemeType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Imageset" type="NamedDataType" />
+ <xsd:element name="ImagesetFromImage" type="NamedDataType" />
+ <xsd:element name="Font" type="NamedDataType" />
+ <xsd:element name="LookNFeel" type="FileDataType" />
+ <xsd:element name="WindowSet" type="WindowSetType" />
+ <xsd:element name="WindowRendererSet" type="WindowRendererSetType" />
+ <xsd:element name="WindowAlias" type="WindowAliasType" />
+ <xsd:element name="FalagardMapping" type="FalagardMapType" />
+ </xsd:choice>
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowSetType">
+ <xsd:sequence>
+ <xsd:element name="WindowFactory" type="WindowFactoryType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowRendererSetType">
+ <xsd:sequence>
+ <xsd:element name="WindowRendererFactory" type="WindowRendererFactoryType" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="FileDataType">
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="NamedDataType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ <xsd:attribute name="Filename" type="xsd:string" use="required" />
+ <xsd:attribute name="ResourceGroup" type="xsd:string" use="optional" default="" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowFactoryType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowRendererFactoryType">
+ <xsd:attribute name="Name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="WindowAliasType">
+ <xsd:attribute name="Alias" type="xsd:string" use="required" />
+ <xsd:attribute name="Target" type="xsd:string" use="required" />
+ </xsd:complexType>
+ <xsd:complexType name="FalagardMapType">
+ <xsd:attribute name="WindowType" type="xsd:string" use="required" />
+ <xsd:attribute name="TargetType" type="xsd:string" use="required" />
+ <xsd:attribute name="Renderer" type="xsd:string" use="required" />
+ <xsd:attribute name="LookNFeel" type="xsd:string" use="required" />
+ </xsd:complexType>
+</xsd:schema> \ No newline at end of file
diff --git a/navit/gui/sdl/datafiles/schemes/Mineque.scheme b/navit/gui/sdl/datafiles/schemes/Mineque.scheme
new file mode 100755
index 000000000..34101892b
--- /dev/null
+++ b/navit/gui/sdl/datafiles/schemes/Mineque.scheme
@@ -0,0 +1,67 @@
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLook">
+ <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
+ <Imageset Name="Mineque-Black" Filename="Mineque-Black.imageset" />
+ <LookNFeel Filename="Mineque.looknfeel" />
+ <LookNFeel Filename="TaharezLook.looknfeel" />
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+
+ <FalagardMapping WindowType="NavitGrey/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="NavitGrey/StaticImage" />
+ <FalagardMapping WindowType="NavitGrey/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="NavitGrey/StaticText" />
+
+ <FalagardMapping WindowType="NavitGrey/ZoomInButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/ZoomInButton" />
+ <FalagardMapping WindowType="NavitGrey/ZoomOutButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/ZoomOutButton" />
+ <FalagardMapping WindowType="NavitGrey/SpeakerOffButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/SpeakerOffButton" />
+ <FalagardMapping WindowType="NavitGrey/RouteButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/RouteButton" />
+ <FalagardMapping WindowType="NavitGrey/OptionsButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/OptionsButton" />
+ <FalagardMapping WindowType="NavitGrey/QuitButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/QuitButton" />
+ <FalagardMapping WindowType="NavitGrey/NavitAboutButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/NavitAboutButton" />
+ <FalagardMapping WindowType="NavitGrey/SpeakerButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/SpeakerButton" />
+
+
+ <FalagardMapping WindowType="NavitGrey/ModeSwitchButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/ModeSwitchButton" />
+
+ <FalagardMapping WindowType="NavitGrey/ViewModeSwitchButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="NavitGrey/ViewModeSwitchButton" />
+
+ <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
+ <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
+ <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
+ <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
+ <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
+ <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
+ <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
+ <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
+ <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
+ <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
+ <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
+ <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
+ <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
+ <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
+ <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
+ <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
+ <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
+ <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
+ <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
+ <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
+ <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
+ <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
+ <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
+ <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
+ <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
+ <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
+ <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
+</GUIScheme>
diff --git a/navit/gui/sdl/datafiles/schemes/TaharezLook.scheme b/navit/gui/sdl/datafiles/schemes/TaharezLook.scheme
new file mode 100755
index 000000000..e48ad4cc5
--- /dev/null
+++ b/navit/gui/sdl/datafiles/schemes/TaharezLook.scheme
@@ -0,0 +1,47 @@
+<?xml version="1.0" ?>
+<GUIScheme Name="TaharezLook">
+ <Imageset Name="TaharezLook" Filename="TaharezLook.imageset" />
+ <LookNFeel Filename="TaharezLook.looknfeel" />
+ <WindowRendererSet Filename="CEGUIFalagardWRBase" />
+ <FalagardMapping WindowType="TaharezLook/Button" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Checkbox" TargetType="CEGUI/Checkbox" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/Checkbox" />
+ <FalagardMapping WindowType="TaharezLook/ImageButton" TargetType="CEGUI/PushButton" Renderer="Falagard/Button" LookNFeel="TaharezLook/ImageButton" />
+ <FalagardMapping WindowType="TaharezLook/RadioButton" TargetType="CEGUI/RadioButton" Renderer="Falagard/ToggleButton" LookNFeel="TaharezLook/RadioButton" />
+ <FalagardMapping WindowType="TaharezLook/FrameWindow" TargetType="CEGUI/FrameWindow" Renderer="Falagard/FrameWindow" LookNFeel="TaharezLook/FrameWindow" />
+ <FalagardMapping WindowType="TaharezLook/Titlebar" TargetType="CEGUI/Titlebar" Renderer="Falagard/Titlebar" LookNFeel="TaharezLook/Titlebar" />
+ <FalagardMapping WindowType="TaharezLook/SystemButton" TargetType="CEGUI/PushButton" Renderer="Falagard/SystemButton" LookNFeel="TaharezLook/Button" />
+ <FalagardMapping WindowType="TaharezLook/Editbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/Editbox" />
+ <FalagardMapping WindowType="TaharezLook/MultiLineEditbox" TargetType="CEGUI/MultiLineEditbox" Renderer="Falagard/MultiLineEditbox" LookNFeel="TaharezLook/MultiLineEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Menubar" TargetType="CEGUI/Menubar" Renderer="Falagard/Menubar" LookNFeel="TaharezLook/Menubar" />
+ <FalagardMapping WindowType="TaharezLook/PopupMenu" TargetType="CEGUI/PopupMenu" Renderer="Falagard/PopupMenu" LookNFeel="TaharezLook/PopupMenu" />
+ <FalagardMapping WindowType="TaharezLook/MenuItem" TargetType="CEGUI/MenuItem" Renderer="Falagard/MenuItem" LookNFeel="TaharezLook/MenuItem" />
+ <FalagardMapping WindowType="TaharezLook/AlternateProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/AltProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/ProgressBar" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/ProgressBar" />
+ <FalagardMapping WindowType="TaharezLook/VUMeter" TargetType="CEGUI/ProgressBar" Renderer="Falagard/ProgressBar" LookNFeel="TaharezLook/VUMeter" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/VerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/HorizontalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/VerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/VerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/HorizontalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/HorizontalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbar" TargetType="CEGUI/Scrollbar" Renderer="Falagard/Scrollbar" LookNFeel="TaharezLook/LargeVerticalScrollbar" />
+ <FalagardMapping WindowType="TaharezLook/LargeVerticalScrollbarThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/LargeVerticalScrollbarThumb" />
+ <FalagardMapping WindowType="TaharezLook/TabButton" TargetType="CEGUI/TabButton" Renderer="Falagard/TabButton" LookNFeel="TaharezLook/TabButton" />
+ <FalagardMapping WindowType="TaharezLook/TabControl" TargetType="CEGUI/TabControl" Renderer="Falagard/TabControl" LookNFeel="TaharezLook/TabControl" />
+ <FalagardMapping WindowType="TaharezLook/TabContentPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabContentPane" />
+ <FalagardMapping WindowType="TaharezLook/TabButtonPane" TargetType="DefaultWindow" Renderer="Falagard/Default" LookNFeel="TaharezLook/TabButtonPane" />
+ <FalagardMapping WindowType="TaharezLook/ComboDropList" TargetType="CEGUI/ComboDropList" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/ComboDropList" />
+ <FalagardMapping WindowType="TaharezLook/ComboEditbox" TargetType="CEGUI/Editbox" Renderer="Falagard/Editbox" LookNFeel="TaharezLook/ComboEditbox" />
+ <FalagardMapping WindowType="TaharezLook/Combobox" TargetType="CEGUI/Combobox" Renderer="Falagard/Default" LookNFeel="TaharezLook/Combobox" />
+ <FalagardMapping WindowType="TaharezLook/Listbox" TargetType="CEGUI/Listbox" Renderer="Falagard/Listbox" LookNFeel="TaharezLook/Listbox" />
+ <FalagardMapping WindowType="TaharezLook/ListHeader" TargetType="CEGUI/ListHeader" Renderer="Falagard/ListHeader" LookNFeel="TaharezLook/ListHeader" />
+ <FalagardMapping WindowType="TaharezLook/ListHeaderSegment" TargetType="CEGUI/ListHeaderSegment" Renderer="Falagard/ListHeaderSegment" LookNFeel="TaharezLook/ListHeaderSegment" />
+ <FalagardMapping WindowType="TaharezLook/MultiColumnList" TargetType="CEGUI/MultiColumnList" Renderer="Falagard/MultiColumnList" LookNFeel="TaharezLook/MultiColumnList" />
+ <FalagardMapping WindowType="TaharezLook/Slider" TargetType="CEGUI/Slider" Renderer="Falagard/Slider" LookNFeel="TaharezLook/Slider" />
+ <FalagardMapping WindowType="TaharezLook/SliderThumb" TargetType="CEGUI/Thumb" Renderer="Falagard/Button" LookNFeel="TaharezLook/SliderThumb" />
+ <FalagardMapping WindowType="TaharezLook/ScrollablePane" TargetType="CEGUI/ScrollablePane" Renderer="Falagard/ScrollablePane" LookNFeel="TaharezLook/ScrollablePane" />
+ <FalagardMapping WindowType="TaharezLook/Spinner" TargetType="CEGUI/Spinner" Renderer="Falagard/Default" LookNFeel="TaharezLook/Spinner" />
+ <FalagardMapping WindowType="TaharezLook/Tooltip" TargetType="CEGUI/Tooltip" Renderer="Falagard/Tooltip" LookNFeel="TaharezLook/Tooltip" />
+ <FalagardMapping WindowType="TaharezLook/StaticImage" TargetType="DefaultWindow" Renderer="Falagard/StaticImage" LookNFeel="TaharezLook/StaticImage" />
+ <FalagardMapping WindowType="TaharezLook/StaticText" TargetType="DefaultWindow" Renderer="Falagard/StaticText" LookNFeel="TaharezLook/StaticText" />
+ <FalagardMapping WindowType="TaharezLook/ItemListbox" TargetType="CEGUI/ItemListbox" Renderer="Falagard/ItemListbox" LookNFeel="TaharezLook/ItemListbox" />
+ <FalagardMapping WindowType="TaharezLook/ListboxItem" TargetType="CEGUI/ItemEntry" Renderer="Falagard/ItemEntry" LookNFeel="TaharezLook/ListboxItem" />
+</GUIScheme>
diff --git a/navit/gui/sdl/gui_sdl.h b/navit/gui/sdl/gui_sdl.h
new file mode 100644
index 000000000..877d69e1b
--- /dev/null
+++ b/navit/gui/sdl/gui_sdl.h
@@ -0,0 +1,20 @@
+#include "SDL/SDL.h"
+
+#define XRES 800
+#define YRES 600
+
+
+struct menu_methods;
+struct navit;
+
+extern struct navit *sdl_gui_navit;
+
+
+bool BookmarkGo(const char * name);
+bool FormerDestGo(const char * name);
+
+struct gui_priv {
+ struct navit *nav;
+ int dyn_counter;
+};
+
diff --git a/navit/gui/sdl/gui_sdl_window.cpp b/navit/gui/sdl/gui_sdl_window.cpp
new file mode 100644
index 000000000..4afac7a3d
--- /dev/null
+++ b/navit/gui/sdl/gui_sdl_window.cpp
@@ -0,0 +1,903 @@
+#include "glib.h"
+#include <stdio.h>
+#include <libintl.h>
+
+// FIXME temporary fix for enum
+#include "projection.h"
+
+#include "item.h"
+#include "navit.h"
+#include "vehicle.h"
+#include "profile.h"
+#include "transform.h"
+#include "gui.h"
+#include "coord.h"
+#include "config.h"
+#include "plugin.h"
+#include "callback.h"
+#include "point.h"
+#include "graphics.h"
+#include "gui_sdl.h"
+#include "navigation.h"
+#include "debug.h"
+#include "attr.h"
+#include "track.h"
+#include "menu.h"
+#include "map.h"
+
+
+#include "CEGUI.h"
+
+// FIXME This is for 3d fonts. Needs QuesoGLC. Could probably (and should) be moved to graphics instead
+// since fonts here are handled by CEGUI
+#include "GL/glc.h"
+
+#include "sdl_events.h"
+#include "cegui_keyboard.h"
+#include "wmcontrol.h"
+
+#define VM_2D 0
+#define VM_3D 1
+
+bool VIEW_MODE=VM_3D;
+
+GLdouble eyeX=400;
+GLdouble eyeY=900;
+GLdouble eyeZ=-800;
+GLdouble centerX=400;
+GLdouble centerY=300;
+GLdouble centerZ=0;
+GLdouble upX=0;
+GLdouble upY=-1;
+GLdouble upZ=0;
+
+struct navit *sdl_gui_navit;
+
+#include <CEGUI/RendererModules/OpenGLGUIRenderer/openglrenderer.h>
+#include "CEGUIDefaultResourceProvider.h"
+CEGUI::OpenGLRenderer* renderer;
+
+#undef profile
+#define profile(x,y)
+
+CEGUI::Window* myRoot;
+
+// Temp fix for pluginless mode
+// #define MODULE "gui_sdl"
+GLuint * DLid;
+
+#define _(STRING) gettext(STRING)
+
+char media_window_title[255], media_cmd[255];
+
+struct bookmark{
+ char * name;
+ struct callback *cb;
+ struct bookmark *next;
+} *bookmarks;
+
+struct former_dest{
+ char * name;
+ struct callback *cb;
+ struct former_dest *next;
+} *former_dests;
+
+static int
+gui_sdl_set_graphics(struct gui_priv *this_, struct graphics *gra)
+{
+ dbg(1,"setting up the graphics\n");
+
+ DLid=(GLuint *)graphics_get_data(gra, "opengl_displaylist");
+ if (!DLid)
+ return 1;
+ return 0;
+}
+
+static void
+sdl_update_roadbook(struct navigation *nav)
+{
+
+ using namespace CEGUI;
+
+ struct map *map;
+ struct map_rect *mr;
+
+ if (! nav)
+ return;
+ map=navigation_get_map(nav);
+ if (! map)
+ return;
+ mr=map_rect_new(map, NULL);
+ if (! mr)
+ return;
+
+ // First, ensure the navigation tip is visible. quick workaround for when resuming a destination
+ WindowManager::getSingleton().getWindow("Navit/Routing/Tips")->show();
+
+ // update the 'Navigation Tip' on the main window
+ try {
+ struct attr attr;
+ item_attr_get(map_rect_get_item(mr), attr_navigation_speech, &attr);
+ map_rect_destroy(mr);
+ mr=map_rect_new(map, NULL);
+ WindowManager::getSingleton().getWindow("Navit/Routing/Tips")->setText((CEGUI::utf8*)(attr.u.str));
+ }
+ catch (CEGUI::Exception& e)
+ {
+ fprintf(stderr,"CEGUI Exception occured: \n%s\n", e.getMessage().c_str());
+ printf("Missing control!...\n");
+ }
+
+ // Then, update the whole roadbook
+ try {
+
+ /* Currently we use the 'Navit' text to display the roadbook, until Mineque design a button for that
+ if(! WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->isVisible()){
+ WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->show();
+ }
+ */
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("Roadbook"));
+ mcl->resetList();
+
+ item *item;
+ struct attr attr;
+
+ while ((item=map_rect_get_item(mr))) {
+ mcl->addRow();
+ item_attr_get(item, attr_navigation_short, &attr);
+ ListboxTextItem* itemListbox = new ListboxTextItem(attr.u.str);
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+ mcl->setItem(itemListbox, 0, mcl->getRowCount()-1);
+ }
+ map_rect_destroy(mr);
+ }
+ catch (CEGUI::Exception& e)
+ {
+ dbg(0,"CEGUI Exception occured: \n%s\n", e.getMessage().c_str());
+ dbg(0,"Missing control!\n");
+ }
+
+}
+
+static void show_road_name(){
+ struct tracking *tracking;
+ struct attr road_name_attr;
+ tracking=navit_get_tracking(sdl_gui_navit);
+
+ using namespace CEGUI;
+
+
+ if (tracking && tracking_get_current_attr(tracking, attr_label, &road_name_attr) ) {
+ WindowManager::getSingleton().getWindow("Navit/Routing/CurrentRoadName")->setText((CEGUI::utf8*)(road_name_attr.u.str));
+ }
+
+}
+
+static gboolean gui_timeout_cb(gpointer data)
+{
+ return TRUE;
+}
+
+static int gui_run_main_loop(struct gui_priv *this_)
+{
+ GSource *timeout;
+ using namespace CEGUI;
+ dbg(0,"Entering main loop\n");
+
+ bool must_quit = false;
+
+ // get "run-time" in seconds
+ double last_time_pulse = static_cast<double>(SDL_GetTicks());
+
+ int frames=0;
+ char fps [12];
+
+ struct map_selection sel,sel2;
+
+ memset(&sel, 0, sizeof(sel));
+ memset(&sel2, 0, sizeof(sel2));
+ sel.u.c_rect.rl.x=800;
+ sel.u.c_rect.rl.y=600;
+#if 0
+ sel.next=&sel2;
+ sel2.u.c_rect.rl.x=-200;
+ sel2.u.c_rect.rl.y=0;
+ sel2.u.c_rect.lu.x=1000;
+ sel2.u.c_rect.lu.y=-800;
+ for (int i=0 ; i < layer_end ; i++)
+ sel2.order[i]=-4;
+#endif
+
+ transform_set_screen_selection(navit_get_trans(this_->nav), &sel);
+ navit_draw(this_->nav);
+
+ bool enable_timer=0;
+
+ struct navigation *navig;
+ navig=navit_get_navigation(sdl_gui_navit);
+
+ navigation_register_callback(navig,
+ attr_navigation_long,
+ callback_new_0((void (*)())sdl_update_roadbook)
+ );
+
+ timeout = g_timeout_source_new(100);
+ g_source_set_callback(timeout, gui_timeout_cb, NULL, NULL);
+ g_source_attach(timeout, NULL);
+ while (!must_quit)
+ {
+ if(enable_timer)
+ profile(0,NULL);
+ glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ if(VIEW_MODE==VM_3D){
+ gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+ }
+
+ // FIXME This is to draw a ground. This is ugly and need to be fixed.
+ // Without it, we see the color of sky under the roads.
+ glColor4f(0.0f,0.7f,0.35f,1.0f);
+ glBegin(GL_POLYGON);
+ glVertex3f( -800,-600*3, 0.0f);
+ glVertex3f( -800,600*2, 0.0f);
+ glVertex3f( 1600,600*2, 0.0f);
+ glVertex3f( 1600,-600*3, 0.0f);
+ glEnd();
+
+
+ if(enable_timer)
+ profile(0,"graphics_redraw");
+// if (!g_main_context_iteration (NULL, FALSE))
+ // sleep(1);
+ g_main_context_iteration (NULL, TRUE);
+ // sleep(1);
+ if(enable_timer)
+ profile(0,"main context");
+
+ show_road_name();
+
+ if (DLid && *DLid)
+ glCallList(*DLid);
+ else
+ navit_draw_displaylist(sdl_gui_navit);
+
+ inject_input(must_quit);
+ if(enable_timer)
+ profile(0,"inputs");
+
+ // Render the cursor.
+ int x=400;
+ int y=480;
+ float cursor_size=15.0f;
+ glColor4f(0.0f,1.0f,0.0f,0.75f);
+ glEnable(GL_BLEND);
+ glBegin(GL_TRIANGLES);
+ glVertex3f( x, y-cursor_size, 0.0f);
+ glVertex3f(x-cursor_size,y+cursor_size, 0.0f);
+ glVertex3f( x+cursor_size,y+cursor_size, 0.0f);
+ glEnd();
+ glDisable(GL_BLEND);
+ if(enable_timer)
+ profile(0,"cursor");
+
+ frames++;
+ if(SDL_GetTicks()-last_time_pulse>1000){
+ sprintf(fps,"%i fps",frames); // /(SDL_GetTicks()/1000));
+ frames=0;
+ last_time_pulse = SDL_GetTicks();
+ }
+ WindowManager::getSingleton().getWindow("OSD/Satellites")->setText(fps);
+
+ if(enable_timer)
+ profile(0,"fps");
+
+ CEGUI::System::getSingleton().renderGUI();
+ if(enable_timer)
+ profile(0,"GUI");
+
+ SDL_GL_SwapBuffers();
+ }
+ g_source_destroy(timeout);
+
+}
+
+static struct menu_priv *
+add_menu(struct menu_priv *menu, struct menu_methods *meth, char *name, enum menu_type type, struct callback *cb);
+
+static struct menu_methods menu_methods = {
+ add_menu,
+};
+
+struct menu_priv {
+ char *path;
+// GtkAction *action;
+ struct gui_priv *gui;
+ enum menu_type type;
+ struct callback *cb;
+ struct menu_priv *child;
+ struct menu_priv *sibling;
+ gulong handler_id;
+ guint merge_id;
+};
+
+#define MENU_BOOKMARK 2
+#define MENU_FORMER_DEST 3
+
+static struct menu_priv *
+add_menu(struct menu_priv *menu, struct menu_methods *meth, char *name, enum menu_type type, struct callback *cb)
+{
+ using namespace CEGUI;
+ *meth=menu_methods;
+ dbg(0,"callback : %s\n",name);
+
+ if(menu==(struct menu_priv *)(MENU_BOOKMARK)){
+ dbg(0,"Item is a bookmark\n");
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("Bookmarks/Listbox"));
+
+ ListboxTextItem* itemListbox = new ListboxTextItem((CEGUI::utf8*)(name));
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+ mcl->addRow(itemListbox,0);
+
+ struct bookmark *newB = g_new0(struct bookmark, 1);
+ newB->name=g_strdup(name);
+ newB->cb=cb;
+ if (newB) {
+ newB->next = bookmarks;
+ bookmarks = newB;
+ }
+
+ }
+
+ if(menu==(struct menu_priv *)(MENU_FORMER_DEST)){
+ dbg(0,"Item is a former destination\n");
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("FormerDests/Listbox"));
+
+ ListboxTextItem* itemListbox = new ListboxTextItem((CEGUI::utf8*)(name));
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+ mcl->addRow(itemListbox,0);
+
+ struct former_dest *newB = g_new0(struct former_dest, 1);
+ newB->name=g_strdup(name);
+ newB->cb=cb;
+ if (newB) {
+ newB->next = former_dests;
+ former_dests = newB;
+ }
+
+ }
+
+ if(!strcmp(name,"Bookmarks")){
+ dbg(0,"Menu is the bookmark menu!\n");
+ return (struct menu_priv *)MENU_BOOKMARK;
+ } else if(!strcmp(name,"Former Destinations")){
+ dbg(0,"Menu is the Former Destinations menu!\n");
+ return (struct menu_priv *)MENU_FORMER_DEST;
+ } else {
+ return (struct menu_priv *)1;
+ }
+}
+
+bool BookmarkGo(const char * name)
+{
+ dbg(0,"searching for bookmark %s\n",name);
+ bookmark * bookmark_search=bookmarks;
+ while ( bookmark_search ){
+ dbg(0,"-> %s\n",bookmark_search->name);
+ if(!strcmp(bookmark_search->name,name)){
+ dbg(0,"Got it :)\n");
+ callback_call_0(bookmark_search->cb);
+ }
+ bookmark_search=bookmark_search->next;
+ }
+
+}
+
+bool FormerDestGo(const char * name)
+{
+ dbg(0,"searching for former_dest %s\n",name);
+ former_dest * former_dest_search=former_dests;
+ while ( former_dest_search ){
+ dbg(0,"-> %s\n",former_dest_search->name);
+ if(!strcmp(former_dest_search->name,name)){
+ dbg(0,"Got it :)\n");
+ callback_call_0(former_dest_search->cb);
+ }
+ former_dest_search=former_dest_search->next;
+ }
+
+}
+
+static struct menu_priv *
+gui_sdl_menubar_new(struct gui_priv *this_, struct menu_methods *meth)
+{
+ *meth=menu_methods;
+ return (struct menu_priv *) 1; //gui_gtk_ui_new(this_, meth, "/ui/MenuBar", nav, 0);
+}
+
+static struct menu_priv *
+gui_sdl_popup_new(struct gui_priv *this_, struct menu_methods *meth)
+{
+ return NULL; //gui_gtk_ui_new(this_, meth, "/ui/PopUp", nav, 1);
+}
+
+struct gui_methods gui_sdl_methods = {
+ gui_sdl_menubar_new,
+ gui_sdl_popup_new,
+ gui_sdl_set_graphics,
+ gui_run_main_loop,
+};
+
+
+int init_GL() {
+
+ // Blue sky
+ glClearColor(0.3,0.7,1.0,0);
+
+ if(VIEW_MODE==VM_2D){
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+
+ glOrtho( 0, XRES, YRES, 0, -1, 1 );
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/ViewMode")->setText("2D");
+ } else {
+
+ // Dimensions de la fenetre de rendu
+ glViewport(0, 0, XRES, YRES);
+ // Initialisation de la matrice de projection
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluPerspective(45, 1.0, 0.1, 2800.0);
+ // Rendu avec lissage de Gouraud
+// glShadeModel(GL_SMOOTH);
+ // glEnable(GL_DEPTH_TEST);
+
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+// gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ);
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/ViewMode")->setText("3D");
+ }
+
+ //Display list code
+ // GLuint glGenLists(GLsizei numberOfIDsRequired);
+ // linesDL = glGenLists(1);
+
+ if( glGetError() != GL_NO_ERROR ) {
+ return 0;
+ }
+ return 1;
+}
+
+bool ToggleView(const CEGUI::EventArgs& event)
+{
+ VIEW_MODE=!VIEW_MODE;
+ init_GL();
+}
+
+bool MoveCamera(const CEGUI::EventArgs& event){
+
+ CEGUI::Scrollbar * sb = static_cast<const CEGUI::Scrollbar *>(CEGUI::WindowManager::getSingleton().getWindow("OSD/Scrollbar1"));
+ eyeZ=-sb->getScrollPosition();
+ if (eyeZ>-100){
+ eyeZ=-100;
+ }
+}
+
+
+
+static void init_sdlgui(char * skin_layout,int fullscreen,int tilt, char *image_codec_name)
+{
+ SDL_Surface * screen;
+// atexit (SDL_Quit);
+ SDL_Init (SDL_INIT_VIDEO);
+ int videoFlags;
+ const SDL_VideoInfo *videoInfo;
+ videoInfo = SDL_GetVideoInfo( );
+
+ if ( !videoInfo )
+ {
+ fprintf( stderr, "Video query failed: %s\n",
+ SDL_GetError( ) );
+ }
+
+ /* the flags to pass to SDL_SetVideoMode */
+ videoFlags = SDL_OPENGL; /* Enable OpenGL in SDL */
+ videoFlags |= SDL_GL_DOUBLEBUFFER; /* Enable double buffering */
+ videoFlags |= SDL_HWPALETTE; /* Store the palette in hardware */
+ videoFlags |= SDL_RESIZABLE; /* Enable window resizing */
+
+ /* This checks to see if surfaces can be stored in memory */
+ if ( videoInfo->hw_available )
+ videoFlags |= SDL_HWSURFACE;
+ else
+ videoFlags |= SDL_SWSURFACE;
+
+ /* This checks if hardware blits can be done */
+ if ( videoInfo->blit_hw )
+ videoFlags |= SDL_HWACCEL;
+
+ /* Sets up OpenGL double buffering */
+ SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
+
+ SDL_WM_SetCaption("NavIt - The OpenSource vector based navigation engine", NULL);
+
+ /* get a SDL surface */
+ screen = SDL_SetVideoMode( XRES, YRES, 32,
+ videoFlags );
+
+ if (screen == NULL) {
+ fprintf (stderr, "Can't set SDL: %s\n", SDL_GetError ());
+ exit (1);
+ }
+ if(fullscreen){
+ SDL_WM_ToggleFullScreen(screen);
+ }
+ SDL_ShowCursor (SDL_ENABLE);
+ SDL_EnableUNICODE (1);
+ SDL_EnableKeyRepeat (SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
+
+// init_GL();
+
+ try
+ {
+ using namespace CEGUI;
+ if (image_codec_name) {
+ dbg(0, "Using image codec: %s from config\n", image_codec_name);
+ } else {
+#if defined (HAVE_LIBCEGUISILLYIMAGECODEC)
+ image_codec_name = "SILLYImageCodec";
+#elif defined(HAVE_LIBCEGUIDEVILIMAGECODEC)
+ image_codec_name = "DevILImageCodec";
+#elif defined (HAVE_LIBCEGUITGAIMAGECODEC)
+ image_codec_name = "TGAImageCodec";
+#else
+ fprintf (stderr, "No default image codec available. Try setting image_codec in your config\n");
+ exit (1);
+#endif
+ dbg(0, "Using default image codec: %s\n", image_codec_name);
+ }
+ CEGUI::OpenGLRenderer::setDefaultImageCodecName(image_codec_name);
+
+ CEGUI::System::setDefaultXMLParserName(CEGUI::String("TinyXMLParser"));
+ dbg(0, "Using %s as the default CEGUI XML Parser\n", CEGUI::System::getDefaultXMLParserName().c_str());
+ renderer = new CEGUI::OpenGLRenderer(0,XRES,YRES);
+ new CEGUI::System(renderer);
+
+ SDL_ShowCursor(SDL_ENABLE);
+ SDL_EnableUNICODE(1);
+ SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
+
+ CEGUI::DefaultResourceProvider* rp = static_cast<CEGUI::DefaultResourceProvider*>
+ (System::getSingleton().getResourceProvider());
+
+
+ char *filename;
+
+ filename=g_strdup_printf("%s/share/navit/datafiles", getenv("NAVIT_PREFIX"));
+
+ if (FILE * file = fopen(filename, "r")){
+ fclose(file);
+ dbg(0,"Ressources can be loaded from %s\n",filename);
+ } else {
+ filename=g_strdup_printf("./gui/sdl/datafiles");
+ dbg(0,"Failling back to %s",filename);
+ }
+
+ dbg(0,"Loading SDL datafiles from %s\n",filename);
+
+ rp->setResourceGroupDirectory("schemes", g_strdup_printf("%s/schemes/",filename));
+ rp->setResourceGroupDirectory("imagesets", g_strdup_printf("%s/imagesets/",filename));
+ rp->setResourceGroupDirectory("fonts", g_strdup_printf("%s/fonts/",filename));
+ rp->setResourceGroupDirectory("layouts", g_strdup_printf("%s/layouts/",filename));
+ rp->setResourceGroupDirectory("looknfeels", g_strdup_printf("%s/looknfeel/",filename));
+ rp->setResourceGroupDirectory("lua_scripts", g_strdup_printf("%s/lua_scripts/",filename));
+ g_free(filename);
+
+
+ CEGUI::Imageset::setDefaultResourceGroup("imagesets");
+ CEGUI::Font::setDefaultResourceGroup("fonts");
+ CEGUI::Scheme::setDefaultResourceGroup("schemes");
+ CEGUI::WidgetLookManager::setDefaultResourceGroup("looknfeels");
+ CEGUI::WindowManager::setDefaultResourceGroup("layouts");
+ CEGUI::ScriptModule::setDefaultResourceGroup("lua_scripts");
+
+ char buffer [50];
+ sprintf (buffer, "%s.scheme", skin_layout);
+ dbg(1,"Loading scheme : %s\n",buffer);
+
+ CEGUI::SchemeManager::getSingleton().loadScheme(buffer);
+
+ CEGUI::FontManager::getSingleton().createFont("DejaVuSans-10.font");
+ CEGUI::FontManager::getSingleton().createFont("DejaVuSans-12.font");
+ CEGUI::FontManager::getSingleton().createFont("DejaVuSans-14.font");
+
+ CEGUI::System::getSingleton().setDefaultFont("DejaVuSans-10");
+
+ CEGUI::WindowManager& wmgr = CEGUI::WindowManager::getSingleton();
+
+ dbg(1,"Loading layout : %s\n",buffer);
+
+ sprintf (buffer, "%s.layout", skin_layout);
+
+ myRoot = CEGUI::WindowManager::getSingleton().loadWindowLayout(buffer);
+
+ CEGUI::System::getSingleton().setGUISheet(myRoot);
+
+ try {
+
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/Quit")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ButtonQuit));
+// CEGUI::WindowManager::getSingleton().getWindow("OSD/Quit")->setText(_("Quit"));
+
+ CEGUI::WindowManager::getSingleton().getWindow("ZoomInButton")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ZoomIn));
+// CEGUI::WindowManager::getSingleton().getWindow("ZoomInButton")->setText(_("ZoomIn"));
+
+ CEGUI::WindowManager::getSingleton().getWindow("ZoomOutButton")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ZoomOut));
+// CEGUI::WindowManager::getSingleton().getWindow("ZoomOutButton")->setText(_("ZoomOut"));
+
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox")->subscribeEvent(Window::EventKeyUp, Event::Subscriber(DestinationEntryChange));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox")->subscribeEvent(Window::EventMouseButtonDown, Event::Subscriber(handleMouseEnters));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox")->subscribeEvent(Window::EventKeyUp, Event::Subscriber(DestinationEntryChange));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox")->subscribeEvent(Window::EventMouseButtonDown, Event::Subscriber(handleMouseEnters));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox")->subscribeEvent(Window::EventKeyUp, Event::Subscriber(DestinationEntryChange));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox")->subscribeEvent(Window::EventMouseButtonDown, Event::Subscriber(handleMouseEnters));
+
+ CEGUI::WindowManager::getSingleton().getWindow("DestinationButton")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(DestinationWindowSwitch));
+ CEGUI::WindowManager::getSingleton().getWindow("DestinationWindow/Address")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(AddressSearchSwitch));
+ CEGUI::WindowManager::getSingleton().getWindow("DestinationWindow/Bookmark")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(BookmarkSelectionSwitch));
+ CEGUI::WindowManager::getSingleton().getWindow("DestinationWindow/FormerDest")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(FormerDestSelectionSwitch));
+
+
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/ViewMode")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ToggleView));
+
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/GO")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ButtonGo));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/KB")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(ShowKeyboard));
+
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/Listbox")->subscribeEvent(MultiColumnList::EventSelectionChanged, Event::Subscriber(ItemSelect));
+ CEGUI::WindowManager::getSingleton().getWindow("Bookmarks/Listbox")->subscribeEvent(MultiColumnList::EventSelectionChanged, Event::Subscriber(BookmarkSelect));
+ CEGUI::WindowManager::getSingleton().getWindow("FormerDests/Listbox")->subscribeEvent(MultiColumnList::EventSelectionChanged, Event::Subscriber(FormerDestSelect));
+
+
+ // Translation for StaticTexts (labels)
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/Country")->setText(_("Country"));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/Town")->setText(_("City"));
+ CEGUI::WindowManager::getSingleton().getWindow("AdressSearch/Street")->setText(_("Street"));
+
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+
+ mcl->setSelectionMode(MultiColumnList::RowSingle) ;
+ mcl->addColumn("Value", 0, cegui_absdim(200.0));
+ mcl->addColumn("ID", 1, cegui_absdim(70.0));
+ mcl->addColumn("Assoc", 2, cegui_absdim(70.0));
+ mcl->addColumn("x", 3, cegui_absdim(70.0));
+ mcl->addColumn("y", 4, cegui_absdim(70.0));
+
+ MultiColumnList* mcl2 = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("Roadbook"));
+
+ mcl2->setSelectionMode(MultiColumnList::RowSingle) ;
+ mcl2->addColumn("Instructions", 0, cegui_absdim(700.0));
+
+ MultiColumnList* mcl3 = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("Bookmarks/Listbox"));
+
+ mcl3->setSelectionMode(MultiColumnList::RowSingle) ;
+ mcl3->addColumn("Name", 0, cegui_absdim(700.0));
+
+ MultiColumnList* mcl4 = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("FormerDests/Listbox"));
+
+ mcl4->setSelectionMode(MultiColumnList::RowSingle) ;
+ mcl4->addColumn("Name", 0, cegui_absdim(700.0));
+
+ BuildKeyboard();
+
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/Scrollbar1")->subscribeEvent(Scrollbar::EventScrollPositionChanged, Event::Subscriber(MoveCamera));
+
+ // FIXME : char (conf) -> int (init) -> char (property) = bad
+ char buffer[4];
+ sprintf (buffer,"%i",tilt);
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/Scrollbar1")->setProperty("ScrollPosition",buffer);
+ eyeZ=-tilt;
+
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(RoadBookSwitch));
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->setText(_("RoadBook"));
+
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/nGhostButton")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(Switch_to_nGhost));
+ // this one is maybe not needed anymore
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/RoadbookButton2")->subscribeEvent(PushButton::EventClicked, Event::Subscriber(RoadBookSwitch));
+
+ }
+ catch (CEGUI::Exception& e)
+ {
+ fprintf(stderr,"CEGUI Exception occured: \n%s\n", e.getMessage().c_str());
+ printf("Missing control!...\n");
+ }
+
+ }
+ catch (CEGUI::Exception& e)
+ {
+ fprintf(stderr,"CEGUI Exception occured: \n%s\n", e.getMessage().c_str());
+ printf("quiting...\n");
+ exit(1);
+ }
+ init_GL();
+ // Force centering view on cursor
+// navit_toggle_cursor(gui->nav);
+ // Force refresh on gps update
+// navit_toggle_tracking(gui->nav);
+
+}
+
+static void vehicle_callback_handler( struct navit *nav, struct vehicle *v){
+ char buffer [50];
+ struct attr attr;
+ int sats=0, sats_used=0;
+
+ if (vehicle_get_attr(v, attr_position_speed, &attr))
+ sprintf (buffer, "%02.02f km/h", *attr.u.numd);
+ else
+ strcpy (buffer, "N/A");
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/SpeedoMeter")->setText(buffer);
+
+ if (vehicle_get_attr(v, attr_position_height, &attr))
+ sprintf (buffer, "%.f m", *attr.u.numd);
+ else
+ strcpy (buffer, "N/A");
+ CEGUI::WindowManager::getSingleton().getWindow("OSD/Altimeter")->setText(buffer);
+
+ if (vehicle_get_attr(v, attr_position_sats, &attr))
+ sats=attr.u.num;
+ if (vehicle_get_attr(v, attr_position_sats_used, &attr))
+ sats_used=attr.u.num;
+// printf(" sats : %i, used %i: \n",sats,sats_used);
+ // Sat image hardcoded for now. may break the TaharezSkin
+ // setProperty("Image", CEGUI::PropertyHelper::imageToString( yourImageSet->getImage( "yourImageName" ) ) );
+
+ try {
+ if(sats_used>1){
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar1")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOn");
+ } else {
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar1")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOff");
+ }
+
+ if(sats_used>3){
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar2")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOn");
+ } else {
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar2")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOff");
+ }
+
+ if(sats_used>5){
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar3")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOn");
+ } else {
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar3")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOff");
+ }
+
+ if(sats_used>7){
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar4")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOn");
+ } else {
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar4")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOff");
+ }
+
+ if(sats_used>8){
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar5")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOn");
+ } else {
+ CEGUI::WindowManager::getSingleton().getWindow("SateliteStrenghBar5")->setProperty("Image","set:Mineque-Black image:SateliteStrenghBarOff");
+ }
+ }
+ catch (CEGUI::Exception& e)
+ {
+ dbg(1,"Warning : you skin doesn't have the satellitebars. You should use Mineque's skin.\n");
+ }
+
+}
+
+static struct gui_priv *
+gui_sdl_new(struct navit *nav, struct gui_methods *meth, struct attr **attrs)
+{
+ dbg(1,"Begin SDL init\n");
+ struct gui_priv *this_;
+ sdl_gui_navit=nav;
+
+ if(sdl_gui_navit){
+ dbg(1,"VALID navit instance in gui\n");
+ } else {
+ dbg(1,"Invalid navit instance in gui\n");
+ }
+ if(nav){
+ dbg(1,"VALID source navit instance in gui\n");
+ } else {
+ dbg(1,"Invalid source navit instance in gui\n");
+ }
+
+ *meth=gui_sdl_methods;
+
+ this_=g_new0(struct gui_priv, 1);
+ int fullscreen=0;
+
+ struct attr *fullscreen_setting=attr_search(attrs, NULL, attr_fullscreen);
+ //FIXME currently, we only check if fullscreen is declared, but not its value
+ if(fullscreen_setting){
+ fullscreen=1;
+ printf("fullscreen\n");
+ } else {
+ fullscreen=0;
+ printf("Normal screen\n");
+ }
+
+ int tilt=400;
+ struct attr *tilt_setting=attr_search(attrs, NULL, attr_tilt);
+ if(tilt_setting){
+ if(sscanf(tilt_setting->u.str,"%i",&tilt)){
+ dbg(0,"tilt set to %i\n",tilt);
+ } else {
+ dbg(0,"title was not recognized : %s\n",tilt_setting->u.str);
+ }
+ } else {
+ dbg(0,"tilt is not set\n");
+ }
+
+ struct attr *view_mode_setting=attr_search(attrs, NULL, attr_view_mode);
+ if(view_mode_setting){
+ if(!strcmp(view_mode_setting->u.str,"2D")){
+ dbg(0,"View mode is 2D\n");
+ VIEW_MODE=VM_2D;
+ } else {
+ dbg(0,"view mode is something else : %s\n",view_mode_setting->u.str);
+ }
+
+ } else {
+ dbg(0,"view_mode is not set\n");
+ }
+
+ struct attr *media_cmd_setting=attr_search(attrs, NULL, attr_media_cmd);
+ if(media_cmd_setting){
+ dbg(0,"setting media_cmd to %s\n",media_cmd_setting->u.str);
+ strcpy(media_cmd,media_cmd_setting->u.str);
+ } else {
+// strcpy(media_cmd_setting->u.str,media_window_title);
+ }
+
+ struct attr *media_window_title_setting=attr_search(attrs, NULL, attr_media_window_title);
+ if(media_window_title_setting){
+ strcpy(media_window_title,media_window_title_setting->u.str);
+ } else {
+// strcpy(media_cmd_setting->u.str,media_window_title);
+ }
+
+ struct attr *image_codec_setting=attr_search(attrs, NULL, attr_image_codec);
+ char *image_codec_name=NULL;
+ if (image_codec_setting)
+ image_codec_name=image_codec_setting->u.str;
+ struct attr *skin_setting=attr_search(attrs, NULL, attr_skin);
+ if(skin_setting){
+ init_sdlgui(skin_setting->u.str,fullscreen,tilt, image_codec_name);
+ } else {
+ g_warning("Warning, no skin set for <sdl> in navit.xml. Using default one");
+ init_sdlgui("TaharezLook",fullscreen,tilt, image_codec_name);
+ }
+
+
+ dbg(1,"End SDL init\n");
+
+ //gui_sdl_window.cpp:710: error: invalid conversion from 'void (*)(vehicle*)' to 'void (*)()'
+
+ /* add callback for position updates */
+ struct callback *cb=callback_new_attr_0(callback_cast(vehicle_callback_handler), attr_position_coord_geo);
+
+ navit_add_callback(nav,cb);
+ this_->nav=nav;
+
+ return this_;
+}
+
+void
+plugin_init(void)
+{
+ dbg(1,"registering sdl plugin\n");
+ plugin_register_gui_type("sdl", gui_sdl_new);
+}
diff --git a/navit/gui/sdl/sdl_events.cpp b/navit/gui/sdl/sdl_events.cpp
new file mode 100644
index 000000000..7a121753f
--- /dev/null
+++ b/navit/gui/sdl/sdl_events.cpp
@@ -0,0 +1,810 @@
+#include "CEGUI.h"
+#include "sdl_events.h"
+#include "gui_sdl.h"
+
+#include <CEGUI/RendererModules/OpenGLGUIRenderer/openglrenderer.h>
+
+// FIXME temporary fix for enum
+#include "projection.h"
+#include "item.h"
+#include "navit.h"
+#include "debug.h"
+#include "track.h"
+#include "search.h"
+#include "coord.h"
+#include "country.h"
+#include "string.h"
+
+// Library for window switching (-> nGhost)
+#include "wmcontrol.h"
+
+
+struct sdl_destination{
+ int country;
+ int town;
+ int town_street_assoc;
+ int current_search;
+} SDL_dest;
+
+
+static struct search_param {
+ struct navit *nav;
+ struct mapset *ms;
+ struct search_list *sl;
+ struct attr attr;
+ } search_param;
+
+
+void route_to(int x,int y){
+ struct pcoord pos;
+ pos.x=x;
+ pos.y=y;
+ /* FIXME: Get projection from list like x,y or use pcoord from search directly */
+ pos.pro = projection_mg;
+ using namespace CEGUI;
+ extern struct navit *sdl_gui_navit;
+
+ try {
+ WindowManager::getSingleton().getWindow("AdressSearchWindow")->hide();
+ WindowManager::getSingleton().getWindow("Navit/Routing/Tips")->show();
+
+// WindowManager::getSingleton().getWindow("Navit/ProgressWindow")->show();
+ // route_set_destination(co->route, &pos);
+ // I could have been using search->nav instead of sdl_gui_navit. is it better this way?
+
+// WindowManager::getSingleton().getWindow("Navit/ProgressWindow")->hide();
+// WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->show();
+// WindowManager::getSingleton().getWindow("OSD/ETA")->show();
+ }
+ catch (CEGUI::Exception& e)
+ {
+ fprintf(stderr,"CEGUI Exception occured: \n%s\n", e.getMessage().c_str());
+ printf("Missing control!...\n");
+ }
+ navit_set_destination(sdl_gui_navit, &pos, "FIXME");
+
+}
+
+bool Handle_Virtual_Key_Down(const CEGUI::EventArgs& event){
+
+ using namespace CEGUI;
+
+ const WindowEventArgs& we = static_cast<const CEGUI::WindowEventArgs&>(event);
+ String senderID = we.window->getName();
+
+ Window* editbox = WindowManager::getSingleton().getWindow("Navit/Keyboard/Input");
+ String content=editbox->getText();
+
+
+ if(senderID=="OK"){
+ WindowManager::getSingleton().getWindow("Navit/Keyboard")->hide();
+ return 0;
+ } else if(senderID=="BACK"){
+ content=content.substr(0, content.length()-1);
+ editbox->setText(content);
+ } else {
+ content+=senderID;
+ editbox->setText(content);
+ }
+
+ Window* country_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox"));
+ Window* town_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox"));
+ Window* street_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+
+ switch (SDL_dest.current_search) {
+ case SRCH_COUNTRY:
+ country_edit->setText(content);
+ break;
+ case SRCH_TOWN :
+ town_edit->setText(content);
+ break;
+ case SRCH_STREET :
+ street_edit->setText(content);
+ break;
+ }
+ handle_destination_change();
+}
+
+bool handleItemSelect(int r)
+{
+ using namespace CEGUI;
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+
+ ListboxItem * item = mcl->getItemAtGridReference(MCLGridRef(r,0));
+ ListboxItem * itemid = mcl->getItemAtGridReference(MCLGridRef(r,1));
+ ListboxItem * item_assoc = mcl->getItemAtGridReference(MCLGridRef(r,2));
+
+
+ Window* country_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox"));
+ Window* twn_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox"));
+ Window* street_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+
+ if(SDL_dest.current_search==SRCH_COUNTRY){
+ country_edit->setText(item->getText());
+ twn_edit->activate();
+ SDL_dest.current_search=SRCH_TOWN;
+ WindowManager::getSingleton().getWindow("Navit/Keyboard/Input")->setText("");
+
+ } else if(SDL_dest.current_search==SRCH_TOWN){
+ twn_edit->setText(item->getText());
+
+ ListboxItem * itemx = mcl->getItemAtGridReference(MCLGridRef(r,3));
+ ListboxItem * itemy = mcl->getItemAtGridReference(MCLGridRef(r,4));
+
+ Window* Dest_x = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_x"));
+ Dest_x->setText(itemx->getText().c_str());
+
+ Window* Dest_y = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_y"));
+ Dest_y->setText(itemy->getText().c_str());
+
+ mcl->resetList();
+
+ SDL_dest.current_search=SRCH_STREET;
+ street_edit->activate();
+ WindowManager::getSingleton().getWindow("Navit/Keyboard/Input")->setText("");
+
+ } else if(SDL_dest.current_search==SRCH_STREET){
+ street_edit->setText(item->getText());
+
+ WindowManager::getSingleton().getWindow("Navit/Keyboard")->hide();
+
+ ListboxItem * itemx = mcl->getItemAtGridReference(MCLGridRef(r,3));
+ ListboxItem * itemy = mcl->getItemAtGridReference(MCLGridRef(r,4));
+
+ Window* Dest_x = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_x"));
+ Dest_x->setText(itemx->getText().c_str());
+
+ Window* Dest_y = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_y"));
+ Dest_y->setText(itemy->getText().c_str());
+
+ mcl->resetList();
+
+ SDL_dest.current_search=SRCH_STREET;
+
+ WindowManager::getSingleton().getWindow("Navit/Keyboard/Input")->setText("");
+
+
+ } else if (SDL_dest.current_search==SRCH_NUMBER){
+
+ struct coord pos;
+ ListboxItem * itemx = mcl->getItemAtGridReference(MCLGridRef(r,3));
+ ListboxItem * itemy = mcl->getItemAtGridReference(MCLGridRef(r,4));
+
+ pos.x=atoi(itemx->getText().c_str());
+ pos.y=atoi(itemy->getText().c_str());
+
+ route_to(pos.x,pos.y);
+ }
+
+ return true;
+}
+
+bool route_clear(const CEGUI::EventArgs& event)
+{
+// navit_set_destination(gui->nav, NULL, NULL);
+}
+
+bool ItemSelect(const CEGUI::EventArgs& event)
+{
+ //FIXME maybe merge with handleItemSelect
+ using namespace CEGUI;
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+ ListboxItem * item = mcl->getFirstSelectedItem();
+ handleItemSelect(mcl->getItemRowIndex(item));
+}
+
+bool BookmarkSelect(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+ dbg(0,"1\n");
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("Bookmarks/Listbox"));
+ dbg(0,"2\n");
+ ListboxItem * item = mcl->getFirstSelectedItem();
+ if(item){
+ dbg(0,"item %s is at row %i\n",item->getText().c_str(),mcl->getItemRowIndex(item));
+ BookmarkGo(item->getText().c_str());
+ }
+ WindowManager::getSingleton().getWindow("BookmarkSelection")->hide();
+}
+
+bool FormerDestSelect(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+ dbg(0,"1\n");
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("FormerDests/Listbox"));
+ dbg(0,"2\n");
+ ListboxItem * item = mcl->getFirstSelectedItem();
+ if(item){
+ dbg(0,"item %s is at row %i\n",item->getText().c_str(),mcl->getItemRowIndex(item));
+ FormerDestGo(item->getText().c_str());
+ }
+ WindowManager::getSingleton().getWindow("FormerDestSelection")->hide();
+ dbg(0,"hided\n");
+}
+
+bool handleMouseEnters(const CEGUI::EventArgs& event)
+{
+ // FIXME this whole function could maybe be removed
+ const CEGUI::WindowEventArgs& we = static_cast<const CEGUI::WindowEventArgs&>(event);
+
+ // FIXME theses variables should be shared
+ extern CEGUI::OpenGLRenderer* renderer;
+
+ using namespace CEGUI;
+ WindowManager::getSingleton().getWindow("Navit/Keyboard/Input")->setText("");
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+
+ String senderID = we.window->getName();
+
+ if (senderID == "AdressSearch/CountryEditbox"){
+ // First, clean off the Street and Town Editbox
+ Window* town_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox"));
+ town_edit->setText("");
+ Window* street_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+ street_edit->setText("");
+ SDL_dest.current_search=SRCH_COUNTRY;
+
+ } else if (senderID == "AdressSearch/TownEditbox"){
+ // First, clean off the Street Editbox
+ Window* street_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+ street_edit->setText("");
+ SDL_dest.current_search=SRCH_TOWN;
+
+ } else if (senderID == "AdressSearch/StreetEditbox"){
+ // First, make sure the user selected an entry in the town choice. If he hadn't, select the first for him.
+ if(SDL_dest.current_search==SRCH_TOWN){
+ if (mcl->getRowCount()>0)
+ {
+ handleItemSelect(0);
+ }
+ }
+ SDL_dest.current_search=SRCH_STREET;
+
+ }
+}
+
+
+void handle_destination_change(){
+
+ using namespace CEGUI;
+
+ struct search_param *search=&search_param;
+ struct search_list_result *res;
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+
+
+ if (SDL_dest.current_search==SRCH_COUNTRY)
+ {
+ Editbox* country_edit = static_cast<Editbox*>(WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox"));
+ String content=country_edit->getText();
+
+ mcl->resetList();
+ dbg(0,"Starting a country search : %s\n",content.c_str());
+
+ search->attr.type=attr_country_all;
+
+ // FIXME the following codeblock could be shared between country, town and street search
+ search->attr.u.str=(char *)content.c_str();
+
+ search_list_search(search->sl, &search->attr, 1);
+ while((res=search_list_get_result(search->sl))) {
+ ListboxTextItem* itemListbox = new ListboxTextItem((CEGUI::utf8*)(res->country->name));
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+
+ mcl->addRow(itemListbox,0);
+ }
+
+ } else if (SDL_dest.current_search==SRCH_TOWN)
+ {
+
+ Editbox* town_edit = static_cast<Editbox*>(WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox"));
+ String content=town_edit->getText();
+
+
+ mcl->resetList();
+
+ if(strlen(content.c_str())<4){
+
+ } else {
+ dbg(0,"town searching for %s\n",content.c_str());
+ search->attr.type=attr_town_name;
+ search->attr.u.str=(char *)content.c_str();
+
+ search_list_search(search->sl, &search->attr, 1);
+ while((res=search_list_get_result(search->sl))) {
+ ListboxTextItem* itemListbox = new ListboxTextItem((CEGUI::utf8*)(res->town->name));
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+
+ mcl->addRow(itemListbox,0);
+
+ char x [256];
+ sprintf(x,"%li",res->c->x);
+ ListboxTextItem* xitem = new ListboxTextItem(x);
+
+ char y [256];
+ sprintf(y,"%li",res->c->y);
+
+ ListboxTextItem* yitem = new ListboxTextItem(y);
+
+ try
+ {
+ mcl->setItem(xitem, 3, mcl->getRowCount()-1);
+ mcl->setItem(yitem, 4, mcl->getRowCount()-1);
+ }
+ // something went wrong, so cleanup the ListboxTextItem.
+ catch (InvalidRequestException)
+ {
+// delete item;
+ }
+
+ }
+
+ }
+
+
+ } else if (SDL_dest.current_search==SRCH_STREET)
+ {
+ Editbox* street_edit = static_cast<Editbox*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+
+ String content=street_edit->getText();
+ if(strlen(content.c_str())<1){
+
+ } else {
+ // dbg(1,"street searching for %s\n",content.c_str());
+ search->attr.type=attr_street_name;
+ search->attr.u.str=(char *)content.c_str();
+
+ mcl->resetList();
+
+ search_list_search(search->sl, &search->attr, 1);
+ while((res=search_list_get_result(search->sl))) {
+ ListboxTextItem* itemListbox = new ListboxTextItem((CEGUI::utf8*)(res->street->name));
+ itemListbox->setSelectionBrushImage("TaharezLook", "MultiListSelectionBrush");
+
+ mcl->addRow(itemListbox,0);
+
+ char x [256];
+ sprintf(x,"%li",res->c->x);
+ ListboxTextItem* xitem = new ListboxTextItem(x);
+
+ char y [256];
+ sprintf(y,"%li",res->c->y);
+
+ ListboxTextItem* yitem = new ListboxTextItem(y);
+
+ try
+ {
+ mcl->setItem(xitem, 3, mcl->getRowCount()-1);
+ mcl->setItem(yitem, 4, mcl->getRowCount()-1);
+ }
+ // something went wrong, so cleanup the ListboxTextItem.
+ catch (InvalidRequestException)
+ {
+// delete item;
+ }
+
+
+ }
+ }
+ }
+
+}
+
+
+bool DestinationEntryChange(const CEGUI::EventArgs& event)
+{
+ handleMouseEnters(event);
+ handle_destination_change();
+
+ return true;
+}
+
+bool DestinationWindowSwitch(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+
+ WindowManager::getSingleton().getWindow("AdressSearchWindow")->hide();
+ WindowManager::getSingleton().getWindow("BookmarkSelection")->hide();
+ WindowManager::getSingleton().getWindow("FormerDestSelection")->hide();
+
+ if(WindowManager::getSingleton().getWindow("DestinationChoose")->isVisible()){
+ WindowManager::getSingleton().getWindow("DestinationChoose")->hide();
+ } else {
+ WindowManager::getSingleton().getWindow("DestinationChoose")->show();
+ }
+}
+
+bool BookmarkSelectionSwitch(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+ if(WindowManager::getSingleton().getWindow("BookmarkSelection")->isVisible()){
+ WindowManager::getSingleton().getWindow("BookmarkSelection")->hide();
+ } else {
+ WindowManager::getSingleton().getWindow("DestinationChoose")->hide();
+ WindowManager::getSingleton().getWindow("BookmarkSelection")->show();
+ }
+}
+
+bool FormerDestSelectionSwitch(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+ if(WindowManager::getSingleton().getWindow("FormerDestSelection")->isVisible()){
+ WindowManager::getSingleton().getWindow("FormerDestSelection")->hide();
+ } else {
+ WindowManager::getSingleton().getWindow("DestinationChoose")->hide();
+ WindowManager::getSingleton().getWindow("FormerDestSelection")->show();
+ }
+}
+
+bool AddressSearchSwitch(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+ WindowManager::getSingleton().getWindow("DestinationChoose")->hide();
+ WindowManager::getSingleton().getWindow("AdressSearchWindow")->show();
+
+
+ if(sdl_gui_navit){
+ } else {
+ dbg(0,"*** Invalid navit instance in sdl_events\n");
+ }
+ struct search_param *search=&search_param;
+ struct search_list_result *res;
+
+ // dbg(1,"search->nav=sdl_gui_navit;\n");
+ search->nav=sdl_gui_navit;
+ // dbg(1,"search->ms=navit_get_mapset(sdl_gui_navit);\n");
+ search->ms=navit_get_mapset(sdl_gui_navit);
+ // dbg(1,"search->sl=search_list_new(search->ms);\n");
+ search->sl=search_list_new(search->ms);
+
+
+ const CEGUI::WindowEventArgs& we = static_cast<const CEGUI::WindowEventArgs&>(event);
+
+ Window* town_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/TownEditbox"));
+ town_edit->setText("");
+ Window* street_edit = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/StreetEditbox"));
+ street_edit->setText("");
+ town_edit->activate();
+
+ SDL_dest.current_search=SRCH_COUNTRY;
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+ mcl->resetList();
+
+
+ // Code to get the current country and set it by default for the search
+ struct attr search_attr, country_name, *country_attr;
+ struct tracking *tracking;
+ struct country_search *cs;
+ struct item *item;
+
+
+ Editbox* country_edit = static_cast<Editbox*>(WindowManager::getSingleton().getWindow("AdressSearch/CountryEditbox"));
+
+ country_attr=country_default();
+ tracking=navit_get_tracking(sdl_gui_navit);
+ if (tracking && tracking_get_current_attr(tracking, attr_country_id, &search_attr))
+ country_attr=&search_attr;
+ cs=country_search_new(country_attr, 0);
+ item=country_search_get_item(cs);
+ if (item && item_attr_get(item, attr_country_name, &country_name)){
+ country_edit->setText(country_name.u.str);
+ handle_destination_change();
+ }
+ country_search_destroy(cs);
+
+ SDL_dest.current_search=SRCH_TOWN;
+
+ return true;
+}
+
+bool Switch_to_nGhost(const CEGUI::EventArgs& event)
+{
+ extern char media_window_title[255], media_cmd[255];
+ dbg(0,"trying to switch to %s (%s)\n",media_window_title,media_cmd);
+ if (window_switch(media_window_title)==EXIT_FAILURE)
+ {
+ popen(media_cmd,"r");
+ }
+
+}
+
+
+bool RoadBookSwitch(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+
+// const CEGUI::WindowEventArgs& we = static_cast<const CEGUI::WindowEventArgs&>(event);
+ if(WindowManager::getSingleton().getWindow("Navit/RoadBook")->isVisible()){
+ WindowManager::getSingleton().getWindow("Navit/RoadBook")->hide();
+ WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->show();
+ } else {
+ WindowManager::getSingleton().getWindow("Navit/RoadBook")->show();
+ WindowManager::getSingleton().getWindow("OSD/RoadbookButton")->hide();
+ }
+ return true;
+}
+
+bool ButtonGo(const CEGUI::EventArgs& event)
+{
+ using namespace CEGUI;
+
+ MultiColumnList* mcl = static_cast<MultiColumnList*>(WindowManager::getSingleton().getWindow("AdressSearch/Listbox"));
+ // First, make sure the user selected an entry in the town choice. If he hadn't, select the first for him.
+ if(SDL_dest.current_search==SRCH_TOWN){
+ if (mcl->getRowCount()>0)
+ {
+ handleItemSelect(0);
+ }
+ }
+
+
+ Window* Dest_x = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_x"));
+ Window* Dest_y = static_cast<Window*>(WindowManager::getSingleton().getWindow("AdressSearch/Dest_y"));
+
+ extern struct navit *sdl_gui_navit;
+ route_to(atoi(Dest_x->getText().c_str()),atoi(Dest_y->getText().c_str()));
+
+ return true;
+}
+
+
+bool ZoomIn(const CEGUI::EventArgs& event)
+{
+ extern struct navit *sdl_gui_navit;
+ navit_zoom_in(sdl_gui_navit, 2, NULL);
+
+}
+
+bool ZoomOut(const CEGUI::EventArgs& event)
+{
+ extern struct navit *sdl_gui_navit;
+ navit_zoom_out(sdl_gui_navit, 2, NULL);
+}
+
+bool ButtonQuit(const CEGUI::EventArgs& event)
+{
+ exit(0);
+}
+
+
+
+
+// Nothing really interesting below.
+
+void handle_mouse_down(Uint8 button)
+{
+ switch ( button )
+ {
+ // handle real mouse buttons
+ case SDL_BUTTON_LEFT:
+ CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::LeftButton);
+ break;
+ case SDL_BUTTON_MIDDLE:
+ CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MiddleButton);
+ break;
+ case SDL_BUTTON_RIGHT:
+ CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::RightButton);
+ break;
+
+ // handle the mouse wheel
+ case SDL_BUTTON_WHEELDOWN:
+ CEGUI::System::getSingleton().injectMouseWheelChange( -1 );
+ break;
+ case SDL_BUTTON_WHEELUP:
+ CEGUI::System::getSingleton().injectMouseWheelChange( +1 );
+ break;
+ }
+}
+
+
+void handle_mouse_up(Uint8 button)
+{
+ switch ( button )
+ {
+ case SDL_BUTTON_LEFT:
+ CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::LeftButton);
+ break;
+ case SDL_BUTTON_MIDDLE:
+ CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MiddleButton);
+ break;
+ case SDL_BUTTON_RIGHT:
+ CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::RightButton);
+ break;
+ }
+}
+
+void inject_time_pulse(double& last_time_pulse)
+{
+ // get current "run-time" in seconds
+ double t = 0.001*SDL_GetTicks();
+
+ // inject the time that passed since the last call
+ CEGUI::System::getSingleton().injectTimePulse( float(t-last_time_pulse) );
+
+ // store the new time as the last time
+ last_time_pulse = t;
+}
+
+ CEGUI::uint SDLKeyToCEGUIKey(SDLKey key)
+ {
+ using namespace CEGUI;
+ switch (key)
+ {
+ case SDLK_BACKSPACE: return Key::Backspace;
+ case SDLK_TAB: return Key::Tab;
+ case SDLK_RETURN: return Key::Return;
+ case SDLK_PAUSE: return Key::Pause;
+ case SDLK_ESCAPE: return Key::Escape;
+ case SDLK_SPACE: return Key::Space;
+ case SDLK_COMMA: return Key::Comma;
+ case SDLK_MINUS: return Key::Minus;
+ case SDLK_PERIOD: return Key::Period;
+ case SDLK_SLASH: return Key::Slash;
+ case SDLK_0: return Key::Zero;
+ case SDLK_1: return Key::One;
+ case SDLK_2: return Key::Two;
+ case SDLK_3: return Key::Three;
+ case SDLK_4: return Key::Four;
+ case SDLK_5: return Key::Five;
+ case SDLK_6: return Key::Six;
+ case SDLK_7: return Key::Seven;
+ case SDLK_8: return Key::Eight;
+ case SDLK_9: return Key::Nine;
+ case SDLK_COLON: return Key::Colon;
+ case SDLK_SEMICOLON: return Key::Semicolon;
+ case SDLK_EQUALS: return Key::Equals;
+ case SDLK_LEFTBRACKET: return Key::LeftBracket;
+ case SDLK_BACKSLASH: return Key::Backslash;
+ case SDLK_RIGHTBRACKET: return Key::RightBracket;
+ case SDLK_a: return Key::A;
+ case SDLK_b: return Key::B;
+ case SDLK_c: return Key::C;
+ case SDLK_d: return Key::D;
+ case SDLK_e: return Key::E;
+ case SDLK_f: return Key::F;
+ case SDLK_g: return Key::G;
+ case SDLK_h: return Key::H;
+ case SDLK_i: return Key::I;
+ case SDLK_j: return Key::J;
+ case SDLK_k: return Key::K;
+ case SDLK_l: return Key::L;
+ case SDLK_m: return Key::M;
+ case SDLK_n: return Key::N;
+ case SDLK_o: return Key::O;
+ case SDLK_p: return Key::P;
+ case SDLK_q: return Key::Q;
+ case SDLK_r: return Key::R;
+ case SDLK_s: return Key::S;
+ case SDLK_t: return Key::T;
+ case SDLK_u: return Key::U;
+ case SDLK_v: return Key::V;
+ case SDLK_w: return Key::W;
+ case SDLK_x: return Key::X;
+ case SDLK_y: return Key::Y;
+ case SDLK_z: return Key::Z;
+ case SDLK_DELETE: return Key::Delete;
+ case SDLK_KP0: return Key::Numpad0;
+ case SDLK_KP1: return Key::Numpad1;
+ case SDLK_KP2: return Key::Numpad2;
+ case SDLK_KP3: return Key::Numpad3;
+ case SDLK_KP4: return Key::Numpad4;
+ case SDLK_KP5: return Key::Numpad5;
+ case SDLK_KP6: return Key::Numpad6;
+ case SDLK_KP7: return Key::Numpad7;
+ case SDLK_KP8: return Key::Numpad8;
+ case SDLK_KP9: return Key::Numpad9;
+ case SDLK_KP_PERIOD: return Key::Decimal;
+ case SDLK_KP_DIVIDE: return Key::Divide;
+ case SDLK_KP_MULTIPLY: return Key::Multiply;
+ case SDLK_KP_MINUS: return Key::Subtract;
+ case SDLK_KP_PLUS: return Key::Add;
+ case SDLK_KP_ENTER: return Key::NumpadEnter;
+ case SDLK_KP_EQUALS: return Key::NumpadEquals;
+ case SDLK_UP: return Key::ArrowUp;
+ case SDLK_DOWN: return Key::ArrowDown;
+ case SDLK_RIGHT: return Key::ArrowRight;
+ case SDLK_LEFT: return Key::ArrowLeft;
+ case SDLK_INSERT: return Key::Insert;
+ case SDLK_HOME: return Key::Home;
+ case SDLK_END: return Key::End;
+ case SDLK_PAGEUP: return Key::PageUp;
+ case SDLK_PAGEDOWN: return Key::PageDown;
+ case SDLK_F1: return Key::F1;
+ case SDLK_F2: return Key::F2;
+ case SDLK_F3: return Key::F3;
+ case SDLK_F4: return Key::F4;
+ case SDLK_F5: return Key::F5;
+ case SDLK_F6: return Key::F6;
+ case SDLK_F7: return Key::F7;
+ case SDLK_F8: return Key::F8;
+ case SDLK_F9: return Key::F9;
+ case SDLK_F10: return Key::F10;
+ case SDLK_F11: return Key::F11;
+ case SDLK_F12: return Key::F12;
+ case SDLK_F13: return Key::F13;
+ case SDLK_F14: return Key::F14;
+ case SDLK_F15: return Key::F15;
+ case SDLK_NUMLOCK: return Key::NumLock;
+ case SDLK_SCROLLOCK: return Key::ScrollLock;
+ case SDLK_RSHIFT: return Key::RightShift;
+ case SDLK_LSHIFT: return Key::LeftShift;
+ case SDLK_RCTRL: return Key::RightControl;
+ case SDLK_LCTRL: return Key::LeftControl;
+ case SDLK_RALT: return Key::RightAlt;
+ case SDLK_LALT: return Key::LeftAlt;
+ case SDLK_LSUPER: return Key::LeftWindows;
+ case SDLK_RSUPER: return Key::RightWindows;
+ case SDLK_SYSREQ: return Key::SysRq;
+ case SDLK_MENU: return Key::AppMenu;
+ case SDLK_POWER: return Key::Power;
+ default: return 0;
+ }
+ return 0;
+ }
+
+
+void inject_input(bool& must_quit)
+{
+ SDL_Event e;
+
+ // go through all available events
+ while (SDL_PollEvent(&e))
+ {
+ // we use a switch to determine the event type
+ switch (e.type)
+ {
+ // mouse motion handler
+ case SDL_MOUSEMOTION:
+ // we inject the mouse position directly.
+ CEGUI::System::getSingleton().injectMousePosition(
+ static_cast<float>(e.motion.x),
+ static_cast<float>(e.motion.y)
+ );
+ break;
+
+ // mouse down handler
+ case SDL_MOUSEBUTTONDOWN:
+ // let a special function handle the mouse button down event
+ handle_mouse_down(e.button.button);
+ break;
+
+ // mouse up handler
+ case SDL_MOUSEBUTTONUP:
+ // let a special function handle the mouse button up event
+ handle_mouse_up(e.button.button);
+ break;
+
+
+ // key down
+ case SDL_KEYDOWN:
+ // to tell CEGUI that a key was pressed, we inject the scancode, translated from SDL
+ CEGUI::System::getSingleton().injectKeyDown(SDLKeyToCEGUIKey(e.key.keysym.sym));
+
+ // as for the character it's a litte more complicated. we'll use for translated unicode value.
+ // this is described in more detail below.
+ if ((e.key.keysym.unicode & 0xFF80) == 0)
+ {
+ CEGUI::System::getSingleton().injectChar(e.key.keysym.unicode & 0x7F);
+ }
+ break;
+
+ // key up
+ case SDL_KEYUP:
+ // like before we inject the scancode translated from SDL.
+ CEGUI::System::getSingleton().injectKeyUp(SDLKeyToCEGUIKey(e.key.keysym.sym));
+ break;
+
+
+ // WM quit event occured
+ case SDL_QUIT:
+ must_quit = true;
+ break;
+
+ }
+
+ }
+
+}
diff --git a/navit/gui/sdl/sdl_events.h b/navit/gui/sdl/sdl_events.h
new file mode 100644
index 000000000..b4d6e60ae
--- /dev/null
+++ b/navit/gui/sdl/sdl_events.h
@@ -0,0 +1,40 @@
+#include "SDL/SDL.h"
+#include "CEGUI.h"
+
+
+
+#define SRCH_COUNTRY 1
+#define SRCH_TOWN 2
+#define SRCH_STREET 3
+#define SRCH_NUMBER 4
+
+
+
+bool handleItemSelect(int r);
+bool ItemSelect(const CEGUI::EventArgs& event);
+bool handleMouseEnters(const CEGUI::EventArgs& event);
+void handle_destination_change();
+
+bool DestinationEntryChange(const CEGUI::EventArgs& event);
+bool DestinationWindowSwitch(const CEGUI::EventArgs& event);
+bool BookmarkSelectionSwitch(const CEGUI::EventArgs& event);
+bool BookmarkSelect(const CEGUI::EventArgs& event);
+bool FormerDestSelectionSwitch(const CEGUI::EventArgs& event);
+bool FormerDestSelect(const CEGUI::EventArgs& event);
+bool AddressSearchSwitch(const CEGUI::EventArgs& event);
+bool Switch_to_nGhost(const CEGUI::EventArgs& event);
+bool RoadBookSwitch(const CEGUI::EventArgs& event);
+bool ButtonGo(const CEGUI::EventArgs& event);
+bool ZoomIn(const CEGUI::EventArgs& event);
+bool ZoomOut(const CEGUI::EventArgs& event);
+bool ButtonQuit(const CEGUI::EventArgs& event);
+
+void inject_time_pulse(double& last_time_pulse);
+
+bool Handle_Virtual_Key_Down(const CEGUI::EventArgs& event);
+
+CEGUI::uint SDLKeyToCEGUIKey(SDLKey key);
+
+void inject_input(bool& must_quit);
+
+
diff --git a/navit/gui/sdl/wmcontrol.c b/navit/gui/sdl/wmcontrol.c
new file mode 100644
index 000000000..0337ce2dc
--- /dev/null
+++ b/navit/gui/sdl/wmcontrol.c
@@ -0,0 +1,1252 @@
+
+// This is loosely based upon wmctrl 1.07.
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <locale.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/cursorfont.h>
+#include <X11/Xmu/WinUtil.h>
+#include <glib.h>
+
+
+#include "wmcontrol.h"
+
+#define _NET_WM_STATE_REMOVE 0 /* remove/unset property */
+#define _NET_WM_STATE_ADD 1 /* add/set property */
+#define _NET_WM_STATE_TOGGLE 2 /* toggle property */
+
+#define MAX_PROPERTY_VALUE_LEN 4096
+#define SELECT_WINDOW_MAGIC ":SELECT:"
+#define ACTIVE_WINDOW_MAGIC ":ACTIVE:"
+
+#define p_verbose(...) if (options.verbose) { \
+ fprintf(stderr, __VA_ARGS__); \
+}
+
+/* declarations of static functions *//*{{{*/
+static gboolean wm_supports (Display *disp, const gchar *prop);
+static Window *get_client_list (Display *disp, unsigned long *size);
+static int client_msg(Display *disp, Window win, char *msg,
+ unsigned long data0, unsigned long data1,
+ unsigned long data2, unsigned long data3,
+ unsigned long data4);
+static int list_windows (Display *disp);
+static int list_desktops (Display *disp);
+static int showing_desktop (Display *disp);
+static int change_viewport (Display *disp);
+static int change_geometry (Display *disp);
+static int change_number_of_desktops (Display *disp);
+static int switch_desktop (Display *disp);
+static int wm_info (Display *disp);
+static gchar *get_output_str (gchar *str, gboolean is_utf8);
+static int action_window (Display *disp, Window win, char mode);
+static int action_window_pid (Display *disp, char mode);
+static int action_window_str (Display *disp, char mode);
+static int activate_window (Display *disp, Window win,
+ gboolean switch_desktop);
+static int close_window (Display *disp, Window win);
+static int longest_str (gchar **strv);
+static int window_to_desktop (Display *disp, Window win, int desktop);
+static void window_set_title (Display *disp, Window win, char *str, char mode);
+static gchar *get_window_title (Display *disp, Window win);
+static gchar *get_window_class (Display *disp, Window win);
+static gchar *get_property (Display *disp, Window win,
+ Atom xa_prop_type, gchar *prop_name, unsigned long *size);
+static void init_charset(void);
+static int window_move_resize (Display *disp, Window win, char *arg);
+static int window_state (Display *disp, Window win, char *arg);
+static Window Select_Window(Display *dpy);
+static Window get_active_window(Display *dpy);
+
+/*}}}*/
+
+static struct {
+ int verbose;
+ int force_utf8;
+ int show_class;
+ int show_pid;
+ int show_geometry;
+ int match_by_id;
+ int match_by_cls;
+ int full_window_title_match;
+ int wa_desktop_titles_invalid_utf8;
+ char *param_window;
+ char *param;
+} options;
+
+static gboolean envir_utf8;
+
+int window_switch(const char *windowName) { /* {{{ */
+ int opt;
+ int ret = EXIT_SUCCESS;
+ int missing_option = 1;
+ Display *disp;
+
+ memset(&options, 0, sizeof(options)); /* just for sure */
+
+ /* necessary to make g_get_charset() and g_locale_*() work */
+ setlocale(LC_ALL, "");
+
+ options.param_window=malloc(strlen(windowName));
+ strncpy(options.param_window,windowName,strlen(windowName));
+
+ init_charset();
+
+ if (! (disp = XOpenDisplay(NULL))) {
+ fputs("Cannot open display.\n", stderr);
+ return EXIT_FAILURE;
+ }
+ if (! options.param_window) {
+ fputs("No window was specified.\n", stderr);
+ return EXIT_FAILURE;
+ }
+ ret = action_window_str(disp, 'a');
+ XCloseDisplay(disp);
+ return ret;
+}
+/* }}} */
+
+static void init_charset (void) {/*{{{*/
+ const gchar *charset; /* unused */
+ gchar *lang = getenv("LANG") ? g_ascii_strup(getenv("LANG"), -1) : NULL;
+ gchar *lc_ctype = getenv("LC_CTYPE") ? g_ascii_strup(getenv("LC_CTYPE"), -1) : NULL;
+
+ /* this glib function doesn't work on my system ... */
+ envir_utf8 = g_get_charset(&charset);
+
+ /* ... therefore we will examine the environment variables */
+ if (lc_ctype && (strstr(lc_ctype, "UTF8") || strstr(lc_ctype, "UTF-8"))) {
+ envir_utf8 = TRUE;
+ }
+ else if (lang && (strstr(lang, "UTF8") || strstr(lang, "UTF-8"))) {
+ envir_utf8 = TRUE;
+ }
+
+ g_free(lang);
+ g_free(lc_ctype);
+
+ if (options.force_utf8) {
+ envir_utf8 = TRUE;
+ }
+ p_verbose("envir_utf8: %d\n", envir_utf8);
+}/*}}}*/
+
+static int client_msg(Display *disp, Window win, char *msg, /* {{{ */
+ unsigned long data0, unsigned long data1,
+ unsigned long data2, unsigned long data3,
+ unsigned long data4) {
+ XEvent event;
+ long mask = SubstructureRedirectMask | SubstructureNotifyMask;
+
+ event.xclient.type = ClientMessage;
+ event.xclient.serial = 0;
+ event.xclient.send_event = True;
+ event.xclient.message_type = XInternAtom(disp, msg, False);
+ event.xclient.window = win;
+ event.xclient.format = 32;
+ event.xclient.data.l[0] = data0;
+ event.xclient.data.l[1] = data1;
+ event.xclient.data.l[2] = data2;
+ event.xclient.data.l[3] = data3;
+ event.xclient.data.l[4] = data4;
+
+ if (XSendEvent(disp, DefaultRootWindow(disp), False, mask, &event)) {
+ return EXIT_SUCCESS;
+ }
+ else {
+ fprintf(stderr, "Cannot send %s event.\n", msg);
+ return EXIT_FAILURE;
+ }
+}/*}}}*/
+
+static gchar *get_output_str (gchar *str, gboolean is_utf8) {/*{{{*/
+ gchar *out;
+
+ if (str == NULL) {
+ return NULL;
+ }
+
+ if (envir_utf8) {
+ if (is_utf8) {
+ out = g_strdup(str);
+ }
+ else {
+ if (! (out = g_locale_to_utf8(str, -1, NULL, NULL, NULL))) {
+ p_verbose("Cannot convert string from locale charset to UTF-8.\n");
+ out = g_strdup(str);
+ }
+ }
+ }
+ else {
+ if (is_utf8) {
+ if (! (out = g_locale_from_utf8(str, -1, NULL, NULL, NULL))) {
+ p_verbose("Cannot convert string from UTF-8 to locale charset.\n");
+ out = g_strdup(str);
+ }
+ }
+ else {
+ out = g_strdup(str);
+ }
+ }
+
+ return out;
+}/*}}}*/
+
+static int wm_info (Display *disp) {/*{{{*/
+ Window *sup_window = NULL;
+ gchar *wm_name = NULL;
+ gchar *wm_class = NULL;
+ unsigned long *wm_pid = NULL;
+ unsigned long *showing_desktop = NULL;
+ gboolean name_is_utf8 = TRUE;
+ gchar *name_out;
+ gchar *class_out;
+
+ if (! (sup_window = (Window *)get_property(disp, DefaultRootWindow(disp),
+ XA_WINDOW, "_NET_SUPPORTING_WM_CHECK", NULL))) {
+ if (! (sup_window = (Window *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_WIN_SUPPORTING_WM_CHECK", NULL))) {
+ fputs("Cannot get window manager info properties.\n"
+ "(_NET_SUPPORTING_WM_CHECK or _WIN_SUPPORTING_WM_CHECK)\n", stderr);
+ return EXIT_FAILURE;
+ }
+ }
+
+ /* WM_NAME */
+ if (! (wm_name = get_property(disp, *sup_window,
+ XInternAtom(disp, "UTF8_STRING", False), "_NET_WM_NAME", NULL))) {
+ name_is_utf8 = FALSE;
+ if (! (wm_name = get_property(disp, *sup_window,
+ XA_STRING, "_NET_WM_NAME", NULL))) {
+ p_verbose("Cannot get name of the window manager (_NET_WM_NAME).\n");
+ }
+ }
+ name_out = get_output_str(wm_name, name_is_utf8);
+
+ /* WM_CLASS */
+ if (! (wm_class = get_property(disp, *sup_window,
+ XInternAtom(disp, "UTF8_STRING", False), "WM_CLASS", NULL))) {
+ name_is_utf8 = FALSE;
+ if (! (wm_class = get_property(disp, *sup_window,
+ XA_STRING, "WM_CLASS", NULL))) {
+ p_verbose("Cannot get class of the window manager (WM_CLASS).\n");
+ }
+ }
+ class_out = get_output_str(wm_class, name_is_utf8);
+
+
+ /* WM_PID */
+ if (! (wm_pid = (unsigned long *)get_property(disp, *sup_window,
+ XA_CARDINAL, "_NET_WM_PID", NULL))) {
+ p_verbose("Cannot get pid of the window manager (_NET_WM_PID).\n");
+ }
+
+ /* _NET_SHOWING_DESKTOP */
+ if (! (showing_desktop = (unsigned long *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_NET_SHOWING_DESKTOP", NULL))) {
+ p_verbose("Cannot get the _NET_SHOWING_DESKTOP property.\n");
+ }
+
+ /* print out the info */
+ printf("Name: %s\n", name_out ? name_out : "N/A");
+ printf("Class: %s\n", class_out ? class_out : "N/A");
+
+ if (wm_pid) {
+ printf("PID: %lu\n", *wm_pid);
+ }
+ else {
+ printf("PID: N/A\n");
+ }
+
+ if (showing_desktop) {
+ printf("Window manager's \"showing the desktop\" mode: %s\n",
+ *showing_desktop == 1 ? "ON" : "OFF");
+ }
+ else {
+ printf("Window manager's \"showing the desktop\" mode: N/A\n");
+ }
+
+ g_free(name_out);
+ g_free(sup_window);
+ g_free(wm_name);
+ g_free(wm_class);
+ g_free(wm_pid);
+ g_free(showing_desktop);
+
+ return EXIT_SUCCESS;
+}/*}}}*/
+
+static int showing_desktop (Display *disp) {/*{{{*/
+ unsigned long state;
+
+ if (strcmp(options.param, "on") == 0) {
+ state = 1;
+ }
+ else if (strcmp(options.param, "off") == 0) {
+ state = 0;
+ }
+ else {
+ fputs("The argument to the -k option must be either \"on\" or \"off\"\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ return client_msg(disp, DefaultRootWindow(disp), "_NET_SHOWING_DESKTOP",
+ state, 0, 0, 0, 0);
+}/*}}}*/
+
+static int change_viewport (Display *disp) {/*{{{*/
+ unsigned long x, y;
+ const char *argerr = "The -o option expects two integers separated with a comma.\n";
+
+ if (sscanf(options.param, "%lu,%lu", &x, &y) == 2) {
+ return client_msg(disp, DefaultRootWindow(disp), "_NET_DESKTOP_VIEWPORT",
+ x, y, 0, 0, 0);
+ }
+ else {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+}/*}}}*/
+
+static int change_geometry (Display *disp) {/*{{{*/
+ unsigned long x, y;
+ const char *argerr = "The -g option expects two integers separated with a comma.\n";
+
+ if (sscanf(options.param, "%lu,%lu", &x, &y) == 2) {
+ return client_msg(disp, DefaultRootWindow(disp), "_NET_DESKTOP_GEOMETRY",
+ x, y, 0, 0, 0);
+ }
+ else {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+}/*}}}*/
+
+static int change_number_of_desktops (Display *disp) {/*{{{*/
+ unsigned long n;
+
+ if (sscanf(options.param, "%lu", &n) != 1) {
+ fputs("The -n option expects an integer.\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ return client_msg(disp, DefaultRootWindow(disp), "_NET_NUMBER_OF_DESKTOPS",
+ n, 0, 0, 0, 0);
+}/*}}}*/
+
+static int switch_desktop (Display *disp) {/*{{{*/
+ int target = -1;
+
+ target = atoi(options.param);
+ if (target == -1) {
+ fputs("Invalid desktop ID.\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ return client_msg(disp, DefaultRootWindow(disp), "_NET_CURRENT_DESKTOP",
+ (unsigned long)target, 0, 0, 0, 0);
+}/*}}}*/
+
+static void window_set_title (Display *disp, Window win, /* {{{ */
+ char *title, char mode) {
+ gchar *title_utf8;
+ gchar *title_local;
+
+ if (envir_utf8) {
+ title_utf8 = g_strdup(title);
+ title_local = NULL;
+ }
+ else {
+ if (! (title_utf8 = g_locale_to_utf8(title, -1, NULL, NULL, NULL))) {
+ title_utf8 = g_strdup(title);
+ }
+ title_local = g_strdup(title);
+ }
+
+ if (mode == 'T' || mode == 'N') {
+ /* set name */
+ if (title_local) {
+ XChangeProperty(disp, win, XA_WM_NAME, XA_STRING, 8, PropModeReplace,
+ title_local, strlen(title_local));
+ }
+ else {
+ XDeleteProperty(disp, win, XA_WM_NAME);
+ }
+ XChangeProperty(disp, win, XInternAtom(disp, "_NET_WM_NAME", False),
+ XInternAtom(disp, "UTF8_STRING", False), 8, PropModeReplace,
+ title_utf8, strlen(title_utf8));
+ }
+
+ if (mode == 'T' || mode == 'I') {
+ /* set icon name */
+ if (title_local) {
+ XChangeProperty(disp, win, XA_WM_ICON_NAME, XA_STRING, 8, PropModeReplace,
+ title_local, strlen(title_local));
+ }
+ else {
+ XDeleteProperty(disp, win, XA_WM_ICON_NAME);
+ }
+ XChangeProperty(disp, win, XInternAtom(disp, "_NET_WM_ICON_NAME", False),
+ XInternAtom(disp, "UTF8_STRING", False), 8, PropModeReplace,
+ title_utf8, strlen(title_utf8));
+ }
+
+ g_free(title_utf8);
+ g_free(title_local);
+
+}/*}}}*/
+
+static int window_to_desktop (Display *disp, Window win, int desktop) {/*{{{*/
+ unsigned long *cur_desktop = NULL;
+ Window root = DefaultRootWindow(disp);
+
+ if (desktop == -1) {
+ if (! (cur_desktop = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_NET_CURRENT_DESKTOP", NULL))) {
+ if (! (cur_desktop = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_WIN_WORKSPACE", NULL))) {
+ fputs("Cannot get current desktop properties. "
+ "(_NET_CURRENT_DESKTOP or _WIN_WORKSPACE property)"
+ "\n", stderr);
+ return EXIT_FAILURE;
+ }
+ }
+ desktop = *cur_desktop;
+ }
+ g_free(cur_desktop);
+
+ return client_msg(disp, win, "_NET_WM_DESKTOP", (unsigned long)desktop,
+ 0, 0, 0, 0);
+}/*}}}*/
+
+static int activate_window (Display *disp, Window win, /* {{{ */
+ gboolean switch_desktop) {
+ unsigned long *desktop;
+
+
+ printf("sounds good\n");
+ /* desktop ID */
+ if ((desktop = (unsigned long *)get_property(disp, win,
+ XA_CARDINAL, "_NET_WM_DESKTOP", NULL)) == NULL) {
+ if ((desktop = (unsigned long *)get_property(disp, win,
+ XA_CARDINAL, "_WIN_WORKSPACE", NULL)) == NULL) {
+ p_verbose("Cannot find desktop ID of the window.\n");
+ }
+ }
+
+ if (switch_desktop && desktop) {
+ if (client_msg(disp, DefaultRootWindow(disp),
+ "_NET_CURRENT_DESKTOP",
+ *desktop, 0, 0, 0, 0) != EXIT_SUCCESS) {
+ p_verbose("Cannot switch desktop.\n");
+ }
+ g_free(desktop);
+ }
+
+ client_msg(disp, win, "_NET_ACTIVE_WINDOW",
+ 0, 0, 0, 0, 0);
+ XMapRaised(disp, win);
+
+ return EXIT_SUCCESS;
+}/*}}}*/
+
+static int close_window (Display *disp, Window win) {/*{{{*/
+ return client_msg(disp, win, "_NET_CLOSE_WINDOW",
+ 0, 0, 0, 0, 0);
+}/*}}}*/
+
+static int window_state (Display *disp, Window win, char *arg) {/*{{{*/
+ unsigned long action;
+ Atom prop1 = 0;
+ Atom prop2 = 0;
+ char *p1, *p2;
+ const char *argerr = "The -b option expects a list of comma separated parameters: \"(remove|add|toggle),<PROP1>[,<PROP2>]\"\n";
+
+ if (!arg || strlen(arg) == 0) {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+
+ if ((p1 = strchr(arg, ','))) {
+ gchar *tmp_prop1, *tmp1;
+
+ *p1 = '\0';
+
+ /* action */
+ if (strcmp(arg, "remove") == 0) {
+ action = _NET_WM_STATE_REMOVE;
+ }
+ else if (strcmp(arg, "add") == 0) {
+ action = _NET_WM_STATE_ADD;
+ }
+ else if (strcmp(arg, "toggle") == 0) {
+ action = _NET_WM_STATE_TOGGLE;
+ }
+ else {
+ fputs("Invalid action. Use either remove, add or toggle.\n", stderr);
+ return EXIT_FAILURE;
+ }
+ p1++;
+
+ /* the second property */
+ if ((p2 = strchr(p1, ','))) {
+ gchar *tmp_prop2, *tmp2;
+ *p2 = '\0';
+ p2++;
+ if (strlen(p2) == 0) {
+ fputs("Invalid zero length property.\n", stderr);
+ return EXIT_FAILURE;
+ }
+ tmp_prop2 = g_strdup_printf("_NET_WM_STATE_%s", tmp2 = g_ascii_strup(p2, -1));
+ p_verbose("State 2: %s\n", tmp_prop2);
+ prop2 = XInternAtom(disp, tmp_prop2, False);
+ g_free(tmp2);
+ g_free(tmp_prop2);
+ }
+
+ /* the first property */
+ if (strlen(p1) == 0) {
+ fputs("Invalid zero length property.\n", stderr);
+ return EXIT_FAILURE;
+ }
+ tmp_prop1 = g_strdup_printf("_NET_WM_STATE_%s", tmp1 = g_ascii_strup(p1, -1));
+ p_verbose("State 1: %s\n", tmp_prop1);
+ prop1 = XInternAtom(disp, tmp_prop1, False);
+ g_free(tmp1);
+ g_free(tmp_prop1);
+
+
+ return client_msg(disp, win, "_NET_WM_STATE",
+ action, (unsigned long)prop1, (unsigned long)prop2, 0, 0);
+ }
+ else {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+}/*}}}*/
+
+static gboolean wm_supports (Display *disp, const gchar *prop) {/*{{{*/
+ Atom xa_prop = XInternAtom(disp, prop, False);
+ Atom *list;
+ unsigned long size;
+ int i;
+
+ if (! (list = (Atom *)get_property(disp, DefaultRootWindow(disp),
+ XA_ATOM, "_NET_SUPPORTED", &size))) {
+ p_verbose("Cannot get _NET_SUPPORTED property.\n");
+ return FALSE;
+ }
+
+ for (i = 0; i < size / sizeof(Atom); i++) {
+ if (list[i] == xa_prop) {
+ g_free(list);
+ return TRUE;
+ }
+ }
+
+ g_free(list);
+ return FALSE;
+}/*}}}*/
+
+static int window_move_resize (Display *disp, Window win, char *arg) {/*{{{*/
+ signed long grav, x, y, w, h;
+ unsigned long grflags;
+ const char *argerr = "The -e option expects a list of comma separated integers: \"gravity,X,Y,width,height\"\n";
+
+ if (!arg || strlen(arg) == 0) {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+
+ if (sscanf(arg, "%ld,%ld,%ld,%ld,%ld", &grav, &x, &y, &w, &h) != 5) {
+ fputs(argerr, stderr);
+ return EXIT_FAILURE;
+ }
+
+ if (grav < 0) {
+ fputs("Value of gravity mustn't be negative. Use zero to use the default gravity of the window.\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ grflags = grav;
+ if (x != -1) grflags |= (1 << 8);
+ if (y != -1) grflags |= (1 << 9);
+ if (w != -1) grflags |= (1 << 10);
+ if (h != -1) grflags |= (1 << 11);
+
+ p_verbose("grflags: %lu\n", grflags);
+
+ if (wm_supports(disp, "_NET_MOVERESIZE_WINDOW")){
+ return client_msg(disp, win, "_NET_MOVERESIZE_WINDOW",
+ grflags, (unsigned long)x, (unsigned long)y, (unsigned long)w, (unsigned long)h);
+ }
+ else {
+ p_verbose("WM doesn't support _NET_MOVERESIZE_WINDOW. Gravity will be ignored.\n");
+ if ((w < 1 || h < 1) && (x >= 0 && y >= 0)) {
+ XMoveWindow(disp, win, x, y);
+ }
+ else if ((x < 0 || y < 0) && (w >= 1 && h >= -1)) {
+ XResizeWindow(disp, win, w, h);
+ }
+ else if (x >= 0 && y >= 0 && w >= 1 && h >= 1) {
+ XMoveResizeWindow(disp, win, x, y, w, h);
+ }
+ return EXIT_SUCCESS;
+ }
+}/*}}}*/
+
+static int action_window (Display *disp, Window win, char mode) {/*{{{*/
+ p_verbose("Using window: 0x%.8lx\n", win);
+ switch (mode) {
+ case 'a':
+ return activate_window(disp, win, TRUE);
+
+ case 'c':
+ return close_window(disp, win);
+
+ case 'e':
+ /* resize/move the window around the desktop => -r -e */
+ return window_move_resize(disp, win, options.param);
+
+ case 'b':
+ /* change state of a window => -r -b */
+ return window_state(disp, win, options.param);
+
+ case 't':
+ /* move the window to the specified desktop => -r -t */
+ return window_to_desktop(disp, win, atoi(options.param));
+
+ case 'R':
+ /* move the window to the current desktop and activate it => -r */
+ if (window_to_desktop(disp, win, -1) == EXIT_SUCCESS) {
+ usleep(100000); /* 100 ms - make sure the WM has enough
+ time to move the window, before we activate it */
+ return activate_window(disp, win, FALSE);
+ }
+ else {
+ return EXIT_FAILURE;
+ }
+
+ case 'N': case 'I': case 'T':
+ window_set_title(disp, win, options.param, mode);
+ return EXIT_SUCCESS;
+
+ default:
+ fprintf(stderr, "Unknown action: '%c'\n", mode);
+ return EXIT_FAILURE;
+ }
+}/*}}}*/
+
+static int action_window_pid (Display *disp, char mode) {/*{{{*/
+ unsigned long wid;
+
+ if (sscanf(options.param_window, "0x%lx", &wid) != 1 &&
+ sscanf(options.param_window, "0X%lx", &wid) != 1 &&
+ sscanf(options.param_window, "%lu", &wid) != 1) {
+ fputs("Cannot convert argument to number.\n", stderr);
+ return EXIT_FAILURE;
+ }
+
+ return action_window(disp, (Window)wid, mode);
+}/*}}}*/
+
+static int action_window_str (Display *disp, char mode) {/*{{{*/
+ Window activate = 0;
+ Window *client_list;
+ unsigned long client_list_size;
+ int i;
+
+ if (strcmp(SELECT_WINDOW_MAGIC, options.param_window) == 0) {
+ activate = Select_Window(disp);
+ if (activate) {
+ return action_window(disp, activate, mode);
+ }
+ else {
+ return EXIT_FAILURE;
+ }
+ }
+ if (strcmp(ACTIVE_WINDOW_MAGIC, options.param_window) == 0) {
+ activate = get_active_window(disp);
+ if (activate)
+ {
+ return action_window(disp, activate, mode);
+ }
+ else
+ {
+ return EXIT_FAILURE;
+ }
+ }
+ else {
+ if ((client_list = get_client_list(disp, &client_list_size)) == NULL) {
+ return EXIT_FAILURE;
+ }
+
+ for (i = 0; i < client_list_size / sizeof(Window); i++) {
+ gchar *match_utf8;
+ if (options.show_class) {
+ match_utf8 = get_window_class(disp, client_list[i]); /* UTF8 */
+ }
+ else {
+ match_utf8 = get_window_title(disp, client_list[i]); /* UTF8 */
+ }
+ if (match_utf8) {
+ gchar *match;
+ gchar *match_cf;
+ gchar *match_utf8_cf = NULL;
+ if (envir_utf8) {
+ match = g_strdup(options.param_window);
+ match_cf = g_utf8_casefold(options.param_window, -1);
+ }
+ else {
+ if (! (match = g_locale_to_utf8(options.param_window, -1, NULL, NULL, NULL))) {
+ match = g_strdup(options.param_window);
+ }
+ match_cf = g_utf8_casefold(match, -1);
+ }
+
+ if (!match || !match_cf) {
+ continue;
+ }
+
+ match_utf8_cf = g_utf8_casefold(match_utf8, -1);
+
+ if ((options.full_window_title_match && strcmp(match_utf8, match) == 0) ||
+ (!options.full_window_title_match && strstr(match_utf8_cf, match_cf))) {
+ activate = client_list[i];
+ g_free(match);
+ g_free(match_cf);
+ g_free(match_utf8);
+ g_free(match_utf8_cf);
+ break;
+ }
+ g_free(match);
+ g_free(match_cf);
+ g_free(match_utf8);
+ g_free(match_utf8_cf);
+ }
+ }
+ g_free(client_list);
+
+ if (activate) {
+ return action_window(disp, activate, mode);
+ }
+ else {
+ return EXIT_FAILURE;
+ }
+ }
+}/*}}}*/
+
+static int list_desktops (Display *disp) {/*{{{*/
+ unsigned long *num_desktops = NULL;
+ unsigned long *cur_desktop = NULL;
+ unsigned long desktop_list_size = 0;
+ unsigned long *desktop_geometry = NULL;
+ unsigned long desktop_geometry_size = 0;
+ gchar **desktop_geometry_str = NULL;
+ unsigned long *desktop_viewport = NULL;
+ unsigned long desktop_viewport_size = 0;
+ gchar **desktop_viewport_str = NULL;
+ unsigned long *desktop_workarea = NULL;
+ unsigned long desktop_workarea_size = 0;
+ gchar **desktop_workarea_str = NULL;
+ gchar *list = NULL;
+ int i;
+ int id;
+ Window root = DefaultRootWindow(disp);
+ int ret = EXIT_FAILURE;
+ gchar **names = NULL;
+ gboolean names_are_utf8 = TRUE;
+
+ if (! (num_desktops = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_NET_NUMBER_OF_DESKTOPS", NULL))) {
+ if (! (num_desktops = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_WIN_WORKSPACE_COUNT", NULL))) {
+ fputs("Cannot get number of desktops properties. "
+ "(_NET_NUMBER_OF_DESKTOPS or _WIN_WORKSPACE_COUNT)"
+ "\n", stderr);
+ goto cleanup;
+ }
+ }
+
+ if (! (cur_desktop = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_NET_CURRENT_DESKTOP", NULL))) {
+ if (! (cur_desktop = (unsigned long *)get_property(disp, root,
+ XA_CARDINAL, "_WIN_WORKSPACE", NULL))) {
+ fputs("Cannot get current desktop properties. "
+ "(_NET_CURRENT_DESKTOP or _WIN_WORKSPACE property)"
+ "\n", stderr);
+ goto cleanup;
+ }
+ }
+
+ if (options.wa_desktop_titles_invalid_utf8 ||
+ (list = get_property(disp, root,
+ XInternAtom(disp, "UTF8_STRING", False),
+ "_NET_DESKTOP_NAMES", &desktop_list_size)) == NULL) {
+ names_are_utf8 = FALSE;
+ if ((list = get_property(disp, root,
+ XA_STRING,
+ "_WIN_WORKSPACE_NAMES", &desktop_list_size)) == NULL) {
+ p_verbose("Cannot get desktop names properties. "
+ "(_NET_DESKTOP_NAMES or _WIN_WORKSPACE_NAMES)"
+ "\n");
+ /* ignore the error - list the desktops without names */
+ }
+ }
+
+ /* common size of all desktops */
+ if (! (desktop_geometry = (unsigned long *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_NET_DESKTOP_GEOMETRY", &desktop_geometry_size))) {
+ p_verbose("Cannot get common size of all desktops (_NET_DESKTOP_GEOMETRY).\n");
+ }
+
+ /* desktop viewport */
+ if (! (desktop_viewport = (unsigned long *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_NET_DESKTOP_VIEWPORT", &desktop_viewport_size))) {
+ p_verbose("Cannot get common size of all desktops (_NET_DESKTOP_VIEWPORT).\n");
+ }
+
+ /* desktop workarea */
+ if (! (desktop_workarea = (unsigned long *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_NET_WORKAREA", &desktop_workarea_size))) {
+ if (! (desktop_workarea = (unsigned long *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_WIN_WORKAREA", &desktop_workarea_size))) {
+ p_verbose("Cannot get _NET_WORKAREA property.\n");
+ }
+ }
+
+ /* prepare the array of desktop names */
+ names = g_malloc0(*num_desktops * sizeof(char *));
+ if (list) {
+ id = 0;
+ names[id++] = list;
+ for (i = 0; i < desktop_list_size; i++) {
+ if (list[i] == '\0') {
+ if (id >= *num_desktops) {
+ break;
+ }
+ names[id++] = list + i + 1;
+ }
+ }
+ }
+
+ /* prepare desktop geometry strings */
+ desktop_geometry_str = g_malloc0((*num_desktops + 1) * sizeof(char *));
+ if (desktop_geometry && desktop_geometry_size > 0) {
+ if (desktop_geometry_size == 2 * sizeof(*desktop_geometry)) {
+ /* only one value - use it for all desktops */
+ p_verbose("WM provides _NET_DESKTOP_GEOMETRY value common for all desktops.\n");
+ for (i = 0; i < *num_desktops; i++) {
+ desktop_geometry_str[i] = g_strdup_printf("%lux%lu",
+ desktop_geometry[0], desktop_geometry[1]);
+ }
+ }
+ else {
+ /* seperate values for desktops of different size */
+ p_verbose("WM provides separate _NET_DESKTOP_GEOMETRY value for each desktop.\n");
+ for (i = 0; i < *num_desktops; i++) {
+ if (i < desktop_geometry_size / sizeof(*desktop_geometry) / 2) {
+ desktop_geometry_str[i] = g_strdup_printf("%lux%lu",
+ desktop_geometry[i*2], desktop_geometry[i*2+1]);
+ }
+ else {
+ desktop_geometry_str[i] = g_strdup("N/A");
+ }
+ }
+ }
+ }
+ else {
+ for (i = 0; i < *num_desktops; i++) {
+ desktop_geometry_str[i] = g_strdup("N/A");
+ }
+ }
+
+ /* prepare desktop viewport strings */
+ desktop_viewport_str = g_malloc0((*num_desktops + 1) * sizeof(char *));
+ if (desktop_viewport && desktop_viewport_size > 0) {
+ if (desktop_viewport_size == 2 * sizeof(*desktop_viewport)) {
+ /* only one value - use it for current desktop */
+ p_verbose("WM provides _NET_DESKTOP_VIEWPORT value only for the current desktop.\n");
+ for (i = 0; i < *num_desktops; i++) {
+ if (i == *cur_desktop) {
+ desktop_viewport_str[i] = g_strdup_printf("%lu,%lu",
+ desktop_viewport[0], desktop_viewport[1]);
+ }
+ else {
+ desktop_viewport_str[i] = g_strdup("N/A");
+ }
+ }
+ }
+ else {
+ /* seperate values for each of desktops */
+ for (i = 0; i < *num_desktops; i++) {
+ if (i < desktop_viewport_size / sizeof(*desktop_viewport) / 2) {
+ desktop_viewport_str[i] = g_strdup_printf("%lu,%lu",
+ desktop_viewport[i*2], desktop_viewport[i*2+1]);
+ }
+ else {
+ desktop_viewport_str[i] = g_strdup("N/A");
+ }
+ }
+ }
+ }
+ else {
+ for (i = 0; i < *num_desktops; i++) {
+ desktop_viewport_str[i] = g_strdup("N/A");
+ }
+ }
+
+ /* prepare desktop workarea strings */
+ desktop_workarea_str = g_malloc0((*num_desktops + 1) * sizeof(char *));
+ if (desktop_workarea && desktop_workarea_size > 0) {
+ if (desktop_workarea_size == 4 * sizeof(*desktop_workarea)) {
+ /* only one value - use it for current desktop */
+ p_verbose("WM provides _NET_WORKAREA value only for the current desktop.\n");
+ for (i = 0; i < *num_desktops; i++) {
+ if (i == *cur_desktop) {
+ desktop_workarea_str[i] = g_strdup_printf("%lu,%lu %lux%lu",
+ desktop_workarea[0], desktop_workarea[1],
+ desktop_workarea[2], desktop_workarea[3]);
+ }
+ else {
+ desktop_workarea_str[i] = g_strdup("N/A");
+ }
+ }
+ }
+ else {
+ /* seperate values for each of desktops */
+ for (i = 0; i < *num_desktops; i++) {
+ if (i < desktop_workarea_size / sizeof(*desktop_workarea) / 4) {
+ desktop_workarea_str[i] = g_strdup_printf("%lu,%lu %lux%lu",
+ desktop_workarea[i*4], desktop_workarea[i*4+1],
+ desktop_workarea[i*4+2], desktop_workarea[i*4+3]);
+ }
+ else {
+ desktop_workarea_str[i] = g_strdup("N/A");
+ }
+ }
+ }
+ }
+ else {
+ for (i = 0; i < *num_desktops; i++) {
+ desktop_workarea_str[i] = g_strdup("N/A");
+ }
+ }
+
+ /* print the list */
+ for (i = 0; i < *num_desktops; i++) {
+ gchar *out = get_output_str(names[i], names_are_utf8);
+ printf("%-2d %c DG: %-*s VP: %-*s WA: %-*s %s\n", i, i == *cur_desktop ? '*' : '-',
+ longest_str(desktop_geometry_str), desktop_geometry_str[i],
+ longest_str(desktop_viewport_str), desktop_viewport_str[i],
+ longest_str(desktop_workarea_str), desktop_workarea_str[i],
+ out ? out : "N/A");
+ g_free(out);
+ }
+
+ p_verbose("Total number of desktops: %lu\n", *num_desktops);
+ p_verbose("Current desktop ID (counted from zero): %lu\n", *cur_desktop);
+
+ ret = EXIT_SUCCESS;
+ goto cleanup;
+
+cleanup:
+ g_free(names);
+ g_free(num_desktops);
+ g_free(cur_desktop);
+ g_free(desktop_geometry);
+ g_strfreev(desktop_geometry_str);
+ g_free(desktop_viewport);
+ g_strfreev(desktop_viewport_str);
+ g_free(desktop_workarea);
+ g_strfreev(desktop_workarea_str);
+ g_free(list);
+
+ return ret;
+}/*}}}*/
+
+static int longest_str (gchar **strv) {/*{{{*/
+ int max = 0;
+ int i = 0;
+
+ while (strv && strv[i]) {
+ if (strlen(strv[i]) > max) {
+ max = strlen(strv[i]);
+ }
+ i++;
+ }
+
+ return max;
+}/*}}}*/
+
+static Window *get_client_list (Display *disp, unsigned long *size) {/*{{{*/
+ Window *client_list;
+
+ if ((client_list = (Window *)get_property(disp, DefaultRootWindow(disp),
+ XA_WINDOW, "_NET_CLIENT_LIST", size)) == NULL) {
+ if ((client_list = (Window *)get_property(disp, DefaultRootWindow(disp),
+ XA_CARDINAL, "_WIN_CLIENT_LIST", size)) == NULL) {
+ fputs("Cannot get client list properties. \n"
+ "(_NET_CLIENT_LIST or _WIN_CLIENT_LIST)"
+ "\n", stderr);
+ return NULL;
+ }
+ }
+
+ return client_list;
+}/*}}}*/
+
+static int list_windows (Display *disp) {/*{{{*/
+ Window *client_list;
+ unsigned long client_list_size;
+ int i;
+ int max_client_machine_len = 0;
+
+ if ((client_list = get_client_list(disp, &client_list_size)) == NULL) {
+ return EXIT_FAILURE;
+ }
+
+ /* find the longest client_machine name */
+ for (i = 0; i < client_list_size / sizeof(Window); i++) {
+ gchar *client_machine;
+ if ((client_machine = get_property(disp, client_list[i],
+ XA_STRING, "WM_CLIENT_MACHINE", NULL))) {
+ max_client_machine_len = strlen(client_machine);
+ }
+ g_free(client_machine);
+ }
+
+ /* print the list */
+ for (i = 0; i < client_list_size / sizeof(Window); i++) {
+ gchar *title_utf8 = get_window_title(disp, client_list[i]); /* UTF8 */
+ gchar *title_out = get_output_str(title_utf8, TRUE);
+ gchar *client_machine;
+ gchar *class_out = get_window_class(disp, client_list[i]); /* UTF8 */
+ unsigned long *pid;
+ unsigned long *desktop;
+ int x, y, junkx, junky;
+ unsigned int wwidth, wheight, bw, depth;
+ Window junkroot;
+
+ /* desktop ID */
+ if ((desktop = (unsigned long *)get_property(disp, client_list[i],
+ XA_CARDINAL, "_NET_WM_DESKTOP", NULL)) == NULL) {
+ desktop = (unsigned long *)get_property(disp, client_list[i],
+ XA_CARDINAL, "_WIN_WORKSPACE", NULL);
+ }
+
+ /* client machine */
+ client_machine = get_property(disp, client_list[i],
+ XA_STRING, "WM_CLIENT_MACHINE", NULL);
+
+ /* pid */
+ pid = (unsigned long *)get_property(disp, client_list[i],
+ XA_CARDINAL, "_NET_WM_PID", NULL);
+
+ /* geometry */
+ XGetGeometry (disp, client_list[i], &junkroot, &junkx, &junky,
+ &wwidth, &wheight, &bw, &depth);
+ XTranslateCoordinates (disp, client_list[i], junkroot, junkx, junky,
+ &x, &y, &junkroot);
+
+ /* special desktop ID -1 means "all desktops", so we
+ have to convert the desktop value to signed long */
+ printf("0x%.8lx %2ld", client_list[i],
+ desktop ? (signed long)*desktop : 0);
+ if (options.show_pid) {
+ printf(" %-6lu", pid ? *pid : 0);
+ }
+ if (options.show_geometry) {
+ printf(" %-4d %-4d %-4d %-4d", x, y, wwidth, wheight);
+ }
+ if (options.show_class) {
+ printf(" %-20s ", class_out ? class_out : "N/A");
+ }
+
+ printf(" %*s %s\n",
+ max_client_machine_len,
+ client_machine ? client_machine : "N/A",
+ title_out ? title_out : "N/A"
+ );
+ g_free(title_utf8);
+ g_free(title_out);
+ g_free(desktop);
+ g_free(client_machine);
+ g_free(class_out);
+ g_free(pid);
+ }
+ g_free(client_list);
+
+ return EXIT_SUCCESS;
+}/*}}}*/
+
+static gchar *get_window_class (Display *disp, Window win) {/*{{{*/
+ gchar *class_utf8;
+ gchar *wm_class;
+ unsigned long size;
+
+ wm_class = get_property(disp, win, XA_STRING, "WM_CLASS", &size);
+ if (wm_class) {
+ gchar *p_0 = strchr(wm_class, '\0');
+ if (wm_class + size - 1 > p_0) {
+ *(p_0) = '.';
+ }
+ class_utf8 = g_locale_to_utf8(wm_class, -1, NULL, NULL, NULL);
+ }
+ else {
+ class_utf8 = NULL;
+ }
+
+ g_free(wm_class);
+
+ return class_utf8;
+}/*}}}*/
+
+static gchar *get_window_title (Display *disp, Window win) {/*{{{*/
+ gchar *title_utf8;
+ gchar *wm_name;
+ gchar *net_wm_name;
+
+ wm_name = get_property(disp, win, XA_STRING, "WM_NAME", NULL);
+ net_wm_name = get_property(disp, win,
+ XInternAtom(disp, "UTF8_STRING", False), "_NET_WM_NAME", NULL);
+
+ if (net_wm_name) {
+ title_utf8 = g_strdup(net_wm_name);
+ }
+ else {
+ if (wm_name) {
+ title_utf8 = g_locale_to_utf8(wm_name, -1, NULL, NULL, NULL);
+ }
+ else {
+ title_utf8 = NULL;
+ }
+ }
+
+ g_free(wm_name);
+ g_free(net_wm_name);
+
+ return title_utf8;
+}/*}}}*/
+
+static gchar *get_property (Display *disp, Window win, /*{{{*/
+ Atom xa_prop_type, gchar *prop_name, unsigned long *size) {
+ Atom xa_prop_name;
+ Atom xa_ret_type;
+ int ret_format;
+ unsigned long ret_nitems;
+ unsigned long ret_bytes_after;
+ unsigned long tmp_size;
+ unsigned char *ret_prop;
+ gchar *ret;
+
+ xa_prop_name = XInternAtom(disp, prop_name, False);
+
+ /* MAX_PROPERTY_VALUE_LEN / 4 explanation (XGetWindowProperty manpage):
+ *
+ * long_length = Specifies the length in 32-bit multiples of the
+ * data to be retrieved.
+ */
+ if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
+ xa_prop_type, &xa_ret_type, &ret_format,
+ &ret_nitems, &ret_bytes_after, &ret_prop) != Success) {
+ p_verbose("Cannot get %s property.\n", prop_name);
+ return NULL;
+ }
+
+ if (xa_ret_type != xa_prop_type) {
+ p_verbose("Invalid type of %s property.\n", prop_name);
+ XFree(ret_prop);
+ return NULL;
+ }
+
+ /* null terminate the result to make string handling easier */
+ tmp_size = (ret_format / 8) * ret_nitems;
+ ret = g_malloc(tmp_size + 1);
+ memcpy(ret, ret_prop, tmp_size);
+ ret[tmp_size] = '\0';
+
+ if (size) {
+ *size = tmp_size;
+ }
+
+ XFree(ret_prop);
+ return ret;
+}/*}}}*/
+
+static Window Select_Window(Display *dpy) {/*{{{*/
+ /*
+ * Routine to let user select a window using the mouse
+ * Taken from xfree86.
+ */
+
+ int status;
+ Cursor cursor;
+ XEvent event;
+ Window target_win = None, root = DefaultRootWindow(dpy);
+ int buttons = 0;
+ int dummyi;
+ unsigned int dummy;
+
+ /* Make the target cursor */
+ cursor = XCreateFontCursor(dpy, XC_crosshair);
+
+ /* Grab the pointer using target cursor, letting it room all over */
+ status = XGrabPointer(dpy, root, False,
+ ButtonPressMask|ButtonReleaseMask, GrabModeSync,
+ GrabModeAsync, root, cursor, CurrentTime);
+ if (status != GrabSuccess) {
+ fputs("ERROR: Cannot grab mouse.\n", stderr);
+ return 0;
+ }
+
+ /* Let the user select a window... */
+ while ((target_win == None) || (buttons != 0)) {
+ /* allow one more event */
+ XAllowEvents(dpy, SyncPointer, CurrentTime);
+ XWindowEvent(dpy, root, ButtonPressMask|ButtonReleaseMask, &event);
+ switch (event.type) {
+ case ButtonPress:
+ if (target_win == None) {
+ target_win = event.xbutton.subwindow; /* window selected */
+ if (target_win == None) target_win = root;
+ }
+ buttons++;
+ break;
+ case ButtonRelease:
+ if (buttons > 0) /* there may have been some down before we started */
+ buttons--;
+ break;
+ }
+ }
+
+ XUngrabPointer(dpy, CurrentTime); /* Done with pointer */
+
+ if (XGetGeometry (dpy, target_win, &root, &dummyi, &dummyi,
+ &dummy, &dummy, &dummy, &dummy) && target_win != root) {
+ target_win = XmuClientWindow (dpy, target_win);
+ }
+
+ return(target_win);
+}/*}}}*/
+
+static Window get_active_window(Display *disp) {/*{{{*/
+ char *prop;
+ unsigned long size;
+ Window ret = (Window)0;
+
+ prop = get_property(disp, DefaultRootWindow(disp), XA_WINDOW,
+ "_NET_ACTIVE_WINDOW", &size);
+ if (prop) {
+ ret = *((Window*)prop);
+ g_free(prop);
+ }
+
+ return(ret);
+}/*}}}*/
+
+
diff --git a/navit/gui/sdl/wmcontrol.h b/navit/gui/sdl/wmcontrol.h
new file mode 100644
index 000000000..224dae56e
--- /dev/null
+++ b/navit/gui/sdl/wmcontrol.h
@@ -0,0 +1,7 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+int window_switch(const char *windowName);
+#ifdef __cplusplus
+}
+#endif