diff options
Diffstat (limited to 'navit/gui/sdl')
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 Binary files differnew file mode 100755 index 000000000..7e96e8ec9 --- /dev/null +++ b/navit/gui/sdl/datafiles/fonts/DejaVuSans.ttf 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 Binary files differnew file mode 100755 index 000000000..9659b7fba --- /dev/null +++ b/navit/gui/sdl/datafiles/imagesets/TaharezLook.tga diff --git a/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga b/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga Binary files differnew file mode 100644 index 000000000..f617b78d9 --- /dev/null +++ b/navit/gui/sdl/datafiles/imagesets/navit-skin-black-imageset.tga 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 |