diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/resources/data/freeform | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/resources/data/freeform')
107 files changed, 6478 insertions, 0 deletions
diff --git a/Src/resources/data/freeform/xml/about/BarcodeFont.ttf b/Src/resources/data/freeform/xml/about/BarcodeFont.ttf Binary files differnew file mode 100644 index 00000000..43ce1e4a --- /dev/null +++ b/Src/resources/data/freeform/xml/about/BarcodeFont.ttf diff --git a/Src/resources/data/freeform/xml/about/BarcodeFont.txt b/Src/resources/data/freeform/xml/about/BarcodeFont.txt new file mode 100644 index 00000000..9edd3823 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/BarcodeFont.txt @@ -0,0 +1,26 @@ +Hallo, hier ist mal wieder eine dieser unsaeglichen Liesmich-Dateien.
+Wenn Dir aber der Font gefällt, habe ich eine kleine Bitte:
+Falls Du ihn auf Deiner Web-Site benutzt, setze doch bitte einen Link zu meiner Seite
+www.anke-art.de
+Auf meiner Homepage findest Du auf der linken Seite oben mein Logo, das Du gerne als
+Linksymbol herunterkopieren kannst.
+Wenn Du keinen Link setzen möchtest, Du aber trotzdem meine Schrift(en) verwendest,
+bitte ich um einen Verrechnungsscheck mit dem Betrag, der Dir die Schrift wert ist, an:
+Anke Arnold
+Fabrikstrasse 62
+73240 Wendlingen
+Deutschland
+
+Vielen Dank!
+___________
+Hi! This is another annoying readme-file. But if you like my font, I'm asking you to
+put a link to my page www.anke-art.de on YOUR page. On my homepage you can find a little
+logo in the upper left corner which you can copy as a link.
+If you don't want to link to my page, but still want to use my font(s) nevertheless,
+please send any amount in US-Dollars (which you think the font is worth) to:
+Anke Arnold
+Fabrikstrasse 62
+73240 Wendlingen
+Germany
+
+Thank you sooo much!
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/about/about.m b/Src/resources/data/freeform/xml/about/about.m new file mode 100644 index 00000000..bd25dfc0 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/about.m @@ -0,0 +1,146 @@ +#include <lib/std.mi> + +Global Text section2; +Global Text section1; +Global Text codername2; +Global Text codername1; +Global Timer Timer6; +Global Int count = 0; +Global Int Int8; +Global Int Int9; +Global Int Int10; +Global Int Int11; +Global Layer llamaanim; +Global Double smidge; + +System.onScriptLoaded() +{ + Group sg = System.getScriptGroup(); + llamaanim = sg.findObject(( "logo")); + llamaanim.fx_setBgFx(0); + llamaanim.fx_setWrap(1); + llamaanim.fx_setBilinear(1); + llamaanim.fx_setAlphaMode(0); + llamaanim.fx_setGridSize(1, 1); + llamaanim.fx_setRect(0); + llamaanim.fx_setClear(1); + llamaanim.fx_setLocalized(1); + llamaanim.fx_setRealtime(1); + llamaanim.fx_setSpeed(50); + llamaanim.fx_setEnabled(1); + section2 = sg.findObject(( "txth1")); + section1 = sg.findObject(( "txth2")); + codername2 = sg.findObject(( "txtm1")); + codername1 = sg.findObject(( "txtm2")); + Int9 = section1.getGuiX(); + Int8 = section1.getGuiW(); + Int10 = section1.getGuiW(); + Int11 = section1.getGuiH(); + Timer6 = ( new Timer); + Timer6.setDelay(3000); + Timer6.start(); +} + +System.onScriptUnloading() +{ + delete Timer6; +} + +Timer6.onTimer() +{ + String section; + GuiObject GuiObject61; + GuiObject GuiObject59; + String codername; + GuiObject GuiObject60; + GuiObject GuiObject62; + + if(( count == 0)) { + section1.setXmlParam(( "x"), System.integerToString(( - Int8))); + } + count ++; + if(( count == 1)) { + section = ( "Main Development"); + codername = ( "Ben Allison"); + } + if(( count == 2)) { + section = ( "Development"); + codername = ( "Martin Poehlmann"); + } + if(( count == 3)) { + section = ( "Product Management"); + codername = ( "Matt Callaway"); + } + if(( count == 4)) { + section = ( "Engineering Management"); + codername = ( "Ben London"); + } + if(( count == 5)) { + section = ( "Bento Skin"); + codername = ( "Martin Poehlmann, Taber Buhl"); + } + if(( count == 6)) { + section = ( "Modern Skin"); + codername = ( "Sven Kistner"); + } + if(( count == 7)) { + section = ( "Documentation"); + codername = ( "Ghislain Lacroix"); + } + if(( count == 8)) { + section = ( "Former Architecture Development"); + codername = ( "B Underwood, F Gastellu"); + } + if(( count == 9)) { + section = ( "Former Development"); + codername = ( "C Thibault, J Frankel, M Gerard"); + } + if(( count == 10)) { + count = 0; + section = ( "Powered by"); + codername = ( "Nullsoft Wasabi"); + } + GuiObject59 = Null; + GuiObject60 = Null; + GuiObject61 = Null; + GuiObject62 = Null; + + if(( System.frac(( count / 2)) != 0)) { + GuiObject59 = section2; + GuiObject60 = section1; + GuiObject61 = codername2; + GuiObject62 = codername1; + section1.setText(section); + codername1.setText(codername); + } else { + GuiObject59 = section1; + GuiObject60 = section2; + GuiObject61 = codername1; + GuiObject62 = codername2; + section2.setText(section); + codername2.setText(codername); + } + + GuiObject60.setTargetX(Int9); + GuiObject59.setTargetX(( - Int8)); + GuiObject62.setTargetA(255); + GuiObject61.setTargetA(0); + GuiObject62.setTargetSpeed(2); + GuiObject61.setTargetSpeed(2); + GuiObject60.setTargetSpeed(2); + GuiObject59.setTargetSpeed(2); + GuiObject62.gotoTarget(); + GuiObject61.gotoTarget(); + GuiObject60.gotoTarget(); + GuiObject59.gotoTarget(); +} + +llamaanim.fx_onGetPixelR(double r, double d, double x, double y) +{ + return ( r + ( System.cos(smidge) * ( 0.5))); +} + +llamaanim.fx_onFrame() +{ + smidge = ( smidge + ( 0.100000001490116)); +}
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/about/about.maki b/Src/resources/data/freeform/xml/about/about.maki Binary files differnew file mode 100644 index 00000000..39045f23 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/about.maki diff --git a/Src/resources/data/freeform/xml/about/about.xml b/Src/resources/data/freeform/xml/about/about.xml new file mode 100644 index 00000000..c8f762b0 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/about.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="1.3"> + <elements> + <bitmap id="wasabi.gen_ff.about.wasabilogo" file="wasabi.png"/> + <bitmap id="wasabi.gen_ff.about.title" file="title.png"/> + <truetypefont id="wasabi.gen_ff.about.font" file="BarcodeFont.ttf" allowmapping="0"/> + </elements> + + <groupdef id="wasabi.gen_ff.about" w="320" h="200" rectrgn="1"> + <rect fitparent="1" color="255,255,255" filled="1" /> + <layer + id="logo" + image="wasabi.gen_ff.about.wasabilogo" + x="-106" relatx="1" y="-10" + /> + <layer + id="title" + image="wasabi.gen_ff.about.title" + x="16" y="-95" relaty="1" + /> + <text + id="txth1" + x="22" y="10" italic="1" w="260" h="16" + default="Powered by :" + font="Arial" fontsize="18" color="0,0,0" alpha="255" + /> + <text + id="txth2" + x="22" y="10" italic="1" w="260" h="16" + default="" + font="Arial" fontsize="18" color="0,0,0" alpha="255" + /> + <text + id="txtm1" + x="7" y="30" w="-120" relatw="1" align="center" + default="Nullsoft Wasabi" + font="wasabi.gen_ff.about.font" fontsize="72" color="0,0,0" alpha="255" + /> + <text + id="txtm2" + x="7" y="30" w="-120" relatw="1" align="center" + default="" alpha="0" + font="wasabi.gen_ff.about.font" fontsize="72" color="0,0,0" + /> + <text + id="version" + x="16" y="-34" w="0" relatw="1" relaty="1" + default="" + font="Arial" fontsize="16" color="0,0,0" alpha="255" + /> + <guiobject fitparent="1" /> + <script file="about.maki"/> + </groupdef> +</WinampAbstractionLayer>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/about/title.png b/Src/resources/data/freeform/xml/about/title.png Binary files differnew file mode 100644 index 00000000..88d05732 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/title.png diff --git a/Src/resources/data/freeform/xml/about/wasabi.png b/Src/resources/data/freeform/xml/about/wasabi.png Binary files differnew file mode 100644 index 00000000..3e73b301 --- /dev/null +++ b/Src/resources/data/freeform/xml/about/wasabi.png diff --git a/Src/resources/data/freeform/xml/checkbox/checkbox.xml b/Src/resources/data/freeform/xml/checkbox/checkbox.xml new file mode 100644 index 00000000..6e808e2a --- /dev/null +++ b/Src/resources/data/freeform/xml/checkbox/checkbox.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.checkbox.group" h="18" autowidthsource="checkbox.text"> + + <!-- DO NOT CHANGE THESE IDS!! --> + <group + id="wasabi.objectframe.group" + x="2" y="4" + w="11" h="11" + /> + <ToggleButton + id="checkbox.toggle" + x="4" y="6" + image="wasabi.button.checkbox" + activeImage="wasabi.button.checkbox.pressed" + rectrgn="1" + /> + + <Wasabi:Text + id="checkbox.text" + default="ERROR" + x="14" y="2" + w="-14" h="14" + relatw="1" wrap="1" + /> + +</groupdef> + +<groupdef id="wasabi.radiobutton.group" h="18" autowidthsource="checkbox.text"> + + <!-- DO NOT CHANGE THESE IDS!! --> + <layer + id="radio.background" + image="wasabi.button.radio.background" + x="2" y="4" + /> + <layer + id="radio.background.display" + image="wasabi.button.radio.background.display" + x="3" y="5" + /> + <togglebutton + id="checkbox.toggle" + x="4" y="6" + image="wasabi.button.radio" + activeImage="wasabi.button.radio.pressed" + rectrgn="1" + /> + <Wasabi:Text + id="checkbox.text" + default="ERROR" + x="14" y="2" + w="-14" h="14" + relatw="1" wrap="1" + /> + +</groupdef> + + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/combobox/combobox.xml b/Src/resources/data/freeform/xml/combobox/combobox.xml new file mode 100644 index 00000000..35b4bd95 --- /dev/null +++ b/Src/resources/data/freeform/xml/combobox/combobox.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.combobox.main.group" inherit_group="wasabi.objectframe.group" embed_xui="combobox.edit"> + <Edit + id="combobox.edit" + x="1" y="1" + w="-23" h="-2" + relatw="1" relath="1" + /> + <Wasabi:button + id="combobox.button" + x="-18" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.arrow.down" + center_image="1" + /> + <sendparams target="wasabi.button" group="combobox.button" wantfocus="0" /> +</groupdef> + +<groupdef id="wasabi.combobox.list.group" minimum_h="64" background="studio.BaseTexture"> + <grid + id="combobox.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.dropdownlist.list.top.left" + top="wasabi.dropdownlist.list.top" + topright="wasabi.dropdownlist.list.top.right" + left="wasabi.dropdownlist.list.left" + middle="wasabi.dropdownlist.list.center" + right="wasabi.dropdownlist.list.right" + bottomleft="wasabi.dropdownlist.list.bottom.left" + bottom="wasabi.dropdownlist.list.bottom" + bottomright="wasabi.dropdownlist.list.bottom.right" + sysregion="1" + /> + <list id="combobox.list" x="2" y="2" w="-4" h="-4" relatw="1" relath="1" nocolheader="1"/> + <layer x="0" y="-2" relaty="1" w="0" relatw="1" h="2" resize="bottom" /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/dropdownlist/dropdownlist.xml b/Src/resources/data/freeform/xml/dropdownlist/dropdownlist.xml new file mode 100644 index 00000000..54ccb045 --- /dev/null +++ b/Src/resources/data/freeform/xml/dropdownlist/dropdownlist.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.dropdownlist.main.group" inherit_group="wasabi.objectframe.group"> + <Wasabi:Text + id="dropdownlist.text" + x="3" y="3" + w="-23" h="-6" + relatw="1" relath="1" + /> + <Wasabi:button + id="dropdownlist.button" + x="-18" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.arrow.down" + center_image="1" wantfocus="0" + /> + <sendparams target="wasabi.button" group="combobox.button" wantfocus="0" /> +</groupdef> + +<groupdef id="wasabi.dropdownlist.list.group" minimum_h="64" background="studio.BaseTexture"> + <grid + id="dropdownlist.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.dropdownlist.list.top.left" + top="wasabi.dropdownlist.list.top" + topright="wasabi.dropdownlist.list.top.right" + left="wasabi.dropdownlist.list.left" + middle="wasabi.dropdownlist.list.center" + right="wasabi.dropdownlist.list.right" + bottomleft="wasabi.dropdownlist.list.bottom.left" + bottom="wasabi.dropdownlist.list.bottom" + bottomright="wasabi.dropdownlist.list.bottom.right" + sysregion="1" + /> + <list id="dropdownlist.list" x="2" y="2" w="-4" h="-4" relatw="1" relath="1" nocolheader="1"/> + <layer x="0" y="-2" relaty="1" w="0" relatw="1" h="2" resize="bottom" /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/guiobjects.xml b/Src/resources/data/freeform/xml/guiobjects.xml new file mode 100644 index 00000000..0b395bd4 --- /dev/null +++ b/Src/resources/data/freeform/xml/guiobjects.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<!-- blah --> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.m b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.m new file mode 100644 index 00000000..879376bb --- /dev/null +++ b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.m @@ -0,0 +1,33 @@ +#include <lib/std.mi> + +Global Button back, forward; +Global Edit editbox; +Global GuiObject xui; + +System.onScriptLoaded() { + Group pgroup = getScriptGroup(); + if (pgroup == NULL) return; + + back = pgroup.findObject("historyeditbox.back.button"); + forward = pgroup.findObject("historyeditbox.forward.button"); + editbox = pgroup.findObject("historyeditbox.edit"); + xui = pgroup.getParent(); + + if (xui != NULL) { + if (StringToInteger(xui.getXmlParam("navbuttons")) == 0) { + if (back != NULL) back.hide(); + if (forward != NULL) forward.hide(); + if (editbox != NULL) editbox.setXmlParam("w", "-17"); + } + } +} + +back.onLeftClick() { + if (xui != NULL) + xui.sendAction("back", "", 0, 0, 0, 0); +} + +forward.onLeftClick() { + if (xui != NULL) + xui.sendAction("forward", "", 0, 0, 0, 0); +}
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.maki b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.maki Binary files differnew file mode 100644 index 00000000..103d2c20 --- /dev/null +++ b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.maki diff --git a/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.xml b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.xml new file mode 100644 index 00000000..042f3dcb --- /dev/null +++ b/Src/resources/data/freeform/xml/historyeditbox/historyeditbox.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.historyeditbox.main.group" inherit_group="wasabi.objectframe.group" embed_xui="historyeditbox.edit"> + <Edit + id="historyeditbox.edit" + x="1" y="1" + w="-51" h="-2" + relatw="1" relath="1" + /> + <Wasabi:button + id="historyeditbox.back.button" + x="-51" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.arrow.left" + center_image="1" wantfocus="0" + /> + <Wasabi:button + id="historyeditbox.forward.button" + x="-35" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.arrow.right" + center_image="1" wantfocus="0" + /> + <Wasabi:button + id="historyeditbox.button" + x="-18" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.arrow.down" + center_image="1" wantfocus="0" + /> + <script id="historyeditbox.navbuttons" file="historyeditbox.maki" /> +</groupdef> + +<groupdef id="wasabi.historyeditbox.list.group" minimum_h="64" background="studio.BaseTexture"> + <grid + id="historyeditbox.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.dropdownlist.list.top.left" + top="wasabi.dropdownlist.list.top" + topright="wasabi.dropdownlist.list.top.right" + left="wasabi.dropdownlist.list.left" + middle="wasabi.dropdownlist.list.center" + right="wasabi.dropdownlist.list.right" + bottomleft="wasabi.dropdownlist.list.bottom.left" + bottom="wasabi.dropdownlist.list.bottom" + bottomright="wasabi.dropdownlist.list.bottom.right" + sysregion="1" + /> + <list id="historyeditbox.list" x="2" y="2" w="-4" h="-4" relatw="1" relath="1" nocolheader="1"/> + <layer x="0" y="-2" relaty="1" w="0" relatw="1" h="2" resize="bottom" /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/menubutton/menubutton.m b/Src/resources/data/freeform/xml/menubutton/menubutton.m new file mode 100644 index 00000000..af2974a3 --- /dev/null +++ b/Src/resources/data/freeform/xml/menubutton/menubutton.m @@ -0,0 +1,21 @@ +#include <lib/std.mi> + + +Global Group pg; + +System.onScriptLoaded() { + pg = getScriptGroup(); +} + +pg.onSetVisible(int v) { + GuiObject t = pg.findObject("wasabi.menubutton.text"); + if (t != NULL) { + if (v) { + t.setXmlParam("offsetx", "1"); + t.setXmlParam("offsety", "1"); + } else { + t.setXmlParam("offsetx", "0"); + t.setXmlParam("offsety", "0"); + } + } +} diff --git a/Src/resources/data/freeform/xml/menubutton/menubutton.maki b/Src/resources/data/freeform/xml/menubutton/menubutton.maki Binary files differnew file mode 100644 index 00000000..d200222d --- /dev/null +++ b/Src/resources/data/freeform/xml/menubutton/menubutton.maki diff --git a/Src/resources/data/freeform/xml/menubutton/menubutton.xml b/Src/resources/data/freeform/xml/menubutton/menubutton.xml new file mode 100644 index 00000000..3d359e66 --- /dev/null +++ b/Src/resources/data/freeform/xml/menubutton/menubutton.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.menubutton.down" inherit_group="wasabi.panel"> + <script id="menubutton" file="menubutton.maki" /> +</groupdef> + +<groupdef id="wasabi.menubutton.group" > + <group + id="wasabi.menubutton.down" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + visible="0" + /> + <Wasabi:Text + id="wasabi.menubutton.text" color="white" + x="3" y="3" + w="-3" h="-6" + relatw="1" relath="1" + shadowx="1" shadowy="1" shadowcolor="black" + /> + <MenuSurface x="0" y="0" w="0" h="0" relatw="1" relath="1" /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/msgbox/msgbox.xml b/Src/resources/data/freeform/xml/msgbox/msgbox.xml new file mode 100644 index 00000000..13c0095f --- /dev/null +++ b/Src/resources/data/freeform/xml/msgbox/msgbox.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="msgbox.custom.group"> + + <group id="msgbox.text.group" instanceid="text" x="0" y="0" w="0" relatw="1" h="-48" relath="1" /> + +</groupdef> + + +<groupdef id="msgbox.text.group"> + + <Wasabi:Text id="msgbox.text" fontsize="+1" x="12" y="12" w="-24" relatw="1" h="-24" relath="1" /> + +</groupdef> + + + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/pathpicker/pathpicker.xml b/Src/resources/data/freeform/xml/pathpicker/pathpicker.xml new file mode 100644 index 00000000..383e44f0 --- /dev/null +++ b/Src/resources/data/freeform/xml/pathpicker/pathpicker.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.pathpicker.main.group" > + <group + id="wasabi.objectframe.group" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + /> + <Wasabi:Text + id="pathpicker.text" + x="3" y="3" + w="-23" h="-6" + relatw="1" relath="1" + /> + <Wasabi:Button + id="pathpicker.button" + x="-18" y="1" + w="17" h="-2" + relatx="1" relath="1" + image="wasabi.button.label.ellipses" + center_image="1" + /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/popupmenu/popupitem.m b/Src/resources/data/freeform/xml/popupmenu/popupitem.m new file mode 100644 index 00000000..d64f42aa --- /dev/null +++ b/Src/resources/data/freeform/xml/popupmenu/popupitem.m @@ -0,0 +1,110 @@ +#include <lib/std.mi> + +#define MARGIN 2 +#define MARGIN_PRE 2 +#define MARGIN_POST 6 + +#define CHECKMARK_WIDTH 10 +#define ARROW_WIDTH 10 + +Function setArrow(int want); +Function setCheckmark(int want); +Function updatePos(); + +Global Group mgrp; +Global GuiObject background; +Class GuiObject ItemSwitcher; +Global int id; +Global int want_checkmark; +Global int want_arrow; + +Global ItemSwitcher a, b, c, d; +Global GuiObject _a, _b, _c; + +System.onScriptLoaded() { + mgrp = getScriptGroup(); + if (mgrp == NULL) { + messagebox("popupitem.maki: cannot run outside a group", "Error", 0, ""); + return; + } + + _a = mgrp.getObject("popup.item.checkmark"); a = _a; + _b = mgrp.getObject("popup.item.text"); b = _b; + _c = mgrp.getObject("popup.item.submenuarrow"); c = _c; + background = mgrp.getObject("popup.background"); d = background; + + want_checkmark = -1; + want_arrow = -1; +} + +mgrp.onNotify(String command, String param, int a, int b) { + if (command == "id") id = StringToInteger(param); + if (command == "arrow") setArrow(StringToInteger(param)); + if (command == "checkmark") setCheckMark(StringToInteger(param)); +} + +ItemSwitcher.onEnterArea() { + background.cancelTarget(); + background.setAlpha(255); +} + +ItemSwitcher.onLeaveArea() { + background.setTargetA(0); + background.setTargetSpeed(0.25); + background.gotoTarget(); +} + +ItemSwitcher.onLeftButtonDown(int x, int y) { + mgrp.endModal(id); +} + +setArrow(int want) { + if (want_arrow == want) return; + want_arrow = want; + updatePos(); +} + +setCheckmark(int want) { + if (want_checkmark == want) return; + want_checkmark = want; + updatePos(); +} + +updatePos() { + + int x = MARGIN; + int mx = MARGIN; + + if (!want_checkmark) { + if (_a != NULL) { + _a.hide(); + } + } else { + if (_a != NULL) { + _a.show(); + } + x += CHECKMARK_WIDTH + MARGIN_PRE; + mx += CHECKMARK_WIDTH + MARGIN_PRE; + } + + + if (!want_arrow) { + if (_c != NULL) { + _c.hide(); + } + } else { + if (_c != NULL) { + _c.show(); + } + mx += ARROW_WIDTH + MARGIN_POST; + } + + mx += MARGIN; + + if (_b != NULL) { + _b.setXmlParam("x", IntegerToString(x)); + _b.setXmlParam("w", "-" + IntegerToString(mx)); + } + +} + diff --git a/Src/resources/data/freeform/xml/popupmenu/popupitem.maki b/Src/resources/data/freeform/xml/popupmenu/popupitem.maki Binary files differnew file mode 100644 index 00000000..2a9dfed2 --- /dev/null +++ b/Src/resources/data/freeform/xml/popupmenu/popupitem.maki diff --git a/Src/resources/data/freeform/xml/popupmenu/popupmenu.xml b/Src/resources/data/freeform/xml/popupmenu/popupmenu.xml new file mode 100644 index 00000000..7e5293ee --- /dev/null +++ b/Src/resources/data/freeform/xml/popupmenu/popupmenu.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.popup.main.group" inherit_group="wasabi.panel" background="studio.popup.background" rectrgn="1" autowidthsource="popup.content" autoheightsource="popup.content"> + <GroupList id="popup.content" x="2" y="2" w="-4" h="-4" relatw="1" relath="1" /> +</groupdef> + +<groupdef id="wasabi.popup.image.item"> + <layer id="popup.item.layer" x="16" y="0" w="0" relatw="1" h="0" relath="1" /> +</groupdef> + +<groupdef id="wasabi.popup.text.item" h="16" autowidthsource="popup.item.text" > + <rect id="popup.background" color="128,128,230" filled="1" x="0" y="0" w="0" h="0" relatw="1" relath="1" alpha="0"/> + <button + id="popup.item.checkmark" + x="2" y="3" h="9" w="10" + activeimage="wasabi.popup.menu.check" + /> + <text + id="popup.item.text" + default="Popup Item" + x="42" y="0" + w="-28" relatw="1" h="15" + font="arial" fontsize="14" + color="black" + /> + <button + id="popup.item.submenuarrow" + x="-8" relatx="1" y="3" w="10" h="9" + activeimage="wasabi.popup.menu.submenu" + /> + <script file="popupitem.maki" /> +</groupdef> + +<groupdef id="wasabi.popup.separator.item"> + <group id="wasabi.panel" x="1" y="0" w="-2" relatw="1" h="0" relath="1" /> +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/statusbar/statusbar.xml b/Src/resources/data/freeform/xml/statusbar/statusbar.xml new file mode 100644 index 00000000..978247f4 --- /dev/null +++ b/Src/resources/data/freeform/xml/statusbar/statusbar.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<!-- This defines the statusbar content of a layoutstatus object --> + +<elements> + <color id="wasabi.statusbar.text" value="248,248,248" /> <!-- Component status text color when using TTF --> +</elements> + + +<groupdef id="wasabi.statusbar" default_h="12"> + + <group id="wasabi.objectframe.group" x="0" y="0" w="0" h="0" relatw="1" relath="1" /> + + <!-- nonmodal progress bar --> + <rect id="wasabi.statusbar.progress.outline" x="-104" relatx="1" y="3" w="100" h="8" filled="0" color="0,128,128" visible="0" /> + <rect id="wasabi.statusbar.progress.inside" x="-104" relatx="1" y="3" w="1" h="8" filled="1" color="0,192,192" visible="0" /> + + <!-- text line --> + <text id="wasabi.statusbar.text" x="6" y="1" w="-12" relatw="1" h="-1" relath="1" font="studio.component.statusbar" /> + +</groupdef> + + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/tabsheet/buttons.png b/Src/resources/data/freeform/xml/tabsheet/buttons.png Binary files differnew file mode 100644 index 00000000..d8bd245b --- /dev/null +++ b/Src/resources/data/freeform/xml/tabsheet/buttons.png diff --git a/Src/resources/data/freeform/xml/tabsheet/tabsheet.xml b/Src/resources/data/freeform/xml/tabsheet/tabsheet.xml new file mode 100644 index 00000000..03152ae3 --- /dev/null +++ b/Src/resources/data/freeform/xml/tabsheet/tabsheet.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<elements> + + <bitmap id="wasabi.tabsheet.button.topleft" file="buttons.png" x="0" y="0" w="10" h="10" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.top" file="buttons.png" x="10" y="0" w="46" h="10" gammagroup="Backgrounds" /> + <bitmap id="wasabi.tabsheet.button.topright" file="buttons.png" x="56" y="0" w="10" h="10" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.left" file="buttons.png" x="0" y="10" w="10" h="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.right" file="buttons.png" x="56" y="10" w="10" h="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.bottom" file="buttons.png" x="0" y="26" w="66" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.topleft" file="buttons.png" x="0" y="29" w="10" h="10" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.top" file="buttons.png" x="10" y="29" w="46" h="10" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.topright" file="buttons.png" x="56" y="29" w="10" h="10" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.left" file="buttons.png" x="0" y="39" w="10" h="11" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.middle" file="buttons.png" x="10" y="39" w="46" h="11" gammagroup="Backgrounds"/> + <bitmap id="wasabi.tabsheet.button.shade.right" file="buttons.png" x="56" y="39" w="10" h="11" gammagroup="Backgrounds"/> + +</elements> + +<groupdef id="wasabi.tabsheet"> + <layer + id="panel.left.stretch" + x="0" y="0" + h="-2" + relath="1" + image="wasabi.panel.left" + /> + <layer + id="panel.right.stretch" + x="-2" y="0" + h="-2" + relatx="1" relath="1" + image="wasabi.panel.right" + /> + <layer + id="panel.bottom.left.corner" + x="0" y="-2" + relaty="1" + image="wasabi.panel.bottom.left" + /> + <layer + id="panel.bottom.stretch" + x="2" y="-2" + relaty="1" + w="-4" + relatw="1" + image="wasabi.panel.bottom" + /> + <layer + id="panel.bottom.right.corner" + x="-2" y="-2" + relatx="1" relaty="1" + image="wasabi.panel.bottom.right" + /> +</groupdef> + +<groupdef id="wasabi.tabsheet.button.selected.group" h="25" autowidthsource="text"> + + <Layer x="0" y="0" w="0" h="0" relatw="1" relath="1" renderbasetexture="1" /> + + <Grid x="0" y="0" w="0" h="0" relatw="1" relath="1" + topleft = "wasabi.tabsheet.button.topleft" + top = "wasabi.tabsheet.button.top" + topright = "wasabi.tabsheet.button.topright" + left = "wasabi.tabsheet.button.left" + right = "wasabi.tabsheet.button.right" + /> + + <text + id="text" ticker="1" + default="Active Tab" + x="5" y="6" + w="-13" relatw="1" h="14" + font="tahoma" fontsize="14" + color="wasabi.text.color" + /> + + + <Layer id="mousetrap" x="0" y="0" w="0" h="0" relatw="1" relath="1" /> + +</groupdef> + +<groupdef id="wasabi.tabsheet.button.unselected.group" h="25" autowidthsource="text"> + + <Layer x="0" y="0" w="0" h="0" relatw="1" relath="1" renderbasetexture="1" /> + + <Grid x="0" y="3" w="0" h="-3" relatw="1" relath="1" + topleft = "wasabi.tabsheet.button.shade.topleft" + top = "wasabi.tabsheet.button.shade.top" + topright = "wasabi.tabsheet.button.shade.topright" + left = "wasabi.tabsheet.button.shade.left" + middle = "wasabi.tabsheet.button.shade.middle" + right = "wasabi.tabsheet.button.shade.right" + /> + + <Grid x="0" y="3" w="0" h="-3" relatw="1" relath="1" + topleft = "wasabi.tabsheet.button.topleft" + top = "wasabi.tabsheet.button.top" + topright = "wasabi.tabsheet.button.topright" + left = "wasabi.tabsheet.button.left" + right = "wasabi.tabsheet.button.right" + /> + + <Layer x="0" y="-2" relaty="1" w="0" relatw="1" h="2" image="wasabi.tabsheet.button.bottom" /> + + <text + id="text" ticker="1" + default="Inactive Tab" + x="5" y="9" + w="-13" relatw="1" h="14" + font="tahoma" fontsize="14" + color="200,200,200" + /> + + <Layer id="mousetrap" x="0" y="0" w="0" h="0" relatw="1" relath="1" /> + +</groupdef> + +<groupdef id="wasabi.tabsheet.nobutton.group" h="25"> + <Layer x="0" y="-2" relaty="1" w="0" relatw="1" h="2" image="wasabi.tabsheet.button.bottom" /> +</groupdef> + +<groupdef id="wasabi.tabsheet.content" inherit_group="wasabi.tabsheet"> + <GuiObject id="content" x="2" y="2" w="-4" relatw="1" h="-2" relath="1" /> +</groupdef> + +<groupdef id="wasabi.tabsheet.content.noborder"> + <GuiObject id="content" x="0" y="0" w="0" relatw="1" h="0" relath="1" /> +</groupdef> + + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/titlebox/titlebox.xml b/Src/resources/data/freeform/xml/titlebox/titlebox.xml new file mode 100644 index 00000000..44a49cb7 --- /dev/null +++ b/Src/resources/data/freeform/xml/titlebox/titlebox.xml @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<groupdef id="wasabi.titlebox"> + + <layer + id="groupbox.bottom.stretch" + x="3" y="-3" + w="-6" + relaty="1" relatw="1" + image="wasabi.groupbox.bottom" + /> + <layer + id="groupbox.left.stretch" + x="0" y="9" + h="-12" + relath="1" + image="wasabi.groupbox.left" + /> + <layer + id="groupbox.right.stretch" + x="-3" y="9" + h="-12" + relatx="1" relath="1" + image="wasabi.groupbox.right" + /> + <layer + id="groupbox.bottom.left.corner" + x="0" y="-3" + relaty="1" + image="wasabi.groupbox.bottom.left" + /> + <layer + id="groupbox.bottom.right.corner" + x="-3" y="-3" + relatx="1" relaty="1" + image="wasabi.groupbox.bottom.right" + /> +</groupdef> + +<!-- =================================================================================================== --> +<!-- This is the group that holds the content of the TitleBox (what was specified using the content="some.group.id" + parameter in <TitleBox />). The CustomObject (which must have "titlebox.content" id) is the one ending up + holding the content so you can change the coordinates or add decorations around it here --> + + <groupdef id="wasabi.titlebox.main.group" inherit_group="wasabi.titlebox" autoheightsource="titlebox.content" autowidthsource="titlebox.content"> + <CustomObject id="titlebox.content" x="8" y="16" w="-16" h="-23" relatw="1" relath="1" /> + </groupdef> + + + +<!-- =================================================================================================== --> +<!-- This group appears on the left of the title in the TitleBox object. if centered="1" was specified, this + group will be strecthed so as to have the label group (see below) in the center of the titlebar. + Otherwise, its width is fixed --> + + <groupdef id="wasabi.titlebox.left.group" w="6" h="13"> + <layer + id="groupbox.top.left.corner" + x="0" y="6" + image="wasabi.groupbox.top.left" + /> + <layer + id="groupbox.top.stretch" + x="3" y="6" + w="3" + image="wasabi.groupbox.top" + /> + </groupdef> + + + +<!-- =================================================================================================== --> +<!-- This group is the one holding the label for the TitleBox object, it should contain a Text object with + id="titlebox.text". The group will be stretched automatically to the size it needs to hold the full text --> + + <groupdef id="wasabi.titlebox.center.group" h="13" autowidthsource="titlebox.text" > + <text + id="titlebox.text" + default="ERROR" + x="0" y="-1" + w="0" relatw="1" h="0" relath="1" + font="tahoma" fontsize="14" + color="wasabi.text.color" + /> + </groupdef> + + + +<!-- =================================================================================================== --> +<!-- This is the last of the title groups for the TitleBox object, this one is on the right and is stretched + all the way to the right of the content area. --> + + <groupdef id="wasabi.titlebox.right.group" w="0" relatw="1" h="13"> + <layer + id="groupbox.top.stretch" + x="0" y="6" + w="-3" + relatw="1" + image="wasabi.groupbox.top" + /> + <layer + id="groupbox.top.right.corner" + x="-3" y="6" + relatx="1" + image="wasabi.groupbox.top.right" + /> + </groupdef> + + + +<!-- =================================================================================================== --> +<!-- This is an example of how to use this control --> + + <!-- First the content --> + <groupdef id="example.titlebox.content" autoheightsource="lastitem" w="300"> + <Wasabi:CheckBox x="0" y="0" text="This is a config option"/> + <Wasabi:CheckBox x="0" y="16" text="This is another config option"/> + <Wasabi:CheckBox x="0" y="32" text="This is yet another config option"/> + <Wasabi:CheckBox x="0" y="48" id="lastitem" text="This is another damn config option"/> + </groupdef> + + + <!-- Then the object itself, with the content as parameter. + + add register_autopopup="1" to the groupdef to test --> + + <groupdef id="example.titlebox.main" name="TitleBox Example" > + <Wasabi:TitleBox x="50" y="50" title="Group title" content="example.titlebox.content" /> + </groupdef> + + + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/tooltips/tooltips-elements.png b/Src/resources/data/freeform/xml/tooltips/tooltips-elements.png Binary files differnew file mode 100644 index 00000000..17e709c3 --- /dev/null +++ b/Src/resources/data/freeform/xml/tooltips/tooltips-elements.png diff --git a/Src/resources/data/freeform/xml/tooltips/tooltips-elements.xml b/Src/resources/data/freeform/xml/tooltips/tooltips-elements.xml new file mode 100644 index 00000000..e08ec2e8 --- /dev/null +++ b/Src/resources/data/freeform/xml/tooltips/tooltips-elements.xml @@ -0,0 +1,12 @@ +<elements> + <bitmap id="wasabi.tooltip.top.left" file="tooltips-elements.png" x="0" y="0" h="4" w="4" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.top" file="tooltips-elements.png" x="4" y="0" h="4" w="8" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.top.right" file="tooltips-elements.png" x="13" y="0" h="4" w="4" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.left" file="tooltips-elements.png" x="0" y="4" h="8" w="4" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.center" file="tooltips-elements.png" x="4" y="4" h="8" w="8" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.right" file="tooltips-elements.png" x="13" y="4" h="8" w="4" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.bottom.left" file="tooltips-elements.png" x="0" y="13" h="4" w="4" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.bottom" file="tooltips-elements.png" x="4" y="13" h="4" w="8" gammagroup="Tooltips Background"/> + <bitmap id="wasabi.tooltip.bottom.right" file="tooltips-elements.png" x="13" y="13" h="4" w="4" gammagroup="Tooltips Background"/> + <color id="wasabi.tooltips.textcolor" value="0,0,0" gammagroup="Tooltips Text" /> +</elements> diff --git a/Src/resources/data/freeform/xml/tooltips/tooltips.m b/Src/resources/data/freeform/xml/tooltips/tooltips.m new file mode 100644 index 00000000..0b4e7767 --- /dev/null +++ b/Src/resources/data/freeform/xml/tooltips/tooltips.m @@ -0,0 +1,34 @@ +#include <lib/std.mi> + +Global Group tipGroup; +Global Text tipText; + +System.onScriptLoaded() { + tipGroup = getScriptGroup(); + tipText = tipGroup.getObject("tooltip.text"); +} + +// When text is changed, resize the group accordingly and make sure it's fully visible + +tipText.onTextChanged(String newtext) { + + int x = getMousePosX(); + int y = getMousePosY()-tipGroup.getHeight(); // move above mouse by default + + int vpleft = getViewportLeftFromPoint(x, y); + int vptop = getViewportTopFromPoint(x, y); + int vpright = vpleft+getViewportWidthFromPoint(x, y); + int vpbottom = vptop+getViewportHeightFromPoint(x, y); + + int w = getAutoWidth()+20; + int h = tipGroup.getHeight(); + + if (x + w > vpright) x = vpright - w; + if (x < vpleft) x = vpleft; + if (x + w > vpright) { w = vpright-vpleft-64; x = 32; } + if (y + h > vpbottom) y = vpbottom - h; + if (y < vptop) y = vptop + 32; // avoid mouse + if (y + h > vpbottom) { h = vpbottom-vptop-64; y = 32; } + + tipGroup.resize(x, y, w, h); +} diff --git a/Src/resources/data/freeform/xml/tooltips/tooltips.maki b/Src/resources/data/freeform/xml/tooltips/tooltips.maki Binary files differnew file mode 100644 index 00000000..8588fae6 --- /dev/null +++ b/Src/resources/data/freeform/xml/tooltips/tooltips.maki diff --git a/Src/resources/data/freeform/xml/tooltips/tooltips.xml b/Src/resources/data/freeform/xml/tooltips/tooltips.xml new file mode 100644 index 00000000..80b28953 --- /dev/null +++ b/Src/resources/data/freeform/xml/tooltips/tooltips.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<include file="tooltips-elements.xml"/> + +<groupdef id="wasabi.tooltip.group" h="17" noactivation="1"> + <grid + id="tooltip.grid" + x="0" y="0" + w="-16" h="0" + sysregion="1" + relatw="1" relath="1" + topleft="wasabi.tooltip.top.left" + top="wasabi.tooltip.top" + topright="wasabi.tooltip.top.right" + left="wasabi.tooltip.left" + middle="wasabi.tooltip.center" + right="wasabi.tooltip.right" + bottomleft="wasabi.tooltip.bottom.left" + bottom="wasabi.tooltip.bottom" + bottomright="wasabi.tooltip.bottom.right" + /> + <text + id="tooltip.text" + x="2" y="1" + w="0" h="-2" + relatw="1" relath="1" + default="Tooltip Sample" + font="Arial" fontsize="14" color="wasabi.tooltips.textcolor" + /> + <script id="tip" file="tooltips.maki"/> + +</groupdef> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/wasabi/Scripts/debug.sym b/Src/resources/data/freeform/xml/wasabi/Scripts/debug.sym new file mode 100644 index 00000000..41a9fc71 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/Scripts/debug.sym @@ -0,0 +1,74 @@ +-- Variables Table --------------------------------------------------- +var# | Class | What +---------------------------------------------------------------------- +0000 | System | System* +0001 | Int | NULL +0002 | Group | frameGroup +0003 | Group | content +0004 | Group | titlebar +0005 | String | x +0006 | String | y +0007 | String | w +0008 | String | h +0009 | String | rx +000A | String | ry +000B | String | rw +000C | String | rh +000D | Layer | mouselayer +000E | Button | Sysmenu +000F | String | param +0010 | String | "," +0011 | Int | 0 +0012 | Int | 1 +0013 | Int | 2 +0014 | Int | 3 +0015 | Int | 4 +0016 | Int | 5 +0017 | Int | 6 +0018 | Int | 7 +0019 | String | "sysmenu" +001A | String | param +001B | String | value +001C | String | "content" +001D | String | "wasabi.titlebar" +001E | String | "mousetrap" +001F | String | "padtitleright" +0020 | String | "padtitleleft" +0021 | String | "shade" +0022 | String | "dblclickaction" +0023 | String | "switch;" +0024 | String | "Cannot set shade parameter for StandardFrame object, no mousetrap found" +0025 | String | "Skin Error" +0026 | String | "" +0027 | String | cmd +0028 | String | param +0029 | Int | a +002A | Int | b +002B | String | _command +002C | String | _param +002D | String | groupid +002E | String | "group \"" +002F | String | "\" not found" +0030 | String | "ButtonGroup" +0031 | String | "x" +0032 | String | "y" +0033 | String | "w" +0034 | String | "h" +0035 | String | "relatx" +0036 | String | "relaty" +0037 | String | "relatw" +0038 | String | "relath" +0039 | String | "sysmenu.status" +003A | LayoutStatus | _status +003B | String | "{system}" +-- Events Table ------------------------------------------------------ +var# | Code Pointer | What +---------------------------------------------------------------------- +0000 | 0000 | System.onScriptLoaded +0000 | 013E | System.onSetXuiParam +0002 | 0235 | frameGroup.onNotify +000E | 03F2 | Sysmenu.onLeftClick +-- User Functions Table ---------------------------------------------- + Code Pointer | What +---------------------------------------------------------------------- + 02D8 | setNewGroup diff --git a/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.m b/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.m new file mode 100644 index 00000000..7e6a8a57 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.m @@ -0,0 +1,68 @@ +#include <lib/std.mi> + +Global Group frameGroup, content, titlebar; +Global String x, y, w, h, rx, ry, rw, rh; +Global Layer mouselayer; +Global Button Sysmenu; + +Function setNewGroup(String groupid); + +System.onScriptLoaded() { + frameGroup = getScriptGroup(); + String param = getParam(); + x = getToken(param, ",", 0); + y = getToken(param, ",", 1); + w = getToken(param, ",", 2); + h = getToken(param, ",", 3); + rx = getToken(param, ",", 4); + ry = getToken(param, ",", 5); + rw = getToken(param, ",", 6); + rh = getToken(param, ",", 7); + sysmenu = frameGroup.findObject("sysmenu"); +} + +System.onSetXuiParam(String param, String value) { + if (param == "content") { + setNewGroup(value); + titlebar = frameGroup.findObject("wasabi.titlebar"); + mouselayer = titlebar.findObject("mousetrap"); + } + if (param == "padtitleright" || param == "padtitleleft") { + if (titlebar != NULL) titlebar.setXmlParam(param, value); + } + if (param == "shade") { + if (mouselayer != NULL) mouselayer.setXmlParam("dblclickaction", "switch;"+value); + else messagebox("Cannot set shade parameter for StandardFrame object, no mousetrap found", "Skin Error", 0, ""); + } +} + +// backward compatibility for prerelease notify trick +frameGroup.onNotify(String cmd, String param, int a, int b) { + String _command = getToken(cmd, ",", 0); + String _param = getToken(cmd, ",", 1); + if (_command == "content" || _command == "padtitleright" || _command == "padtitleleft" || _command == "shade") { + onSetXuiParam(_command, _param); + } +} + +setNewGroup(String groupid) { + content = newGroup(groupid); + if (content == NULL) { + messagebox("group \"" + groupid + "\" not found", "ButtonGroup", 0, ""); + return; + } + content.setXmlParam("x", x); + content.setXmlParam("y", y); + content.setXmlParam("w", w); + content.setXmlParam("h", h); + content.setXmlParam("relatx", rx); + content.setXmlParam("relaty", ry); + content.setXmlParam("relatw", rw); + content.setXmlParam("relath", rh); + content.init(frameGroup); +} + +Sysmenu.onLeftClick() { + LayoutStatus _status = frameGroup.findObject("sysmenu.status"); + _status.callme("{system}"); +} diff --git a/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.maki b/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.maki Binary files differnew file mode 100644 index 00000000..0635e69a --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/Scripts/standardframe.maki diff --git a/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.m b/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.m new file mode 100644 index 00000000..a1e146db --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.m @@ -0,0 +1,96 @@ +#include <lib/std.mi> + +#define MARGIN 0 + +Function resizeObjects(); + +Global GuiObject left, right, center; +Global Text tcenter; +Global Group sg; +Global int padleft, padright; + +System.onScriptLoaded() { + + padleft = 0; + padright = 0; + + sg = getScriptGroup(); + + if (sg == NULL) { + messageBox("titlebar.maki can only run within a group", "Error", 0, ""); + return; + } + + left = sg.findObject(getToken(getParam(), ";", 0)); + center = sg.findObject(getToken(getParam(), ";", 1)); + if (center != NULL) { + tcenter = center.findObject("window.titlebar.title"); + } + right = sg.findObject(getToken(getParam(), ";", 2)); +} + +// backward compatibility with prerelease notify trick +sg.onNotify(String cmd, String param, int a, int b) { + String _command = getToken(cmd, ",", 0); + String _param = getToken(cmd, ",", 1); + if (_command == "padtitleright" || _command == "padtitleright") + onSetXuiParam(_command, _param); +} + +System.onSetXuiParam(String param, String value) { + if (param == "padtitleright") { + padright = padright + StringToInteger(value); + resizeObjects(); + } + if (param == "padtitleleft") { + padleft = padleft + StringToInteger(value); + resizeObjects(); + } +} + +resizeObjects() { + int text_width = 0; + int layout_width = 0; + int group_width = sg.getWidth(); + + Layout l = sg.getParentLayout(); + layout_width = l.getWidth(); + + if (center != NULL) { + text_width = center.getAutoWidth(); + } + + int lx = (layout_width - text_width) / 2; + lx = l.clientToScreenX(lx); + lx = sg.screenToClientX(lx); + lx = lx - sg.getLeft(); + + if (center != NULL) { + center.setXmlParam("x", IntegerToString(lx)); + center.setXmlParam("relatx", "0"); + center.setXmlParam("w", IntegerToString(text_width)); + center.setXmlParam("relatw", "0"); + } + + if (left != NULL) { + left.setXmlParam("x", IntegerToString(padleft)); + left.setXmlParam("relatx", "0"); + left.setXmlParam("w", IntegerToString(lx-padleft-MARGIN)); + left.setXmlParam("relatw", "0"); + } + if (right != NULL) { + right.setXmlParam("x", IntegerToString(lx+text_width+MARGIN+1)); + right.setXmlParam("relatx", "0"); + right.setXmlParam("w", "-" + IntegerToString(lx+text_width+1+padright+MARGIN+1)); //IntegerToString(group_width-(lx+text_width))); + right.setXmlParam("relatw", "1"); + } +} + +tcenter.onTextChanged(string newtext) { + resizeObjects(); +} + +sg.onResize(int x, int y, int w, int h) { + resizeObjects(); +} + diff --git a/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.maki b/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.maki Binary files differnew file mode 100644 index 00000000..2d0165a8 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/Scripts/titlebar.maki diff --git a/Src/resources/data/freeform/xml/wasabi/fonts/button-font-normal.png b/Src/resources/data/freeform/xml/wasabi/fonts/button-font-normal.png Binary files differnew file mode 100644 index 00000000..5e44f264 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/fonts/button-font-normal.png diff --git a/Src/resources/data/freeform/xml/wasabi/fonts/button-font-small.png b/Src/resources/data/freeform/xml/wasabi/fonts/button-font-small.png Binary files differnew file mode 100644 index 00000000..bc06ac62 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/fonts/button-font-small.png diff --git a/Src/resources/data/freeform/xml/wasabi/fonts/default-font.png b/Src/resources/data/freeform/xml/wasabi/fonts/default-font.png Binary files differnew file mode 100644 index 00000000..a7569c12 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/fonts/default-font.png diff --git a/Src/resources/data/freeform/xml/wasabi/fonts/titlebar-font.png b/Src/resources/data/freeform/xml/wasabi/fonts/titlebar-font.png Binary files differnew file mode 100644 index 00000000..88c31646 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/fonts/titlebar-font.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button-pressed.png b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button-pressed.png Binary files differnew file mode 100644 index 00000000..436c8360 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button-pressed.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button.png b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button.png Binary files differnew file mode 100644 index 00000000..1151f0a9 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-button.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-left.png b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-left.png Binary files differnew file mode 100644 index 00000000..d8c05630 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-left.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-middle.png b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-middle.png Binary files differnew file mode 100644 index 00000000..40273001 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-middle.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-right.png b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-right.png Binary files differnew file mode 100644 index 00000000..22ab07c2 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/seekbar-right.png diff --git a/Src/resources/data/freeform/xml/wasabi/garbage/text_bg.png b/Src/resources/data/freeform/xml/wasabi/garbage/text_bg.png Binary files differnew file mode 100644 index 00000000..26600f0e --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/garbage/text_bg.png diff --git a/Src/resources/data/freeform/xml/wasabi/menu/background.png b/Src/resources/data/freeform/xml/wasabi/menu/background.png Binary files differnew file mode 100644 index 00000000..bf8fbc86 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/menu/background.png diff --git a/Src/resources/data/freeform/xml/wasabi/menu/selbar.png b/Src/resources/data/freeform/xml/wasabi/menu/selbar.png Binary files differnew file mode 100644 index 00000000..14ec02fd --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/menu/selbar.png diff --git a/Src/resources/data/freeform/xml/wasabi/menu/window-elements.png b/Src/resources/data/freeform/xml/wasabi/menu/window-elements.png Binary files differnew file mode 100644 index 00000000..dcacf109 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/menu/window-elements.png diff --git a/Src/resources/data/freeform/xml/wasabi/wasabi.xml b/Src/resources/data/freeform/xml/wasabi/wasabi.xml new file mode 100644 index 00000000..8a2b62ce --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/wasabi.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> + +<elements> + <bitmap id="wasabi.bitmapnotfound" file="wacs/xml/guiobjects/wasabi/window/error.png" /> + <bitmap id="wasabi.transparent" file="wacs/xml/guiobjects/wasabi/window/transparent.png" /> +</elements> + +<include file="xml/system-colors.xml"/> +<include file="xml/system-groups.xml"/> +<include file="xml/system-elements.xml"/> +<include file="xml/system-config.xml"/> +<include file="xml/components.xml"/> + +<include file="xml/garbage-elements.xml"/> + +<include file="xml/xui/xuiobjects.xml"/> + +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/wasabi/window/background.png b/Src/resources/data/freeform/xml/wasabi/window/background.png Binary files differnew file mode 100644 index 00000000..60a17d10 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/background.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/error.png b/Src/resources/data/freeform/xml/wasabi/window/error.png Binary files differnew file mode 100644 index 00000000..a8a02b93 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/error.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/framewnd-windowshade.png b/Src/resources/data/freeform/xml/wasabi/window/framewnd-windowshade.png Binary files differnew file mode 100644 index 00000000..b7d7d35f --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/framewnd-windowshade.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/scrollgrips.png b/Src/resources/data/freeform/xml/wasabi/window/scrollgrips.png Binary files differnew file mode 100644 index 00000000..b00d0dd4 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/scrollgrips.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/transparent.png b/Src/resources/data/freeform/xml/wasabi/window/transparent.png Binary files differnew file mode 100644 index 00000000..a9b19a45 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/transparent.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/tree-sort-icon.png b/Src/resources/data/freeform/xml/wasabi/window/tree-sort-icon.png Binary files differnew file mode 100644 index 00000000..932dde26 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/tree-sort-icon.png diff --git a/Src/resources/data/freeform/xml/wasabi/window/window-elements.png b/Src/resources/data/freeform/xml/wasabi/window/window-elements.png Binary files differnew file mode 100644 index 00000000..d5cf0c2f --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/window/window-elements.png diff --git a/Src/resources/data/freeform/xml/wasabi/xml/components.xml b/Src/resources/data/freeform/xml/wasabi/xml/components.xml new file mode 100644 index 00000000..c73ecc1e --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/components.xml @@ -0,0 +1,103 @@ +<!-- =================================================================================================== --> + +<!-- + + This defines the wasabi default containers. A window can request to be shown inside a specific container by id. + When the container id does not exist, all containers are checked in reverse to find one with a 'hold' parameter + that matches the window to show. Note that scripts get the opportunity to override this so you can distribute + your containers programatically. + + The predefined wasabi container ids are the following : + + resizable_status + resizable_nostatus + static + modal + +--> +<!-- =================================================================================================== --> + + + <groupdef id="component.content.group"> + <WindowHolder + x="0" + y="0" + w="0" + relatw="1" + h="0" + relath="1" + hold="@ALL@" + /> + </groupdef> + +<!-- =================================================================================================== --> + Resizable windows with a status bar, ie: playlist editor, media library +<!-- =================================================================================================== --> + + <container id="resizable_status" name=":componenttitle" dynamic="1" hold="@all@" default_x="275" default_y="0"> + + <layout id="normal" minimum_h="116" minimum_w="275"> + + <Wasabi:StandardFrame:Status id="wasabi.standardframe" + x="0" y="0" w="0" h="0" relatw="1" relath="1" + content="component.content.group" + /> + + </layout> + + </container> + + + +<!-- =================================================================================================== --> + Resizable windows without a status bar +<!-- =================================================================================================== --> + + <container id="resizable_nostatus" name=":componenttitle" dynamic="1" hold="@all@" default_x="275" default_y="0"> + + <layout id="resizable_nostatus" minimum_h="116" minimum_w="275"> + + <Wasabi:StandardFrame:NoStatus + x="0" y="0" w="0" h="0" relatw="1" relath="1" + content="component.content.group" + /> + + </layout> + + </container> + + + +<!-- =================================================================================================== --> + modal windows, window intended to look like dialog boxes or messageboxes +<!-- =================================================================================================== --> + <container id="modal" name=":componenttitle" dynamic="1" hold="@all@" default_x="275" default_y="0"> + + <layout id="modal" minimum_h="116" minimum_w="275"> + + <Wasabi:StandardFrame:Modal + x="0" y="0" w="0" h="0" relatw="1" relath="1" + content="component.content.group" + /> + + </layout> + + </container> + + + +<!-- =================================================================================================== --> + static windows, ie: preferences +<!-- =================================================================================================== --> + <container id="static" name=":componenttitle" dynamic="1" hold="@all@" default_x="275" default_y="0"> + + <layout id="static" minimum_h="116" minimum_w="275"> + + <Wasabi:StandardFrame:Static + x="0" y="0" w="0" h="0" relatw="1" relath="1" + content="component.content.group" + /> + + </layout> + + </container> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/garbage-elements.xml b/Src/resources/data/freeform/xml/wasabi/xml/garbage-elements.xml new file mode 100644 index 00000000..44996987 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/garbage-elements.xml @@ -0,0 +1,16 @@ +<!-- These elements are garbage and will be removed in the final release. We didn't have time +to remove them for this beta however, they will be removed so please don't refer to these in your +code. Thank you.--> + +<elements> + <!-- These elements will be removed all together, they are only being referenced by the pop-up dialog --> + <bitmap id="studio.border.upperLeft" file="window/window-elements.png" x="0" y="0" h="2" w="2"/> + <bitmap id="studio.border.upperRight" file="window/window-elements.png" x="34" y="0" h="2" w="2"/> + <bitmap id="studio.border.lowerLeft" file="window/window-elements.png" x="0" y="34" h="2" w="2"/> + <bitmap id="studio.border.lowerRight" file="window/window-elements.png" x="34" y="34" h="2" w="2"/> + <bitmap id="studio.border.top" file="window/window-elements.png" x="3" y="0" h="2" w="30"/> + <bitmap id="studio.border.left" file="window/window-elements.png" x="0" y="3" h="30" w="2"/> + <bitmap id="studio.border.bottom" file="window/window-elements.png" x="3" y="34" h="2" w="30"/> + <bitmap id="studio.border.right" file="window/window-elements.png" x="34" y="3" h="30" w="2"/> + +</elements>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/groups/buttonbar.xml b/Src/resources/data/freeform/xml/wasabi/xml/groups/buttonbar.xml new file mode 100644 index 00000000..4aee26bb --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/groups/buttonbar.xml @@ -0,0 +1,45 @@ +<!-- This group defines the layout of a toolbar like panel. For instance it is used by the filterlist object to + display a list of available fields, or by typesheet objects implementing a sidecar button bar + + Required objects: + + <Text id="buttonbar.text" /> + <Button id="mousetrap" /> + +--> + +<groupdef id="wasabi.buttonbar.stack" default_h="18"> + <grid + id="" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.label.top.left" + top="wasabi.label.top" + topright="wasabi.label.top.right" + left="wasabi.label.left" + middle="wasabi.label.middle" + right="wasabi.label.right" + bottomleft="wasabi.label.bottom.left" + bottom="wasabi.label.bottom" + bottomright="wasabi.label.bottom.right" + /> + <text + id="buttonbar.text" + x="5" y="0" + w="-10" h="0" + relatw="1" relath="1" + default="Error" + font="Arial" fontsize="15" + color="wasabi.text.color" shadowcolor="wasabi.text.color.inverse" shadowx="1" shadowy="1" + /> + <layer + id="buttonbar.arrow" + x="-15" y="8" + valign="center" + relatx="1" + image="wasabi.button.label.arrow.down" + /> + <button id="mousetrap" x="0" y="0" w="0" h="0" relatw="1" relath="1" rectrgn="1"/> +</groupdef> + diff --git a/Src/resources/data/freeform/xml/wasabi/xml/groups/objectframe.xml b/Src/resources/data/freeform/xml/wasabi/xml/groups/objectframe.xml new file mode 100644 index 00000000..9bab0a25 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/groups/objectframe.xml @@ -0,0 +1,17 @@ +<groupdef id="wasabi.objectframe.group"> + <grid + id="objectframe.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.objectframe.top.left" + top="wasabi.objectframe.top" + topright="wasabi.objectframe.top.right" + left="wasabi.objectframe.left" + middle="wasabi.objectframe.center" + right="wasabi.objectframe.right" + bottomleft="wasabi.objectframe.bottom.left" + bottom="wasabi.objectframe.bottom" + bottomright="wasabi.objectframe.bottom.right" + /> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/groups/panel.xml b/Src/resources/data/freeform/xml/wasabi/xml/groups/panel.xml new file mode 100644 index 00000000..5f366be4 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/groups/panel.xml @@ -0,0 +1,16 @@ +<groupdef id="wasabi.panel"> + <grid + id="panel.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.panel.top.left" + top="wasabi.panel.top" + topright="wasabi.panel.top.right" + left="wasabi.panel.left" + right="wasabi.panel.right" + bottomleft="wasabi.panel.bottom.left" + bottom="wasabi.panel.bottom" + bottomright="wasabi.panel.bottom.right" + /> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/groups/window-embedded.xml b/Src/resources/data/freeform/xml/wasabi/xml/groups/window-embedded.xml new file mode 100644 index 00000000..df040061 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/groups/window-embedded.xml @@ -0,0 +1,17 @@ +<groupdef id="wasabi.window.embedded"> + <grid + id="window.embedded.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.window.top.left" + top="wasabi.window.top" + topright="wasabi.window.top.right" + left="wasabi.window.left" + middle="wasabi.window.center" + right="wasabi.window.right" + bottomleft="wasabi.window.bottom.left" + bottom="wasabi.window.bottom" + bottomright="wasabi.window.bottom.right" + /> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/groups/window.xml b/Src/resources/data/freeform/xml/wasabi/xml/groups/window.xml new file mode 100644 index 00000000..913fe265 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/groups/window.xml @@ -0,0 +1,9 @@ +<groupdef id="wasabi.window"> + <layer + id="window.center.stretch" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + image="wasabi.window.center" + /> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/old.system-colors.xml b/Src/resources/data/freeform/xml/wasabi/xml/old.system-colors.xml new file mode 100644 index 00000000..685c2676 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/old.system-colors.xml @@ -0,0 +1,61 @@ +<!-- + + system-colors.xml + + + this file contains all the static color definitions for Wasabi. An objects that does not rely on a group will use + one of these elements to decide what color to use. + +--> + + +<elements> + + <!-- Generic Trees --> + <color id="studio.tree.text" value="196,255,196"/> <!-- Item text color --> + <color id="studio.tree.selected" value="0,0,128"/> <!-- Select item text background color --> + <color id="studio.tree.hilited" value="0,255,255"/> <!-- Hilited item text background color --> + <color id="studio.tree.hiliteddrop" value="0,64,128"/> <!-- Drop marker color --> + + <!-- Generic Lists --> + <color id="studio.list.text" value="196,255,196"/> <!-- List item text color --> + <color id="studio.list.item.selected" value="0,0,128"/> <!-- Selected item text background color --> + <color id="studio.list.item.focused" value="0,0,128"/> <!-- Focused item text background color --> + <color id="studio.list.column.background" value="102,102,102"/> <!-- Columns background color --> + <color id="studio.list.column.text" value="255,255,255"/> <!-- Columns text color --> + <color id="studio.list.item.selected.fg" value="255,255,255" /><!-- Selected item text foreground color --> + + <!-- Item Lists, Lists with playable items --> + <color id="common.itemlist.outline.current" value="255,255,0"/> <!-- Currently playing outline color --> + <color id="common.itemlist.outline.focus" value="0,128,128"/> <!-- Focused item dashed outline color --> + <color id="common.itemlist.selborder" value="64,64,196"/> + + <!-- Message box --> + <color id="studio.msgBox.background" value="32,32,32"/> <!-- Messagebox background color --> + <color id="studio.textBar.text" value="248,248,248"/> <!-- Text object & message box text color --> + <color id="studio.textBar.background" value="32,32,32"/> <!-- Text object & message box text background color --> + + <!-- Buttons --> + <color id="studio.button.text" value="0,0,0"/> <!-- Buttons text color --> + <color id="studio.button.hiliteText" value="0,240,0"/> <!-- Buttons hilite text color, used by tab windows--> + <color id="studio.button.dimmedText" value="64,64,64"/> <!-- Buttons dimmed text color, when disabled --> + + <!-- Popup menus --> + <color id="studio.popup.text" value="0,0,0"/> <!-- Menu items text color --> + <color id="studio.popup.hiliteText" value="255,255,255"/> <!-- Hilited item text color --> + <color id="studio.popup.dimmedText" value="64,64,64"/> <!-- Disabled item text color --> + + <!-- Components --> + <color id="studio.component.title.foreground" value="255,255,255"/> <!-- Old title bar text color when using TTF --> + <color id="studio.component.title.border" value="1,1,1"/> <!-- Old title bar text outline when using TTF --> + + <!-- labeled windows --> + <color id="common.labelwnd.foreground" value="220,220,220"/> <!-- Text foreground color --> + <color id="common.labelwnd.background" value="0,0,0"/> <!-- Text drop shadow color --> + + <!-- edit wnds --> + <color id="wasabi.edit.selection" value="127,127,127" gammagroup="Backgrounds"/> <!-- Selected text --> + <color id="wasabi.edit.text" value="196,255,196" gammagroup="Text"/> <!--Text --> + <color id="wasabi.edit.background" value="0,0,0" gammagroup="Backgrounds"/> <!--Text background --> + +</elements> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/old.system-elements.xml b/Src/resources/data/freeform/xml/wasabi/xml/old.system-elements.xml new file mode 100644 index 00000000..4d474440 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/old.system-elements.xml @@ -0,0 +1,364 @@ +<elements> + + <!-- Fonts --> + <bitmapfont id="studio.component.title" file="fonts/titlebar-font.png" hspacing="-3" vspacing="0" charwidth="10" charheight="11" gammagroup="Titlebar Font"/> + <bitmapfont id="wasabi.font.button.small" file="fonts/button-font-small.png" hspacing="-1" vspacing="0" charwidth="5" charheight="5" gammagroup="Button Fonts"/> + <bitmapfont id="wasabi.font.button.normal" file="fonts/button-font-normal.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Button Fonts"/> + <bitmapfont id="wasabi.font.default" file="fonts/default-font.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Display Fonts"/> + <bitmapfont id="studio.component.statusbar" file="fonts/default-font.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Display Fonts"/> + + <!-- Bitmaps --> + + <bitmap id="studio.BaseTexture" file="window/background.png" gammagroup="Backgrounds"/> + + <!-- Frame windows --> + <bitmap id="studio.framewnd.verticaldivider" file="window/window-elements.png" x="124" y="53" h="65" w="8" gammagroup="Backgrounds"/> + <bitmap id="studio.framewnd.verticalgrabber" file="window/window-elements.png" x="115" y="53" h="65" w="8" gammagroup="Backgrounds"/> + <bitmap id="studio.framewnd.horizontaldivider" file="window/window-elements.png" x="40" y="97" h="8" w="65" gammagroup="Backgrounds"/> + <bitmap id="studio.framewnd.horizontalgrabber" file="window/window-elements.png" x="40" y="106" h="8" w="65" gammagroup="Backgrounds"/> +<!-- + <bitmap id="studio.framewnd.windowshade" file="window/framewnd-windowshade.png" gammagroup="Backgrounds"/> +--> + + <bitmap id="wasabi.frame.divider.arrow.left" file="window/window-elements.png" x="56" y="124" h="7" w="4"/> + <bitmap id="wasabi.frame.divider.arrow.right" file="window/window-elements.png" x="60" y="124" h="7" w="4"/> + <bitmap id="wasabi.frame.divider.arrow.up" file="window/window-elements.png" x="64" y="124" h="4" w="7"/> + <bitmap id="wasabi.frame.divider.arrow.down" file="window/window-elements.png" x="64" y="128" h="4" w="7"/> + + <bitmap id="wasabi.frame.divider.top.left" file="window/window-elements.png" x="115" y="31" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.top" file="window/window-elements.png" x="118" y="31" h="3" w="10"/> + <bitmap id="wasabi.frame.divider.top.right" file="window/window-elements.png" x="128" y="31" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.left" file="window/window-elements.png" x="115" y="34" h="10" w="3"/> + <bitmap id="wasabi.frame.divider.center" file="window/window-elements.png" x="118" y="34" h="10" w="10"/> + <bitmap id="wasabi.frame.divider.right" file="window/window-elements.png" x="128" y="34" h="10" w="3"/> + <bitmap id="wasabi.frame.divider.bottom.left" file="window/window-elements.png" x="115" y="44" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.bottom" file="window/window-elements.png" x="118" y="44" h="3" w="10"/> + <bitmap id="wasabi.frame.divider.bottom.right" file="window/window-elements.png" x="128" y="44" h="3" w="3"/> + + <!-- Generic Lists and Trees --> + + <bitmap id="studio.list.background" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> <!-- List background bitmap (tile) --> + <bitmap id="studio.tree.background" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> <!-- Tree background bitmap (tile) --> + + <bitmap id="studio.tree.tab.closed" file="window/window-elements.png" x="149" y="0" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.tab.open" file="window/window-elements.png" x="135" y="0" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.top.bottom" file="window/window-elements.png" x="135" y="14" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.top.right" file="window/window-elements.png" x="135" y="42" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.top.rightBottom" file="window/window-elements.png" x="135" y="28" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.tab.top.bottom" file="window/window-elements.png" x="149" y="14" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.tab.top.right" file="window/window-elements.png" x="149" y="42" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.link.tab.top.rightBottom" file="window/window-elements.png" x="149" y="28" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="studio.tree.sort.icon" file="window/tree-sort-icon.png" gammagroup="Tree Color"/> + + <!-- Old List & Tree scrollbars --> + <bitmap id="studio.scrollbar.horizontal.background" file="window/window-elements.png" x="58" y="52" h="13" w="41" gammagroup="Scrollbar Backgrounds"/> + <bitmap id="studio.scrollbar.horizontal.left" file="window/window-elements.png" x="40" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.left.hilite" file="window/window-elements.png" x="40" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.left.pressed" file="window/window-elements.png" x="40" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.right" file="window/window-elements.png" x="98" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.right.hilite" file="window/window-elements.png" x="98" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.right.pressed" file="window/window-elements.png" x="98" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.button" file="window/window-elements.png" x="57" y="13" h="13" w="41" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.button.hilite" file="window/window-elements.png" x="57" y="26" h="13" w="41" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.horizontal.button.pressed" file="window/window-elements.png" x="57" y="39" h="13" w="41" gammagroup="Scrollbar Buttons"/> + + <bitmap id="studio.scrollbar.vertical.background" file="window/window-elements.png" x="39" y="55" h="41" w="13" gammagroup="Scrollbar Backgrounds"/> + <bitmap id="studio.scrollbar.vertical.left" file="window/window-elements.png" x="0" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.left.hilite" file="window/window-elements.png" x="13" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.left.pressed" file="window/window-elements.png" x="26" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.right" file="window/window-elements.png" x="0" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.right.hilite" file="window/window-elements.png" x="13" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.right.pressed" file="window/window-elements.png" x="26" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.button" file="window/window-elements.png" x="0" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.button.hilite" file="window/window-elements.png" x="13" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="studio.scrollbar.vertical.button.pressed" file="window/window-elements.png" x="26" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + + <!-- NewList & Tree scrollbars --> + <bitmap id="wasabi.scrollbar.horizontal.background" file="window/window-elements.png" x="58" y="52" h="13" w="41" gammagroup="Scrollbar Backgrounds"/> + + <bitmap id="wasabi.scrollbar.horizontal.left" file="window/window-elements.png" x="40" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.left.hover" file="window/window-elements.png" x="40" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.left.pressed" file="window/window-elements.png" x="40" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right" file="window/window-elements.png" x="98" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right.hover" file="window/window-elements.png" x="98" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right.pressed" file="window/window-elements.png" x="98" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.horizontal.button.left" file="window/window-elements.png" x="57" y="13" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle" file="window/window-elements.png" x="60" y="13" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right" file="window/window-elements.png" x="95" y="13" h="13" w="3" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.horizontal.button.left.hover" file="window/window-elements.png" x="57" y="26" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle.hover" file="window/window-elements.png" x="60" y="26" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right.hover" file="window/window-elements.png" x="95" y="26" h="13" w="3" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.horizontal.button.left.pressed" file="window/window-elements.png" x="57" y="39" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle.pressed" file="window/window-elements.png" x="60" y="39" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right.pressed" file="window/window-elements.png" x="95" y="39" h="13" w="3" gammagroup="Scrollbar Buttons"/> + + + <bitmap id="wasabi.scrollbar.vertical.background" file="window/window-elements.png" x="39" y="55" h="41" w="13" gammagroup="Scrollbar Backgrounds"/> + + <bitmap id="wasabi.scrollbar.vertical.left" file="window/window-elements.png" x="0" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.left.hover" file="window/window-elements.png" x="13" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.left.pressed" file="window/window-elements.png" x="26" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.vertical.right" file="window/window-elements.png" x="0" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.right.hover" file="window/window-elements.png" x="13" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.right.pressed" file="window/window-elements.png" x="26" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.vertical.button.top" file="window/window-elements.png" x="0" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle" file="window/window-elements.png" x="0" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom" file="window/window-elements.png" x="0" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.vertical.button.top.hover" file="window/window-elements.png" x="13" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle.hover" file="window/window-elements.png" x="13" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom.hover" file="window/window-elements.png" x="13" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + + <bitmap id="wasabi.scrollbar.vertical.button.top.pressed" file="window/window-elements.png" x="26" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle.pressed" file="window/window-elements.png" x="26" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom.pressed" file="window/window-elements.png" x="26" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + + <!-- labelwnd titles --> + <bitmap id="studio.label.upperLeft" file="window/window-elements.png" x="0" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="studio.label.top" file="window/window-elements.png" x="2" y="170" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="studio.label.upperRight" file="window/window-elements.png" x="103" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="studio.label.left" file="window/window-elements.png" x="0" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="studio.label.middle" file="window/window-elements.png" x="2" y="172" w="101" h="7" gammagroup="Backgrounds"/> + <bitmap id="studio.label.right" file="window/window-elements.png" x="103" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="studio.label.lowerLeft" file="window/window-elements.png" x="0" y="179" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="studio.label.bottom" file="window/window-elements.png" x="2" y="179" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="studio.label.lowerRight" file="window/window-elements.png" x="103" y="179" w="2" h="2" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.label.top.left" file="window/window-elements.png" x="0" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.top" file="window/window-elements.png" x="2" y="170" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.top.right" file="window/window-elements.png" x="103" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.left" file="window/window-elements.png" x="0" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.middle" file="window/window-elements.png" x="2" y="172" w="101" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.right" file="window/window-elements.png" x="103" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom.left" file="window/window-elements.png" x="0" y="179" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom" file="window/window-elements.png" x="2" y="179" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom.right" file="window/window-elements.png" x="103" y="179" w="2" h="2" gammagroup="Backgrounds"/> + + <!-- default button --> + <bitmap id="studio.button.upperLeft" file="window/window-elements.png" x="1" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.top" file="window/window-elements.png" x="4" y="135" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.upperRight" file="window/window-elements.png" x="30" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.left" file="window/window-elements.png" x="1" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.middle" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.right" file="window/window-elements.png" x="30" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.lowerLeft" file="window/window-elements.png" x="1" y="164" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.bottom" file="window/window-elements.png" x="4" y="164" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.lowerRight" file="window/window-elements.png" x="30" y="164 " h="2" w="2" gammagroup="Buttons"/> + + <bitmap id="studio.button.pressed.upperLeft" file="window/window-elements.png" x="67" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.top" file="window/window-elements.png" x="70" y="135" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.upperRight" file="window/window-elements.png" x="96" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.left" file="window/window-elements.png" x="67" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.middle" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.right" file="window/window-elements.png" x="96" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.lowerLeft" file="window/window-elements.png" x="67" y="164" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.bottom" file="window/window-elements.png" x="70" y="164" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="studio.button.pressed.lowerRight" file="window/window-elements.png" x="96" y="164 " h="2" w="2" gammagroup="Buttons"/> + + <!-- Component status bar --> + <bitmap id="studio.statusbar.left" file="window/window-elements.png" x="94" y="0" h="12" w="12"/> + <bitmap id="studio.statusbar.middle" file="window/window-elements.png" x="107" y="0" h="12" w="12"/> + <bitmap id="studio.statusbar.right" file="window/window-elements.png" x="120" y="0" h="12" w="12"/> + + <!-- Checkboxes + <bitmap id="studio.button.checkbox.checked" file="window/window-elements.png" x="58" y="77" h="11" w="11"/> + <bitmap id="studio.button.checkbox.unchecked" file="window/window-elements.png" x="58" y="66" h="11" w="11"/> + --> + + <!-- Standard Configuration Widgets --> + <bitmap id="wasabi.button.checkbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.checkbox.pressed" file="window/window-elements.png" x="58" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + <bitmap id="wasabi.button.checkbox.xbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.checkbox.xbox.pressed" file="window/window-elements.png" x="65" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + <bitmap id="wasabi.button.radio.background" file="window/window-elements.png" x="58" y="66" h="11" w="11" gammagroup="Backgrounds"/> + <bitmap id="wasabi.button.radio.background.display" file="window/window-elements.png" x="69" y="66" h="9" w="9" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.button.radio" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.radio.pressed" file="window/window-elements.png" x="72" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + + <!-- Popup menus --> + <bitmap id="studio.button.checkmark" file="menu/window-elements.png" x="20" y="8" h="9" w="10"/> + <bitmap id="studio.popup.submenuIcon" file="menu/window-elements.png" x="22" y="17" h="9" w="10"/> + <bitmap id="studio.popup.seperator" file="menu/window-elements.png" x="8" y="13" h="6" w="11" gammagroup="Menus"/> + <bitmap id="studio.popup.background" file="menu/background.png" gammagroup="Menus"/> + <bitmap id="studio.popup.border.topLeft" file="menu/window-elements.png" x="0" y="0" h="2" w="2" gammagroup="Menus"/> + <bitmap id="studio.popup.border.top" file="menu/window-elements.png" x="8" y="0" h="2" w="8" gammagroup="Menus"/> + <bitmap id="studio.popup.border.topRight" file="menu/window-elements.png" x="33" y="0" h="2" w="4" gammagroup="Menus"/> + <bitmap id="studio.popup.border.left" file="menu/window-elements.png" x="0" y="8" h="8" w="2" gammagroup="Menus"/> + <bitmap id="studio.popup.border.right" file="menu/window-elements.png" x="33" y="8" h="8" w="4" gammagroup="Menus"/> + <bitmap id="studio.popup.border.bottomLeft" file="menu/window-elements.png" x="0" y="35" h="2" w="2" gammagroup="Menus"/> + <bitmap id="studio.popup.border.bottom" file="menu/window-elements.png" x="8" y="35" h="2" w="8" gammagroup="Menus"/> + <bitmap id="studio.popup.border.bottomRight" file="menu/window-elements.png" x="33" y="35" h="2" w="4" gammagroup="Menus"/> + <bitmap id="studio.popup.selection.left" file="menu/selbar.png" x="0" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="studio.popup.selection.right" file="menu/selbar.png" x="6" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="studio.popup.selection.center" file="menu/selbar.png" x="27" y="0" w="20" h="10" gammagroup="Menus"/> + + <bitmap id="wasabi.popup.menu.check" file="menu/window-elements.png" x="20" y="8" h="9" w="10"/> + <bitmap id="wasabi.popup.menu.submenu" file="menu/window-elements.png" x="22" y="17" h="9" w="10"/> + <bitmap id="wasabi.popup.menu.seperator" file="menu/window-elements.png" x="8" y="13" h="6" w="11" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.background" file="menu/background.png" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.topLeft" file="menu/window-elements.png" x="0" y="0" h="2" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.top" file="menu/window-elements.png" x="8" y="0" h="2" w="8" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.topRight" file="menu/window-elements.png" x="33" y="0" h="2" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.left" file="menu/window-elements.png" x="0" y="8" h="8" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.right" file="menu/window-elements.png" x="33" y="8" h="8" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottomLeft" file="menu/window-elements.png" x="0" y="35" h="2" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottom" file="menu/window-elements.png" x="8" y="35" h="2" w="8" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottomRight" file="menu/window-elements.png" x="33" y="35" h="2" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.left" file="menu/selbar.png" x="0" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.right" file="menu/selbar.png" x="6" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.center" file="menu/selbar.png" x="27" y="0" w="20" h="10" gammagroup="Menus"/> + + <!-- Title objects --> + <bitmap id="wasabi.titlebar.left.active" file="window/window-elements.png" x="106" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.center.active" file="window/window-elements.png" x="114" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.right.active" file="window/window-elements.png" x="122" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.left.inactive" file="window/window-elements.png" x="106" y="127" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.center.inactive" file="window/window-elements.png" x="114" y="127" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.right.inactive" file="window/window-elements.png" x="122" y="127" h="9" w="7" gammagroup="Titlebars"/> + + <!-- Window Controls --> + + <bitmap id="wasabi.button.sysmenu" file="window/window-elements.png" x="170" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.sysmenu.pressed" file="window/window-elements.png" x="170" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.minimize" file="window/window-elements.png" x="146" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.minimize.pressed" file="window/window-elements.png" x="146" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.winshade" file="window/window-elements.png" x="132" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.winshade.pressed" file="window/window-elements.png" x="132" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close" file="window/window-elements.png" x="184" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close.pressed" file="window/window-elements.png" x="184" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.less" file="window/window-elements.png" x="184" y="74" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.less.pressed" file="window/window-elements.png" x="184" y="83" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.more" file="window/window-elements.png" x="170" y="74" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.more.pressed" file="window/window-elements.png" x="170" y="83" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.appmenu" file="window/window-elements.png" x="160" y="74" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.appmenu.pressed" file="window/window-elements.png" x="160" y="83" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.exit" file="window/window-elements.png" x="160" y="56" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.exit.pressed" file="window/window-elements.png" x="160" y="65" h="9" w="10" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.close.flat" file="window/window-elements.png" x="160" y="56" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close.flat.pressed" file="window/window-elements.png" x="160" y="65" h="9" w="10" gammagroup="Buttons"/> + + <!-- Panel Bevels --> + + <bitmap id="wasabi.panel.top.left" file="window/window-elements.png" x="19" y="114" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.top" file="window/window-elements.png" x="21" y="114" h="2" w="16" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.top.right" file="window/window-elements.png" x="37" y="114" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.left" file="window/window-elements.png" x="19" y="116" h="16" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.right" file="window/window-elements.png" x="37" y="116" h="16" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom.left" file="window/window-elements.png" x="19" y="132" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom" file="window/window-elements.png" x="21" y="132" h="2" w="16" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom.right" file="window/window-elements.png" x="37" y="132" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.tint" file="window/window-elements.png" x="24" y="119" h="10" w="10" gammagroup="Backgrounds"/> + + <!-- Object Frame--> + + <bitmap id="wasabi.objectframe.top.left" file="window/window-elements.png" x="0" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.top" file="window/window-elements.png" x="1" y="114" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.top.right" file="window/window-elements.png" x="18" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.left" file="window/window-elements.png" x="0" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.center" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.objectframe.right" file="window/window-elements.png" x="18" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom.left" file="window/window-elements.png" x="0" y="132" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom" file="window/window-elements.png" x="1" y="132" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom.right" file="window/window-elements.png" x="18" y="132" h="1" w="1" gammagroup="Backgrounds"/> + + <!-- Combo Box List--> + + <bitmap id="wasabi.dropdownlist.list.top.left" file="window/window-elements.png" x="40" y="124" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.top" file="window/window-elements.png" x="41" y="124" h="1" w="10"/> + <bitmap id="wasabi.dropdownlist.list.top.right" file="window/window-elements.png" x="51" y="124" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.left" file="window/window-elements.png" x="40" y="125" h="8" w="1"/> + <bitmap id="wasabi.dropdownlist.list.center" file="window/window-elements.png" x="41" y="125" h="8" w="10" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.dropdownlist.list.right" file="window/window-elements.png" x="51" y="125" h="8" w="1"/> + <bitmap id="wasabi.dropdownlist.list.bottom.left" file="window/window-elements.png" x="40" y="133" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.bottom" file="window/window-elements.png" x="41" y="133" h="1" w="10"/> + <bitmap id="wasabi.dropdownlist.list.bottom.right" file="window/window-elements.png" x="51" y="133" h="1" w="1"/> + + <!-- Embedded Window --> + + <bitmap id="wasabi.window.top.left" file="window/window-elements.png" x="0" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.top" file="window/window-elements.png" x="1" y="114" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.top.right" file="window/window-elements.png" x="18" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.left" file="window/window-elements.png" x="0" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.center" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.window.right" file="window/window-elements.png" x="18" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom.left" file="window/window-elements.png" x="0" y="132" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom" file="window/window-elements.png" x="1" y="132" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom.right" file="window/window-elements.png" x="18" y="132" h="1" w="1" gammagroup="Backgrounds"/> + + <!-- Generic Button --> + + <bitmap id="wasabi.button.label.arrow.up" file="window/window-elements.png" x="137" y="75" h="4" w="7" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.down" file="window/window-elements.png" x="137" y="86" h="4" w="7" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.left" file="window/window-elements.png" x="133" y="79" h="7" w="4" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.right" file="window/window-elements.png" x="144" y="79" h="7" w="4" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.ellipses" file="window/window-elements.png" x="138" y="92" h="1" w="5" gammagroup="Button Fonts"/> + + <bitmap id="wasabi.button.top.left" file="window/window-elements.png" x="0" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top" file="window/window-elements.png" x="4" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top.right" file="window/window-elements.png" x="29" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.left" file="window/window-elements.png" x="0" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.center" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.right" file="window/window-elements.png" x="29" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.left" file="window/window-elements.png" x="0" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom" file="window/window-elements.png" x="4" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.right" file="window/window-elements.png" x="29" y="163" h="4" w="4" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.hover.top.left" file="window/window-elements.png" x="33" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.top" file="window/window-elements.png" x="37" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.top.right" file="window/window-elements.png" x="62" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.left" file="window/window-elements.png" x="33" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.center" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.right" file="window/window-elements.png" x="62" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom.left" file="window/window-elements.png" x="33" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom" file="window/window-elements.png" x="37" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom.right" file="window/window-elements.png" x="62" y="163" h="4" w="4" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.pressed.top.left" file="window/window-elements.png" x="66" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top" file="window/window-elements.png" x="70" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top.right" file="window/window-elements.png" x="95" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.left" file="window/window-elements.png" x="66" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.center" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.right" file="window/window-elements.png" x="95" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.left" file="window/window-elements.png" x="66" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom" file="window/window-elements.png" x="70" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.right" file="window/window-elements.png" x="95" y="163" h="4" w="4" gammagroup="Buttons"/> + + <!-- Generic Sliders --> + + <bitmap id="wasabi.slider.horizontal.left" file="window/window-elements.png" x="106" y="149" h="8" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.horizontal.middle" file="window/window-elements.png" x="115" y="149" h="8" w="10" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.horizontal.right" file="window/window-elements.png" x="126" y="149" h="8" w="8" gammagroup="Sliders Backgrounds"/> + + <bitmap id="wasabi.slider.vertical.top" file="window/window-elements.png" x="138" y="136" h="8" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.vertical.middle" file="window/window-elements.png" x="138" y="145" h="10" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.vertical.bottom" file="window/window-elements.png" x="138" y="156" h="8" w="8" gammagroup="Sliders Backgrounds"/> + + <bitmap id="wasabi.slider.horizontal.button" file="window/window-elements.png" x="106" y="136" h="13" w="15" gammagroup="Buttons"/> + <bitmap id="wasabi.slider.horizontal.button.pressed" file="window/window-elements.png" x="121" y="136" h="13" w="15" gammagroup="Buttons"/> + + <bitmap id="wasabi.slider.vertical.button" file="window/window-elements.png" x="106" y="157" h="12" w="16" gammagroup="Buttons"/> + <bitmap id="wasabi.slider.vertical.button.pressed" file="window/window-elements.png" x="122" y="157" h="12" w="16" gammagroup="Buttons"/> + + <!-- Generic Group Box --> + + <bitmap id="wasabi.groupbox.top.left" file="window/window-elements.png" x="116" y="13" h="3" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.top" file="window/window-elements.png" x="120" y="13" h="3" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.top.right" file="window/window-elements.png" x="129" y="13" h="3" w="3" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.groupbox.left" file="window/window-elements.png" x="116" y="17" h="8" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.right" file="window/window-elements.png" x="129" y="17" h="8" w="3" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.groupbox.bottom.left" file="window/window-elements.png" x="116" y="26" h="3" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.bottom" file="window/window-elements.png" x="120" y="26" h="3" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.bottom.right" file="window/window-elements.png" x="129" y="26" h="3" w="3" gammagroup="Backgrounds"/> + +</elements>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/system-colors.xml b/Src/resources/data/freeform/xml/wasabi/xml/system-colors.xml new file mode 100644 index 00000000..a4c1d37f --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/system-colors.xml @@ -0,0 +1,87 @@ +<!-- + + system-colors.xml + + + this file contains all the static color definitions for Wasabi. An objects that does not rely on a group will use + one of these elements to decide what color to use. + + + + Just like in system-elements.xml, the elements beginning with "studio." and "common." have + been moved to system-element-aliases.xml for backwards compatibility. If you are building a + skin for Winamp3 (Wasabi Build 488), you should override these element IDs and include the + aliases file in your own skin. + +--> + + +<elements> + +<!-- Generic Trees --> + <color id="wasabi.tree.text" value="196,255,196" gammagroup="Text"/> <!-- Item text color --> + <color id="wasabi.tree.selected" value="0,0,128" gammagroup="Text Backgrounds"/> <!-- Select item text background color --> + <color id="wasabi.tree.hiliteddrop" value="0,64,128"/> <!-- Drop marker color --> + + +<!-- Generic Lists --> + <color id="wasabi.list.text" value="196,255,196" gammagroup="Text"/> <!-- List item text color --> + <color id="wasabi.list.item.selected" value="0,0,128" gammagroup="Text Backgrounds"/> <!-- Selected item text background color --> + <color id="wasabi.list.item.focused" value="0,0,128" gammagroup="Text Backgrounds"/> <!-- Focused item text background color --> + <color id="wasabi.list.column.background" value="102,102,102" gammagroup="Text Backgrounds"/> <!-- Columns background color --> + <color id="wasabi.list.column.text" value="255,255,255" gammagroup="Text"/> <!-- Columns text color --> + <color id="wasabi.list.item.selected.fg" value="255,255,255" gammagroup="Text"/> <!-- Selected item text foreground color --> + <color id="wasabi.list.column.separator" value="128,128,128" gammagroup="Backgrounds"/> <!-- Color of line between columns --> + + <!-- Haven't changed listwnd.cpp yet!!! --> + + +<!-- Item Lists, Lists with playable items --> + <color id="wasabi.itemlist.outline.current" value="255,255,0"/> <!-- Currently playing outline color --> + <color id="wasabi.itemlist.outline.focus" value="0,128,128"/> <!-- Focused item dashed outline color --> + <color id="wasabi.itemlist.selborder" value="64,64,196"/> + + +<!-- Message box --> + <color id="wasabi.msgBox.background" value="32,32,32" gammagroup="Backgrounds"/> <!-- Messagebox background color --> + <color id="wasabi.textBar.text" value="248,248,248" gammagroup="Text"/> <!-- Text object & message box text color --> + <color id="wasabi.textBar.background" value="32,32,32" gammagroup="Text Backgrounds"/> <!-- Text object & message box text background color --> + + +<!-- Buttons --> + <color id="wasabi.button.text" value="0,0,0" gammagroup="Text"/> <!-- Buttons text color --> + <color id="wasabi.button.hiliteText" value="0,240,0" gammagroup="Text"/> <!-- Buttons hilite text color, used by tab windows--> + <color id="wasabi.button.dimmedText" value="64,64,64" gammagroup="Text"/> <!-- Buttons dimmed text color, when disabled --> + + +<!-- Popup menus --> + <color id="wasabi.popup.text" value="0,0,0" gammagroup="Text"/> <!-- Menu items text color --> + <color id="wasabi.popup.hiliteText" value="255,255,255" gammagroup="Text"/> <!-- Hilited item text color --> + <color id="wasabi.popup.dimmedText" value="64,64,64" gammagroup="Text"/> <!-- Disabled item text color --> + + +<!-- Components --> + <color id="wasabi.component.title.foreground" value="255,255,255" gammagroup="Text"/> <!-- Old title bar text color when using TTF --> + <color id="wasabi.component.title.border" value="1,1,1" gammagroup="Text Backgrounds"/> <!-- Old title bar text outline when using TTF --> + + +<!-- labeled windows --> + <color id="wasabi.labelwnd.foreground" value="220,220,220" gammagroup="Text"/> <!-- Text foreground color --> + <color id="wasabi.labelwnd.background" value="0,0,0" gammagroup="Text Backgrounds"/> <!-- Text drop shadow color --> + + +<!-- edit wnds --> + <color id="wasabi.edit.selection" value="127,127,127" gammagroup="Text Backgrounds"/> <!-- Selected text --> + <color id="wasabi.edit.text" value="196,255,196" gammagroup="Text"/> <!--Text --> + <color id="wasabi.edit.background" value="0,0,0" gammagroup="Text Backgrounds"/> <!--Text background --> + +</elements> + +<elements> + <color id="wasabi.text.color" value="255,255,255" gammagroup="Text"/> + <color id="wasabi.text.color.inverse" value="0,0,0" gammagroup="Text Inverse"/> +</elements> + +<include file="system-element-aliases.xml"/> +<!-- also included in system-elements.xml, but it doesnt hurt to be thorough. I think. :) --> + diff --git a/Src/resources/data/freeform/xml/wasabi/xml/system-element-aliases.xml b/Src/resources/data/freeform/xml/wasabi/xml/system-element-aliases.xml new file mode 100644 index 00000000..027226c8 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/system-element-aliases.xml @@ -0,0 +1,226 @@ +<!-- This file contains aliases to old ids for backward compatibility to 488 (winamp3.0) --> + + +<!-- ============== --> +<!-- BITMAP ALIASES --> +<!-- ============== --> +<elements> + +<!-- Base Texture --> + <elementalias id="studio.basetexture" target="wasabi.basetexture" /> + + +<!-- Frame windows --> + <elementalias id="studio.framewnd.verticaldivider" target="wasabi.framewnd.verticaldivider"/> + <elementalias id="studio.framewnd.verticalgrabber" target="wasabi.framewnd.verticalgrabber"/> + <elementalias id="studio.framewnd.horizontaldivider" target="wasabi.framewnd.horizontaldivider"/> + <elementalias id="studio.framewnd.horizontalgrabber" target="wasabi.framewnd.horizontalgrabber"/> + <elementalias id="studio.framewnd.windowshade" target="wasabi.framewnd.windowshade"/> + +<!-- Generic Lists and Trees --> + <elementalias id="studio.list.background" target="wasabi.list.background"/> + <elementalias id="sutdio.list.background" target="wasabi.list.background"/> <!-- typos suck --> + <elementalias id="studio.tree.background" target="wasabi.tree.background"/> + <elementalias id="studio.tree.tab.closed" target="wasabi.tree.tab.closed"/> + <elementalias id="studio.tree.tab.open" target="wasabi.tree.tab.open"/> + <elementalias id="studio.tree.link.top.bottom" target="wasabi.tree.link.top.bottom"/> + <elementalias id="studio.tree.link.top.right" target="wasabi.tree.link.top.right"/> + <elementalias id="studio.tree.link.top.rightBottom" target="wasabi.tree.link.top.rightBottom"/> + <elementalias id="studio.tree.link.tab.top.bottom" target="wasabi.tree.link.tab.top.bottom"/> + <elementalias id="studio.tree.link.tab.top.right" target="wasabi.tree.link.tab.top.right"/> + <elementalias id="studio.tree.link.tab.top.rightBottom" target="wasabi.tree.link.tab.top.rightBottom"/> + +<!-- Scrollbars (on List, Tree, etc...) --> + <elementalias id="studio.scrollbar.horizontal.left" target="wasabi.scrollbar.horizontal.left"/> + <elementalias id="studio.scrollbar.horizontal.left.hilite" target="wasabi.scrollbar.horizontal.left.hover"/> + <elementalias id="studio.scrollbar.horizontal.left.pressed" target="wasabi.scrollbar.horizontal.left.pressed"/> + <elementalias id="studio.scrollbar.horizontal.right" target="wasabi.scrollbar.horizontal.right"/> + <elementalias id="studio.scrollbar.horizontal.right.hilite" target="wasabi.scrollbar.horizontal.right.hover"/> + <elementalias id="studio.scrollbar.horizontal.right.pressed" target="wasabi.scrollbar.horizontal.right.pressed"/> + <elementalias id="studio.scrollbar.horizontal.button" target="wasabi.scrollbar.horizontal.button"/> + <elementalias id="studio.scrollbar.horizontal.button.hilite" target="wasabi.scrollbar.horizontal.button.hover"/> + <elementalias id="studio.scrollbar.horizontal.button.pressed" target="wasabi.scrollbar.horizontal.button.pressed"/> + <elementalias id="studio.scrollbar.vertical.left" target="wasabi.scrollbar.vertical.left"/> + <elementalias id="studio.scrollbar.vertical.left.hilite" target="wasabi.scrollbar.vertical.left.hover"/> + <elementalias id="studio.scrollbar.vertical.left.pressed" target="wasabi.scrollbar.vertical.left.pressed"/> + <elementalias id="studio.scrollbar.vertical.right" target="wasabi.scrollbar.vertical.right"/> + <elementalias id="studio.scrollbar.vertical.right.hilite" target="wasabi.scrollbar.vertical.right.hover"/> + <elementalias id="studio.scrollbar.vertical.right.pressed" target="wasabi.scrollbar.vertical.right.pressed"/> + <elementalias id="studio.scrollbar.vertical.button" target="wasabi.scrollbar.vertical.button"/> + <elementalias id="studio.scrollbar.vertical.button.hilite" target="wasabi.scrollbar.vertical.button.hover"/> + <elementalias id="studio.scrollbar.vertical.button.pressed" target="wasabi.scrollbar.vertical.button.pressed"/> + + +<!-- labelwnd titles --> + <elementalias id="studio.label.upperleft" target="wasabi.label.top.left"/> + <elementalias id="studio.label.top" target="wasabi.label.top"/> + <elementalias id="studio.label.upperright" target="wasabi.label.top.right"/> + <elementalias id="studio.label.left" target="wasabi.label.left"/> + <elementalias id="studio.label.middle" target="wasabi.label.middle"/> + <elementalias id="studio.label.right" target="wasabi.label.right"/> + <elementalias id="studio.label.lowerleft" target="wasabi.label.bottom.left"/> + <elementalias id="studio.label.bottom" target="wasabi.label.bottom"/> + <elementalias id="studio.label.lowerright" target="wasabi.label.bottom.right"/> + + +<!-- default button --> + <elementalias id="studio.button.upperLeft" target="wasabi.button.top.left"/> + <elementalias id="studio.button.top" target="wasabi.button.top"/> + <elementalias id="studio.button.upperRight" target="wasabi.button.top.right"/> + <elementalias id="studio.button.left" target="wasabi.button.left"/> + <elementalias id="studio.button.middle" target="wasabi.button.middle"/> + <elementalias id="studio.button.right" target="wasabi.button.right"/> + <elementalias id="studio.button.lowerLeft" target="wasabi.button.bottom.left"/> + <elementalias id="studio.button.bottom" target="wasabi.button.bottom"/> + <elementalias id="studio.button.lowerRight" target="wasabi.button.bottom.right"/> + <elementalias id="studio.button.pressed.upperLeft" target="wasabi.button.pressed.top.left"/> + <elementalias id="studio.button.pressed.top" target="wasabi.button.pressed.top"/> + <elementalias id="studio.button.pressed.upperRight" target="wasabi.button.pressed.top.right"/> + <elementalias id="studio.button.pressed.left" target="wasabi.button.pressed.left"/> + <elementalias id="studio.button.pressed.middle" target="wasabi.button.pressed.middle"/> + <elementalias id="studio.button.pressed.right" target="wasabi.button.pressed.right"/> + <elementalias id="studio.button.pressed.lowerLeft" target="wasabi.button.pressed.bottom.left"/> + <elementalias id="studio.button.pressed.bottom" target="wasabi.button.pressed.bottom"/> + <elementalias id="studio.button.pressed.lowerRight" target="wasabi.button.pressed.bottom.right"/> + + +<!-- Popup menus --> + <elementalias id="studio.button.checkmark" target="wasabi.popup.menu.check"/> + <elementalias id="studio.popup.submenuIcon" target="wasabi.popup.menu.submenu"/> + <elementalias id="studio.popup.seperator" target="wasabi.popup.menu.seperator"/> + <elementalias id="studio.popup.background" target="wasabi.popup.menu.background"/> + <elementalias id="studio.popup.border.topLeft" target="wasabi.popup.menu.border.topLeft"/> + <elementalias id="studio.popup.border.top" target="wasabi.popup.menu.border.top"/> + <elementalias id="studio.popup.border.topRight" target="wasabi.popup.menu.border.topRight"/> + <elementalias id="studio.popup.border.left" target="wasabi.popup.menu.border.left"/> + <elementalias id="studio.popup.border.right" target="wasabi.popup.menu.border.right"/> + <elementalias id="studio.popup.border.bottomLeft" target="wasabi.popup.menu.border.bottomLeft"/> + <elementalias id="studio.popup.border.bottom" target="wasabi.popup.menu.border.bottom"/> + <elementalias id="studio.popup.border.bottomRight" target="wasabi.popup.menu.border.bottomRight"/> + <elementalias id="studio.popup.selection.left" target="wasabi.popup.menu.selection.left"/> + <elementalias id="studio.popup.selection.right" target="wasabi.popup.menu.selection.right"/> + <elementalias id="studio.popup.selection.center" target="wasabi.popup.menu.selection.center"/> + +<!-- Sliders --> + <elementalias id="studio.seekbar.left" target="wasabi.slider.horizontal.left"/> + <elementalias id="studio.seekbar.middle" target="wasabi.slider.horizontal.middle"/> + <elementalias id="studio.seekbar.right" target="wasabi.slider.horizontal.right"/> + <elementalias id="studio.seekbar.top" target="wasabi.slider.vertical.top"/> + <elementalias id="studio.seekbar.middle" target="wasabi.slider.horizontal.middle"/> + <elementalias id="studio.seekbar.bottom" target="wasabi.slider.vertical.bottom"/> + <elementalias id="studio.seekbar.button.nonpressed" target="wasabi.slider.horizontal.button"/> + <elementalias id="studio.seekbar.button.pressed" target="wasabi.slider.horizontal.button.pressed"/> + +</elements> + + +<!-- ============= --> +<!-- COLOR ALIASES --> +<!-- ============= --> +<elements> + +<!-- Generic Trees --> + <elementalias id="studio.tree.text" target="wasabi.tree.text"/> + <elementalias id="studio.tree.selected" target="wasabi.tree.selected"/> + <elementalias id="studio.tree.hiliteddrop" target="wasabi.tree.hiliteddrop"/> + + +<!-- Generic Lists --> + <elementalias id="studio.list.text" target="wasabi.list.text"/> + <elementalias id="studio.list.item.selected" target="wasabi.list.item.selected"/> + <elementalias id="studio.list.item.focused" target="wasabi.list.item.focused"/> + <elementalias id="studio.list.column.background" target="wasabi.list.column.background"/> + <elementalias id="studio.list.column.text" target="wasabi.list.column.text"/> + <elementalias id="studio.list.item.selected.fg" target="wasabi.list.item.selected.fg"/> + <elementalias id="studio.list.column.separator" target="wasabi.list.column.separator"/> + + +<!-- Item Lists, Lists with playable items --> + <elementalias id="common.itemlist.outline.current" target="wasabi.itemlist.outline.current"/> + <elementalias id="common.itemlist.outline.focus" target="wasabi.itemlist.outline.focus"/> + <elementalias id="common.itemlist.selborder" target="wasabi.itemlist.selborder"/> + + +<!-- Message box --> + <elementalias id="studio.msgBox.background" target="wasabi.msgBox.background"/> + <elementalias id="studio.textBar.text" target="wasabi.textBar.text"/> + <elementalias id="studio.textBar.background" target="wasabi.textBar.background"/> + + +<!-- Buttons --> + <elementalias id="studio.button.text" target="wasabi.button.text"/> + <elementalias id="studio.button.hiliteText" target="wasabi.button.hiliteText"/> + <elementalias id="studio.button.dimmedText" target="wasabi.button.dimmedText"/> + + +<!-- Popup menus --> + <elementalias id="studio.popup.text" target="wasabi.popup.text"/> + <elementalias id="studio.popup.hiliteText" target="wasabi.popup.hiliteText"/> + <elementalias id="studio.popup.dimmedText" target="wasabi.popup.dimmedText"/> + + +<!-- Components --> + <elementalias id="studio.component.title.foreground" target="wasabi.component.title.foreground"/> + <elementalias id="studio.component.title.border" target="wasabi.component.title.border"/> + + +<!-- labeled windows --> + <elementalias id="common.labelwnd.foreground" target="wasabi.labelwnd.foreground"/> + <elementalias id="common.labelwnd.background" target="wasabi.labelwnd.background"/> + +</elements> + + +<!-- NOT USED. WISHFUL THINKING. + +__NOBODY USES THESE. + <bitmap id="wasabi.frame.divider.arrow.left" file="window/window-elements.png" x="56" y="124" h="7" w="4"/> + <bitmap id="wasabi.frame.divider.arrow.right" file="window/window-elements.png" x="60" y="124" h="7" w="4"/> + <bitmap id="wasabi.frame.divider.top.left" file="window/window-elements.png" x="115" y="31" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.top" file="window/window-elements.png" x="118" y="31" h="3" w="10"/> + <bitmap id="wasabi.frame.divider.top.right" file="window/window-elements.png" x="128" y="31" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.left" file="window/window-elements.png" x="115" y="34" h="10" w="3"/> + <bitmap id="wasabi.frame.divider.center" file="window/window-elements.png" x="118" y="34" h="10" w="10"/> + <bitmap id="wasabi.frame.divider.right" file="window/window-elements.png" x="128" y="34" h="10" w="3"/> + <bitmap id="wasabi.frame.divider.bottom.left" file="window/window-elements.png" x="115" y="44" h="3" w="3"/> + <bitmap id="wasabi.frame.divider.bottom" file="window/window-elements.png" x="118" y="44" h="3" w="10"/> + <bitmap id="wasabi.frame.divider.bottom.right" file="window/window-elements.png" x="128" y="44" h="3" w="3"/> + +__TREE DOES NOT USE SORT ICON. + <bitmap id="studio.tree.sort.icon" file="window/tree-sort-icon.png" gammagroup="Tree Color"/> + +__SCROLLBARS DO NOT HAVE A BACKGROUND ELEMENT. + <bitmap id="studio.scrollbar.horizontal.background" file="window/window-elements.png" x="58" y="52" h="13" w="41" gammagroup="Scrollbar Backgrounds"/> + <bitmap id="wasabi.scrollbar.horizontal.background" file="window/window-elements.png" x="58" y="52" h="13" w="41" gammagroup="Scrollbar Backgrounds"/> + <bitmap id="studio.scrollbar.vertical.background" file="window/window-elements.png" x="39" y="55" h="41" w="13" gammagroup="Scrollbar Backgrounds"/> + <bitmap id="wasabi.scrollbar.vertical.background" file="window/window-elements.png" x="39" y="55" h="41" w="13" gammagroup="Scrollbar Backgrounds"/> + +__BUTTONS ON THE SCROLLBARS ONLY HAVE ONE ELEMENT. + <bitmap id="wasabi.scrollbar.horizontal.button.left" file="window/window-elements.png" x="57" y="13" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle" file="window/window-elements.png" x="60" y="13" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right" file="window/window-elements.png" x="95" y="13" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.left.hover" file="window/window-elements.png" x="57" y="26" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle.hover" file="window/window-elements.png" x="60" y="26" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right.hover" file="window/window-elements.png" x="95" y="26" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.left.pressed" file="window/window-elements.png" x="57" y="39" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.middle.pressed" file="window/window-elements.png" x="60" y="39" h="13" w="35" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.right.pressed" file="window/window-elements.png" x="95" y="39" h="13" w="3" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.top" file="window/window-elements.png" x="0" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle" file="window/window-elements.png" x="0" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom" file="window/window-elements.png" x="0" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.top.hover" file="window/window-elements.png" x="13" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle.hover" file="window/window-elements.png" x="13" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom.hover" file="window/window-elements.png" x="13" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.top.pressed" file="window/window-elements.png" x="26" y="55" h="3" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.middle.pressed" file="window/window-elements.png" x="26" y="58" h="35" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.bottom.pressed" file="window/window-elements.png" x="26" y="93" h="3" w="13" gammagroup="Scrollbar Buttons"/> + +__NOBODY USES THESE, EITHER. + <bitmap id="studio.statusbar.left" file="window/window-elements.png" x="94" y="0" h="12" w="12"/> + <bitmap id="studio.statusbar.middle" file="window/window-elements.png" x="107" y="0" h="12" w="12"/> + <bitmap id="studio.statusbar.right" file="window/window-elements.png" x="120" y="0" h="12" w="12"/> + +__NOR THIS COLOR. + <color id="studio.tree.hilited" value="0,255,255"/> + +-->
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/system-elements.xml b/Src/resources/data/freeform/xml/wasabi/xml/system-elements.xml new file mode 100644 index 00000000..04d4ed5d --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/system-elements.xml @@ -0,0 +1,292 @@ +<!-- You are probably wondering "What happened to all the studio. elements?" because + that is how you implemented your Wasabi skins in the past. That's okay. All of + those element ids still work. They have been turned into aliases and now exist + in "system-element-aliases.xml" which allows us all to be backwards compatible. +--> + +<include file="system-element-aliases.xml" /> + +<elements> + +<!-- Fonts --> + <bitmapfont id="studio.component.title" file="fonts/titlebar-font.png" hspacing="-3" vspacing="0" charwidth="10" charheight="11" gammagroup="Titlebar Font"/> + <bitmapfont id="wasabi.font.button.small" file="fonts/button-font-small.png" hspacing="-1" vspacing="0" charwidth="5" charheight="5" gammagroup="Button Fonts"/> + <bitmapfont id="wasabi.font.button.normal" file="fonts/button-font-normal.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Button Fonts"/> + <bitmapfont id="wasabi.font.default" file="fonts/default-font.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Display Fonts"/> + <bitmapfont id="studio.component.statusbar" file="fonts/default-font.png" charwidth="5" charheight="6" hspacing="0" vspacing="0" gammagroup="Display Fonts"/> + + +<!-- Base Texture --> + <bitmap id="wasabi.basetexture" file="window/background.png" gammagroup="Backgrounds"/> + +<!-- Frame windows --> + <bitmap id="wasabi.framewnd.verticaldivider" file="window/window-elements.png" x="124" y="53" h="65" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.framewnd.verticalgrabber" file="window/window-elements.png" x="115" y="53" h="65" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.framewnd.horizontaldivider" file="window/window-elements.png" x="40" y="97" h="8" w="65" gammagroup="Backgrounds"/> + <bitmap id="wasabi.framewnd.horizontalgrabber" file="window/window-elements.png" x="40" y="106" h="8" w="65" gammagroup="Backgrounds"/> + <bitmap id="wasabi.framewnd.windowshade" file="window/framewnd-windowshade.png" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.frame.divider.arrow.up" file="window/window-elements.png" x="64" y="124" h="4" w="7"/> + <bitmap id="wasabi.frame.divider.arrow.down" file="window/window-elements.png" x="64" y="128" h="4" w="7"/> + + +<!-- Generic Lists and Trees --> + <bitmap id="wasabi.list.background" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> <!-- List background bitmap (tile) --> + <bitmap id="wasabi.tree.background" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> <!-- Tree background bitmap (tile) --> + + <bitmap id="wasabi.tree.tab.closed" file="window/window-elements.png" x="149" y="0" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.tab.open" file="window/window-elements.png" x="135" y="0" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.top.bottom" file="window/window-elements.png" x="135" y="14" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.top.right" file="window/window-elements.png" x="135" y="42" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.top.rightBottom" file="window/window-elements.png" x="135" y="28" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.tab.top.bottom" file="window/window-elements.png" x="149" y="14" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.tab.top.right" file="window/window-elements.png" x="149" y="42" h="14" w="14" gammagroup="Tree Color"/> + <bitmap id="wasabi.tree.link.tab.top.rightBottom" file="window/window-elements.png" x="149" y="28" h="14" w="14" gammagroup="Tree Color"/> + +<!-- Scrollbars (on List, Tree, etc...) --> + <bitmap id="wasabi.scrollbar.horizontal.left" file="window/window-elements.png" x="40" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.left.hover" file="window/window-elements.png" x="40" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.left.pressed" file="window/window-elements.png" x="40" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right" file="window/window-elements.png" x="98" y="13" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right.hover" file="window/window-elements.png" x="98" y="26" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.right.pressed" file="window/window-elements.png" x="98" y="39" h="13" w="17" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button" file="window/window-elements.png" x="57" y="13" h="13" w="41" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.hover" file="window/window-elements.png" x="57" y="26" h="13" w="41" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.button.pressed" file="window/window-elements.png" x="57" y="39" h="13" w="41" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.left" file="window/window-elements.png" x="0" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.left.hover" file="window/window-elements.png" x="13" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.left.pressed" file="window/window-elements.png" x="26" y="38" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.right" file="window/window-elements.png" x="0" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.right.hover" file="window/window-elements.png" x="13" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.right.pressed" file="window/window-elements.png" x="26" y="96" h="17" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button" file="window/window-elements.png" x="0" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.hover" file="window/window-elements.png" x="13" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.button.pressed" file="window/window-elements.png" x="26" y="55" h="41" w="13" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.vertical.grip" file="window/scrollgrips.png" x="0" y="0" h="8" w="6" gammagroup="Scrollbar Buttons"/> + <bitmap id="wasabi.scrollbar.horizontal.grip" file="window/scrollgrips.png" x="7" y="0" h="6" w="8" gammagroup="Scrollbar Buttons"/> + + +<!-- labelwnd titles --> + <bitmap id="wasabi.label.top.left" file="window/window-elements.png" x="0" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.top" file="window/window-elements.png" x="2" y="170" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.top.right" file="window/window-elements.png" x="103" y="170" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.left" file="window/window-elements.png" x="0" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.middle" file="window/window-elements.png" x="2" y="172" w="101" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.right" file="window/window-elements.png" x="103" y="172" w="2" h="7" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom.left" file="window/window-elements.png" x="0" y="179" w="2" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom" file="window/window-elements.png" x="2" y="179" w="101" h="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.label.bottom.right" file="window/window-elements.png" x="103" y="179" w="2" h="2" gammagroup="Backgrounds"/> + + +<!-- default button --> + <bitmap id="wasabi.button.top.left" file="window/window-elements.png" x="1" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top" file="window/window-elements.png" x="4" y="135" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top.right" file="window/window-elements.png" x="30" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.left" file="window/window-elements.png" x="1" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.middle" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.right" file="window/window-elements.png" x="30" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.left" file="window/window-elements.png" x="1" y="164" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom" file="window/window-elements.png" x="4" y="164" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.right" file="window/window-elements.png" x="30" y="164 " h="2" w="2" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.pressed.top.left" file="window/window-elements.png" x="67" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top" file="window/window-elements.png" x="70" y="135" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top.right" file="window/window-elements.png" x="96" y="135" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.left" file="window/window-elements.png" x="67" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.middle" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.right" file="window/window-elements.png" x="96" y="138" h="25" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.left" file="window/window-elements.png" x="67" y="164" h="2" w="2" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom" file="window/window-elements.png" x="70" y="164" h="2" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.right" file="window/window-elements.png" x="96" y="164 " h="2" w="2" gammagroup="Buttons"/> + + +<!-- Checkboxes and Radiobuttons --> + <bitmap id="wasabi.button.checkbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.checkbox.pressed" file="window/window-elements.png" x="58" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + <!-- "xbox" isnt used by default, but we offer the graphics so you can change your theme to use them --> + <bitmap id="wasabi.button.checkbox.xbox" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.checkbox.xbox.pressed" file="window/window-elements.png" x="65" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + <bitmap id="wasabi.button.radio.background" file="window/window-elements.png" x="58" y="66" h="11" w="11" gammagroup="Backgrounds"/> + <bitmap id="wasabi.button.radio.background.display" file="window/window-elements.png" x="69" y="66" h="9" w="9" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.button.radio" file="window/window-elements.png" x="79" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + <bitmap id="wasabi.button.radio.pressed" file="window/window-elements.png" x="72" y="77" h="7" w="7" gammagroup="Checkboxes and Radio Buttons"/> + + +<!-- Popup menus --> + <bitmap id="wasabi.popup.menu.check" file="menu/window-elements.png" x="20" y="8" h="9" w="10"/> + <bitmap id="wasabi.popup.menu.submenu" file="menu/window-elements.png" x="22" y="17" h="9" w="10"/> + <bitmap id="wasabi.popup.menu.seperator" file="menu/window-elements.png" x="8" y="13" h="6" w="11" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.background" file="menu/background.png" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.topLeft" file="menu/window-elements.png" x="0" y="0" h="2" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.top" file="menu/window-elements.png" x="8" y="0" h="2" w="8" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.topRight" file="menu/window-elements.png" x="33" y="0" h="2" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.left" file="menu/window-elements.png" x="0" y="8" h="8" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.right" file="menu/window-elements.png" x="33" y="8" h="8" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottomLeft" file="menu/window-elements.png" x="0" y="35" h="2" w="2" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottom" file="menu/window-elements.png" x="8" y="35" h="2" w="8" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.border.bottomRight" file="menu/window-elements.png" x="33" y="35" h="2" w="4" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.left" file="menu/selbar.png" x="0" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.right" file="menu/selbar.png" x="6" y="0" w="5" h="10" gammagroup="Menus"/> + <bitmap id="wasabi.popup.menu.selection.center" file="menu/selbar.png" x="27" y="0" w="20" h="10" gammagroup="Menus"/> + + +<!-- Title objects --> + <bitmap id="wasabi.titlebar.left.active" file="window/window-elements.png" x="106" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.center.active" file="window/window-elements.png" x="114" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.right.active" file="window/window-elements.png" x="122" y="118" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.left.inactive" file="window/window-elements.png" x="106" y="127" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.center.inactive" file="window/window-elements.png" x="114" y="127" h="9" w="7" gammagroup="Titlebars"/> + <bitmap id="wasabi.titlebar.right.inactive" file="window/window-elements.png" x="122" y="127" h="9" w="7" gammagroup="Titlebars"/> + + +<!-- Window Controls --> + <bitmap id="wasabi.button.sysmenu" file="window/window-elements.png" x="170" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.sysmenu.pressed" file="window/window-elements.png" x="170" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.minimize" file="window/window-elements.png" x="146" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.minimize.pressed" file="window/window-elements.png" x="146" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.winshade" file="window/window-elements.png" x="132" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.winshade.pressed" file="window/window-elements.png" x="132" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close" file="window/window-elements.png" x="184" y="56" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close.pressed" file="window/window-elements.png" x="184" y="65" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.less" file="window/window-elements.png" x="184" y="74" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.less.pressed" file="window/window-elements.png" x="184" y="83" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.more" file="window/window-elements.png" x="170" y="74" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.more.pressed" file="window/window-elements.png" x="170" y="83" h="9" w="14" gammagroup="Buttons"/> + <bitmap id="wasabi.button.appmenu" file="window/window-elements.png" x="160" y="74" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.appmenu.pressed" file="window/window-elements.png" x="160" y="83" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.exit" file="window/window-elements.png" x="160" y="56" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.exit.pressed" file="window/window-elements.png" x="160" y="65" h="9" w="10" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.close.flat" file="window/window-elements.png" x="160" y="56" h="9" w="10" gammagroup="Buttons"/> + <bitmap id="wasabi.button.close.flat.pressed" file="window/window-elements.png" x="160" y="65" h="9" w="10" gammagroup="Buttons"/> + + +<!-- Panel Bevels --> + <bitmap id="wasabi.panel.top.left" file="window/window-elements.png" x="19" y="114" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.top" file="window/window-elements.png" x="21" y="114" h="2" w="16" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.top.right" file="window/window-elements.png" x="37" y="114" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.left" file="window/window-elements.png" x="19" y="116" h="16" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.right" file="window/window-elements.png" x="37" y="116" h="16" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom.left" file="window/window-elements.png" x="19" y="132" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom" file="window/window-elements.png" x="21" y="132" h="2" w="16" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.bottom.right" file="window/window-elements.png" x="37" y="132" h="2" w="2" gammagroup="Backgrounds"/> + <bitmap id="wasabi.panel.tint" file="window/window-elements.png" x="24" y="119" h="10" w="10" gammagroup="Backgrounds"/> + + +<!-- Object Frame--> + <bitmap id="wasabi.objectframe.top.left" file="window/window-elements.png" x="0" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.top" file="window/window-elements.png" x="1" y="114" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.top.right" file="window/window-elements.png" x="18" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.left" file="window/window-elements.png" x="0" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.center" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.objectframe.right" file="window/window-elements.png" x="18" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom.left" file="window/window-elements.png" x="0" y="132" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom" file="window/window-elements.png" x="1" y="132" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.objectframe.bottom.right" file="window/window-elements.png" x="18" y="132" h="1" w="1" gammagroup="Backgrounds"/> + + +<!-- Combo Box List--> + <bitmap id="wasabi.dropdownlist.list.top.left" file="window/window-elements.png" x="40" y="124" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.top" file="window/window-elements.png" x="41" y="124" h="1" w="10"/> + <bitmap id="wasabi.dropdownlist.list.top.right" file="window/window-elements.png" x="51" y="124" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.left" file="window/window-elements.png" x="40" y="125" h="8" w="1"/> + <bitmap id="wasabi.dropdownlist.list.center" file="window/window-elements.png" x="41" y="125" h="8" w="10" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.dropdownlist.list.right" file="window/window-elements.png" x="51" y="125" h="8" w="1"/> + <bitmap id="wasabi.dropdownlist.list.bottom.left" file="window/window-elements.png" x="40" y="133" h="1" w="1"/> + <bitmap id="wasabi.dropdownlist.list.bottom" file="window/window-elements.png" x="41" y="133" h="1" w="10"/> + <bitmap id="wasabi.dropdownlist.list.bottom.right" file="window/window-elements.png" x="51" y="133" h="1" w="1"/> + + +<!-- Embedded Window --> + <bitmap id="wasabi.window.top.left" file="window/window-elements.png" x="0" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.top" file="window/window-elements.png" x="1" y="114" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.top.right" file="window/window-elements.png" x="18" y="114" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.left" file="window/window-elements.png" x="0" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.center" file="window/window-elements.png" x="1" y="115" h="17" w="17" gammagroup="Display Backgrounds"/> + <bitmap id="wasabi.window.right" file="window/window-elements.png" x="18" y="115" h="17" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom.left" file="window/window-elements.png" x="0" y="132" h="1" w="1" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom" file="window/window-elements.png" x="1" y="132" h="1" w="17" gammagroup="Backgrounds"/> + <bitmap id="wasabi.window.bottom.right" file="window/window-elements.png" x="18" y="132" h="1" w="1" gammagroup="Backgrounds"/> + + +<!-- Generic Button --> + <bitmap id="wasabi.button.label.arrow.up" file="window/window-elements.png" x="137" y="75" h="4" w="7" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.down" file="window/window-elements.png" x="137" y="86" h="4" w="7" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.left" file="window/window-elements.png" x="133" y="79" h="7" w="4" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.arrow.right" file="window/window-elements.png" x="144" y="79" h="7" w="4" gammagroup="Button Fonts"/> + <bitmap id="wasabi.button.label.ellipses" file="window/window-elements.png" x="138" y="92" h="1" w="5" gammagroup="Button Fonts"/> + + <bitmap id="wasabi.button.top.left" file="window/window-elements.png" x="0" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top" file="window/window-elements.png" x="4" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.top.right" file="window/window-elements.png" x="29" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.left" file="window/window-elements.png" x="0" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.center" file="window/window-elements.png" x="4" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.right" file="window/window-elements.png" x="29" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.left" file="window/window-elements.png" x="0" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom" file="window/window-elements.png" x="4" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.bottom.right" file="window/window-elements.png" x="29" y="163" h="4" w="4" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.hover.top.left" file="window/window-elements.png" x="33" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.top" file="window/window-elements.png" x="37" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.top.right" file="window/window-elements.png" x="62" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.left" file="window/window-elements.png" x="33" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.center" file="window/window-elements.png" x="37" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.right" file="window/window-elements.png" x="62" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom.left" file="window/window-elements.png" x="33" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom" file="window/window-elements.png" x="37" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.hover.bottom.right" file="window/window-elements.png" x="62" y="163" h="4" w="4" gammagroup="Buttons"/> + + <bitmap id="wasabi.button.pressed.top.left" file="window/window-elements.png" x="66" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top" file="window/window-elements.png" x="70" y="134" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.top.right" file="window/window-elements.png" x="95" y="134" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.left" file="window/window-elements.png" x="66" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.center" file="window/window-elements.png" x="70" y="138" h="25" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.right" file="window/window-elements.png" x="95" y="138" h="25" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.left" file="window/window-elements.png" x="66" y="163" h="4" w="4" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom" file="window/window-elements.png" x="70" y="163" h="4" w="25" gammagroup="Buttons"/> + <bitmap id="wasabi.button.pressed.bottom.right" file="window/window-elements.png" x="95" y="163" h="4" w="4" gammagroup="Buttons"/> + + +<!-- Generic Sliders --> + <bitmap id="wasabi.slider.horizontal.left" file="window/window-elements.png" x="106" y="149" h="8" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.horizontal.middle" file="window/window-elements.png" x="115" y="149" h="8" w="10" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.horizontal.right" file="window/window-elements.png" x="126" y="149" h="8" w="8" gammagroup="Sliders Backgrounds"/> + + <bitmap id="wasabi.slider.vertical.top" file="window/window-elements.png" x="138" y="136" h="8" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.vertical.middle" file="window/window-elements.png" x="138" y="145" h="10" w="8" gammagroup="Sliders Backgrounds"/> + <bitmap id="wasabi.slider.vertical.bottom" file="window/window-elements.png" x="138" y="156" h="8" w="8" gammagroup="Sliders Backgrounds"/> + + <bitmap id="wasabi.slider.horizontal.button" file="window/window-elements.png" x="106" y="136" h="13" w="15" gammagroup="Buttons"/> + <bitmap id="wasabi.slider.horizontal.button.pressed" file="window/window-elements.png" x="121" y="136" h="13" w="15" gammagroup="Buttons"/> + + <bitmap id="wasabi.slider.vertical.button" file="window/window-elements.png" x="106" y="157" h="12" w="16" gammagroup="Buttons"/> + <bitmap id="wasabi.slider.vertical.button.pressed" file="window/window-elements.png" x="122" y="157" h="12" w="16" gammagroup="Buttons"/> + + + <!-- These are transparent by default for skins background compatibility --> + + <bitmap id="wasabi.scrollbar.horizontal.background.left" file="window/window-elements.png" x="180" y="160" w="5" h="5" /> + <bitmap id="wasabi.scrollbar.horizontal.background.middle" file="window/window-elements.png" x="185" y="160" w="5" h="5" /> + <bitmap id="wasabi.scrollbar.horizontal.background.right" file="window/window-elements.png" x="190" y="160" w="5" h="5" /> + + <bitmap id="wasabi.scrollbar.vertical.background.top" file="window/window-elements.png" x="180" y="165" w="5" h="5" /> + <bitmap id="wasabi.scrollbar.vertical.background.middle" file="window/window-elements.png" x="185" y="165" w="5" h="5" /> + <bitmap id="wasabi.scrollbar.vertical.background.bottom" file="window/window-elements.png" x="190" y="165" w="5" h="5" /> + +<!-- Generic Group Box --> + <bitmap id="wasabi.groupbox.top.left" file="window/window-elements.png" x="116" y="13" h="3" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.top" file="window/window-elements.png" x="120" y="13" h="3" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.top.right" file="window/window-elements.png" x="129" y="13" h="3" w="3" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.groupbox.left" file="window/window-elements.png" x="116" y="17" h="8" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.right" file="window/window-elements.png" x="129" y="17" h="8" w="3" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.groupbox.bottom.left" file="window/window-elements.png" x="116" y="26" h="3" w="3" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.bottom" file="window/window-elements.png" x="120" y="26" h="3" w="8" gammagroup="Backgrounds"/> + <bitmap id="wasabi.groupbox.bottom.right" file="window/window-elements.png" x="129" y="26" h="3" w="3" gammagroup="Backgrounds"/> + +</elements> + +<include file="system-element-aliases.xml"/>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/system-groups.xml b/Src/resources/data/freeform/xml/wasabi/xml/system-groups.xml new file mode 100644 index 00000000..b4b91fb4 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/system-groups.xml @@ -0,0 +1,100 @@ +<include file="groups/buttonbar.xml" /> +<include file="groups/objectframe.xml" /> +<include file="groups/panel.xml" /> +<include file="groups/window.xml" /> +<include file="groups/window-embedded.xml" /> + + +<!-- Unused for now, see system-elements.xml for overriding default button art --> + +<!-- + +<groupdef id="wasabi.button.normal"> + <grid + id="button.normal.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.button.top.left" + top="wasabi.button.top" + topright="wasabi.button.top.right" + left="wasabi.button.left" + middle="wasabi.button.center" + right="wasabi.button.right" + bottomleft="wasabi.button.bottom.left" + bottom="wasabi.button.bottom" + bottomright="wasabi.button.bottom.right" + /> + <text + id="button.text" + x="6" y="4" + w="-13" h="11" + relatw="1" + default="Button" + align="center" + font="wasabi.font.button.normal" + /> +</groupdef> + +<groupdef id="wasabi.button.pressed"> + <grid + id="button.pressed.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.button.pressed.top.left" + top="wasabi.button.pressed.top" + topright="wasabi.button.pressed.top.right" + left="wasabi.button.pressed.left" + middle="wasabi.button.pressed.center" + right="wasabi.button.pressed.right" + bottomleft="wasabi.button.pressed.bottom.left" + bottom="wasabi.button.pressed.bottom" + bottomright="wasabi.button.pressed.bottom.right" + /> + <text + id="button.text" + x="7" y="5" + w="-13" h="11" + relatw="1" + default="Button" + font="wasabi.font.button.normal" + /> +</groupdef> + +<groupdef id="wasabi.button"> + + <group id="wasabi.button.normal" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + /> + +</groupdef> + +--> + + +<!-- Unused for now, see system-elements.xml for overriding default divider art --> + +<!-- + +<groupdef id="wasabi.frame.divider"> + <grid + id="wasabi.frame.grid" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + topleft="wasabi.frame.divider.top.left" + top="wasabi.frame.divider.top" + topright="wasabi.frame.divider.top.right" + left="wasabi.frame.divider.left" + middle="wasabi.frame.divider.center" + right="wasabi.frame.divider.right" + bottomleft="wasabi.frame.divider.bottom.left" + bottom="wasabi.frame.divider.bottom" + bottomright="wasabi.frame.divider.bottom.right" + /> +</groupdef> +--> + diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.m b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.m new file mode 100644 index 00000000..cf9c61c7 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.m @@ -0,0 +1,141 @@ +#include <lib/std.mi> + +Function updateButton(); +Function setIconState(int i); + +Global Group XUIGroup; +Global Text myLabel; +Global Button myButton; +Global Layer myLayer; + +Global Boolean smallsize, isMouseOver, busyWithClick, isGhost; +Global String savedLabel, iconId; + +Global Int label_y , label_x; + +System.onScriptLoaded(){ + XUIGroup = getScriptGroup(); + myLabel = XUIGroup.findObject("itb.text"); + myButton = XUIGroup.findObject("itb.button"); + myLayer = XUIGroup.findObject("itb.layer"); + + myButton.setXmlParam("translate",XUIGroup.getXmlParam("translate")); + myLabel.setXmlParam("translate",XUIGroup.getXmlParam("translate")); + myButton.setXmlParam("translate",XUIGroup.getXmlParam("translate")); + myButton.setXmlParam("tooltip",XUIGroup.getXmlParam("tooltip")); + myButton.setXmlParam("ghost",XUIGroup.getXmlParam("ghost")); +} + +System.onSetXuiParam(String param, String value) +{ + if (strlower(param) == "icon_id") + { + iconId = value; + setIconState(1); + } + else if (strlower(param) == "label") + { + savedLabel = value; + updateButton(); + } + else if (strlower(param) == "label_translate") + { + myLabel.setXmlParam("translate", value); + } + else if (strlower(param) == "label_x") + { + label_x = stringToInteger(value); + myLabel.setXmlParam("x", value); + } + else if (strlower(param) == "label_y") + { + label_y = stringToInteger(value); + myLabel.setXmlParam("y", value); + } + else if (strlower(param) == "label_h") + { + myLabel.setXmlParam("h", value); + } + else if (strlower(param) == "label_color") + { + myLabel.setXmlParam("color", value); + } + else if (strlower(param) == "label_visible") + { + if (value == "0") smallsize=true; + else smallsize=false; + updateButton(); + } +} + +myButton.onLeftButtonDown (int x, int y) +{ + myLabel.setXmlParam("y", integerToString(label_y+1)); + setIconState(3); + busyWithClick=true; +} + +myButton.onLeftButtonUp (int x, int y) +{ + myLabel.setXmlParam("y", integerToString(label_y)); + + if (isMouseOver) setIconState(2); + else setIconState(1); + + busyWithClick=false; +} + +myButton.onRightButtonDown (int x, int y) +{ + busyWithClick=false; +} + +myButton.onEnterArea () +{ + if (busyWithClick) + { + setIconState(3); + myLabel.setXmlParam("y", integerToString(label_y+1)); + } + else + { + setIconState(2); + } + + isMouseOver = true; +} + +myButton.onLeaveArea () +{ + setIconState(1); + isMouseOver = false; + myLabel.setXmlParam("y", integerToString(label_y)); +} + +updateButton () +{ + if (smallsize) + myLabel.setText(" "); + else + myLabel.setText(savedLabel); +} + +setIconState (int i) +{ + if (i == 1) + myLayer.setXmlParam("image", iconId+".normal"); + else if (i == 2) + myLayer.setXmlParam("image", iconId+".hover"); + else if (i ==3 ) + myLayer.setXmlParam("image", iconId+".down"); +} + +XUIGroup.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source) +{ + if (strlower(action) == "getwidth") + { + int w = label_x + myLabel.getAutoWidth(); + XUIGroup.setXmlParam("w", integerToString(w)); + return w; + } +}
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.maki b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.maki Binary files differnew file mode 100644 index 00000000..15d3c151 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/IconTextButton.maki diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.m b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.m new file mode 100644 index 00000000..6ba413ef --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.m @@ -0,0 +1,2077 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: browser.m +Version: 4.1 + +Type: maki +Date: 23. Jan. 2008 - 10:06 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu +----------------------------------------------------- +---------------------------------------------------*/ + +#include <lib/std.mi> +#include <lib/config.mi> +#include <lib/fileio.mi> +#include <lib/application.mi> +#include <lib/private.mi> + +#define RELEASE +#define FILE_NAME "browser.m" +#include <lib/com/debug.m> + +#define BROWSER_SCRIPT +Global String BROWSER_DEFAULT_HOME; + +#include init_browser.m + +Class PopupMenu AttribMenu; + + +Function AttribMenu createMenufromAttribList (List entries); +/** + createMenufromAttribList() explanation + the List "entries" MUST have the following style: + item 0 - is a configItem, which represents the root item. + all other items are ConfigAttributes, which will be autofilled +*/ + +Function loadInternalLinks(); +Function checkForNewLinks(); +Function retrieveStreamData(); + +Function boolean isUrl(String url); + +Function string prepareWebString(string url, string replace); +Function string strReplace(string str, string replace, string by); + +Function performWebSearch (string searchstring); +Function BrowserReload(); + +Function playListItem(int num); +Function enqueueListItem(int num); +Function downloadListItem(int num); + + +Global Container quicklink_name; +Global Layout normal, quicklink_name_layout; +Global Frame dualwnd; + +Global Group scr_content, g_search, g_navurl, sg, scr_mode, dld_mode; + +Global Browser brw; +Global Button bback, bffwd, bhome, brefresh, bstop, bsearch, blinks; +Global Button scr_open, scr_close, scr_rescan, scr_play, scr_download, switch_scr, switch_scr2, switch_dld, switch_dld2, dld_play, dld_settings; +Global Edit navurl, searchedit; + +Global GuiList scr_list; + +Global PopUpMenu scr_menu; +Global List internal_LinksTitle, internal_LinksUrl, internal_LinksSubmenus; +Global GuiObject scr_dldList; + +Global boolean download; + +Global Boolean isAutomatedSearch, xmlReadPassed; + +Global Timer delay, playDelay, linkDelay; + +#include "buttonpos.m" + +System.onScriptLoaded () +{ + initWaPrivateCalls(); + + initAttribs_Browser(); + BROWSER_DEFAULT_HOME = "http://www.winamp.com/"; + + download = true; + + sg = getScriptGroup(); + normal = sg.getParentLayout(); + dualwnd = sg.getObject("browser.dualwnd"); + g_search = dualwnd.findObject("browser.search"); + g_navurl = dualwnd.findObject("browser.navurl"); + brw = dualwnd.findObject("webbrowser"); + brw.setCancelIEErrorPage(TRUE); + bback = dualwnd.findObject("browser.back"); + bffwd = dualwnd.findObject("browser.fwd"); + bhome = dualwnd.findObject("browser.home"); + brefresh = dualwnd.findObject("browser.refresh"); + bstop = dualwnd.findObject("browser.stop"); + navurl = g_navurl.findObject("browser.hedit"); + bsearch = g_search.findObject("search.choose"); + blinks = dualwnd.findObject("browser.links"); + + delay = new Timer; + delay.setDelay(10); + + playDelay = new Timer; + playDelay.setDelay(1000); + + linkDelay = new Timer; + linkDelay.setDelay(10000); + + xmlReadPassed = false; + + internal_LinksTitle = new list; + internal_LinksUrl = new list; + internal_LinksSubmenus = new list; + loadInternalLinks(); + + browser_search_attrib.onDataChanged(); + + searchedit = g_search.getObject("search.edit"); + + scr_open = dualwnd.findObject("browser.scraper.show"); + scr_content = dualwnd.findObject("browser.scraper"); + + scr_mode = scr_content.findObject("scraper.mode"); + dld_mode = scr_content.findObject("dlds.mode"); + + dld_settings = scr_content.findObject("browser.dlds.settings"); + dld_play = scr_content.findObject("browser.dlds.play"); + + scr_close = scr_content.findObject("browser.scraper.hide"); + scr_rescan= scr_mode.findObject("browser.scraper.rescan"); + scr_play = scr_mode.findObject("browser.scraper.play"); + scr_download = scr_mode.findObject("browser.scraper.download"); + scr_list = scr_mode.findObject("scraper.results"); + + scr_dldList = dld_mode.findObject("scraper.downloads"); + + switch_dld = scr_mode.findObject("dlds.switch"); + switch_scr = dld_mode.findObject("scraper.switch"); + switch_dld2 = dld_mode.findObject("dlds.switch"); + switch_scr2 = scr_mode.findObject("scraper.switch"); + + String nu = getPrivateString("Winamp Bento", "Browser v2 Home", ""); + if (nu == "") + { + nu = BROWSER_DEFAULT_HOME; + } + + navurl.setText(nu); + + if (getPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 0) && !getPrivateInt("Winamp Bento", "Browser MediaMonitor autoswitch", 1)) + { + scr_mode.hide(); + dld_mode.show(); + } + + scr_list.setColumnLabel(1, getString("nullsoft.browser", 17)); + + initButtonPos(); + + browser_scr_show_attrib.onDataChanged (); + + // CHASHCOW + browser_search_winamp_web_attrib.setData("1"); +} + +System.onScriptUnloading () +{ + if (browser_scr_show_attrib.getData() == "1") setPrivateInt(getSkinName(), "browser.frame.pos", dualwnd.getPosition()); + + delete internal_LinksTitle; + delete internal_LinksUrl; + delete internal_LinksSubmenus; + + delete WaPrivateCall; + + delay.stop(); + delete delay; + + playDelay.stop(); + delete playDelay; + + linkDelay.stop(); + delete linkDelay; +} + +//---------------------------------------------------------------------------------------------------------------- +// Check if we should display a specific page on set visible (see suicore.maki) +//---------------------------------------------------------------------------------------------------------------- + +brw.onSetVisible (Boolean onoff) +{ + if (onoff) + { + if (getPrivateString(getSkinName(), "UrlXgive", "") != "") + { + navurl.setText(getPrivateString(getSkinName(), "UrlXgive", "")); + browserReload(); + setPrivateString(getSkinName(), "UrlXgive", ""); + DebugStrinG("[browser.m] -> External Loading Completed",0); + return; + } + else if (getPrivateString(getSkinName(), "Browser Open", "") != "") + { + navurl.setText(getPrivateString(getSkinName(), "Browser Open", "")); + browserReload(); + setPrivateString(getSkinName(), "Browser Open", ""); + DebugString("[browser.m] -> Loading Completed",0); + return; + } + browserReload(); + checkForNewLinks(); + } +} +Global boolean hasXuiHome; +System.onSetXuiParam (String param, String value) +{ + if ( strlower(param) == "home" ) + { + hasXuiHome = true; + BROWSER_DEFAULT_HOME = value; + String navTo = getPrivateString("Winamp Bento", "Browser v2 Home", ""); + if (navTo == "") + { + navTo = BROWSER_DEFAULT_HOME; + } + navurl.setText(navTo); + } + if ( strlower(param) == "download") + { + download = stringToInteger(getparam()); + switch_scr.leftClick(); + hideDownloads (); + } +} + +//---------------------------------------------------------------------------------------------------------------- +// All direct interaction w/ browser is recieved here. +// The actions are triggered by buttonclicks and suicore.maki. +// actions send to the XUI oject will be send to brw. +//---------------------------------------------------------------------------------------------------------------- + +sg.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source) +{ + brw.onAction (action, param, x, y, p1, p2, source); +} + + +brw.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source) +{ + // Open an URL + if (strlower(action) == "openurl") + { + //param = prepareWebString(param, "+"); + navurl.setText(param); + browserReload(); + return; + } + // Websearch + if (strlower(action) == "search") + { + // start! + if (strlower(param) == "go") + { + performWebSearch(searchedit.getText()); + } + // set text and start! + else + { + isAutomatedSearch = TRUE; + searchedit.setText(param); + performWebSearch(param); + isAutomatedSearch = FALSE; + } + } +} + +//---------------------------------------------------------------------------------------------------------------- +// Browser main controls. +//---------------------------------------------------------------------------------------------------------------- + +bback.onLeftClick () +{ + brw.back(); +} +bffwd.onLeftClick () +{ + brw.forward(); +} + +brefresh.onLeftClick () +{ + browserReload(); +} + +bstop.onLeftClick () +{ + brw.stop(); +} + +bhome.onLeftClick () +{ + String nu = getPrivateString("Winamp Bento", "Browser v2 Home", ""); + if (nu == "") + { + nu = BROWSER_DEFAULT_HOME; + } + + navurl.setText(nu); + + browserReload(); +} + +// set a custom default home +bhome.onRightButtonUp(int x, int y) +{ + popupmenu editmenu = new popupmenu; + editmenu.addcommand("Set current Page as default Home",1, 0,0); + editmenu.addcommand("Restore default Home",2, 0,0); + + int ret = editmenu.popatxy(clientToScreenX(bhome.getLeft()), clientToScreenY(bhome.getTop() + bhome.getHeight())); + + if (ret == 1) setPrivateString("Winamp Bento", "Browser v2 Home", navurl.getText()); + if (ret == 2) setPrivateString("Winamp Bento", "Browser v2 Home", ""); + + delete editmenu; + complete; +} + +// Windows Vista Compatibility hack. w/ this we get not so much winamp crashes. nevertheless the editbox code must be changed in gen_ff +browserReload() +{ + if (!navurl) return; + if (!brw) return; + string t = navurl.getText(); + + if (!isUrl(t)) + // t = "http://search.winamp.com/search/search?invocationType=en00-winamp-553--clientpage&query=" + prepareWebString(t, "+"); + t = "http://www.google.com/search?q=" + prepareWebString(t, "+"); + + brw.navigateUrl(t); +} + +navurl.onEnter () +{ + string t = navurl.getText(); + + if (t == "") + return; + + if (isKeyDown(VK_SHIFT)) t = "www." + t + ".com"; + else if (isKeyDown(VK_CONTROL)) t = "www." + t + ".com"; + + while (strleft(t, 1) == " ") + { + t = strright(t, strlen(t) -1); + if (t == " ") + return; + } + + while (strright(t, 1) == " ") + { + t = strleft(t, strlen(t) -1); + if (t == "") + return; + } + + if (!isUrl(t)) + // t = "http://search.winamp.com/search/search?invocationType=en00-winamp-553--clientpage&query=" + prepareWebString(t, "+"); + t = "http://www.google.com/search?q=" + prepareWebString(t, "+"); + + navurl.setText(t); + brw.navigateUrl(t); +} + +Boolean isUrl (String t) +{ + if (t == "about:blank") + return TRUE; + + String ttt = strleft(t, 10); + // get basically any http:// ftp:// etc + String slash = System.Strleft("/ ", 1); // the simple slash causes errors on some systems :( + string backslash = System.Strleft("\\ ", 1); + if (strsearch(ttt, ":" + slash + slash) > -1) + return TRUE; + + if (strsearch(ttt, ":" + slash) == 1) // C:/ + return TRUE; + + if (strsearch(ttt, ":" + backslash) == 1){ // C:\ + return TRUE; + } + + if (strleft(ttt, 2) == backslash+backslash) // get \\martin-pc + return TRUE; + + ttt = getToken(t, slash, 0); // get rid of sub dirs + String v = strright(ttt, 5); + if (strsearch(v, ".") > -1) + return TRUE; + + ttt = getToken(t, backslash, 0); // get rid of sub dirs + String v = strright(ttt, 5); + if (strsearch(v, ".") > -1) + return TRUE; + + return FALSE; +} + +//---------------------------------------------------------------------------------------------------------------- +// Enlarge searcheditbox if we have enough space +//---------------------------------------------------------------------------------------------------------------- + +sg.onResize (int x, int y, int w, int h) +{ + if(h<30) + g_navurl.hide(); + else + g_navurl.show(); + + if (w > 580 && h>=30) + { + g_search.show(); + g_search.setXmlParam("x", "-267"); + g_search.setXmlParam("w", "263"); + g_navurl.setXmlParam("x", "134"); + g_navurl.setXmlParam("w", "-403"); + } + else if (w > 400 && h>=30) + { + g_search.show(); + g_search.setXmlParam("x", "-167"); + g_search.setXmlParam("w", "163"); + g_navurl.setXmlParam("x", "134"); + g_navurl.setXmlParam("w", "-303"); + } + else + { + g_search.hide(); + g_navurl.setXmlParam("x", "134"); + g_navurl.setXmlParam("w", "-140"); + } +} + + +//---------------------------------------------------------------------------------------------------------------- +// Web Search +//---------------------------------------------------------------------------------------------------------------- + +searchedit.onEnter () +{ + performWebSearch(getText()); +} + +performWebSearch (string searchstring) +{ + while (strleft(searchstring, 1) == " ") + { + searchstring = strright(searchstring, strlen(searchstring) -1); + if (searchstring == " ") + return; // kill infinite loop + } + + if (strlower(searchstring) == "") + { + return; + } + + // check what the current websearch is + if (browser_search_attrib.getData() == "Modern Skins") + // searchstring = "http://www.winamp.com/skins/search/?s=m&q=" + prepareWebString(searchstring, "+"); + searchstring = "http://www.google.com/search?q=Winamp+Skin+" + prepareWebString(searchstring, "+"); + + else if (browser_search_attrib.getData() == "Classic Skins") + // searchstring = "http://www.winamp.com/skins/search/?s=c&q=" + prepareWebString(searchstring, "+"); + searchstring = "http://www.google.com/search?q=Winamp+Classic+Skin+" + prepareWebString(searchstring, "+"); + + else if (browser_search_attrib.getData() == "Plug-ins") + // searchstring = "http://www.winamp.com/plugins/search/?q=" + prepareWebString(searchstring, "+"); + searchstring = "http://www.google.com/search?q=Winamp+Plugin+" + prepareWebString(searchstring, "+"); + + else if (browser_search_attrib.getData() == "Web Search") + { + if (isAutomatedSearch) + { + searchstring = "http://www.google.com/search?q=" + prepareWebString(searchstring, "+"); + // searchstring = "http://search.winamp.com/search/search?invocationType=enus-winamp-553--as&query=" + prepareWebString(searchstring, "+"); + // searchstring = "http://slirsredirect.search.aol.com/redirector/sredir?sredir=1841&invocationType=en00-winamp-55--as&query=" + prepareWebString(searchstring, "+"); + } + else + { + searchstring = "http://www.google.com/search?q=" + prepareWebString(searchstring, "+"); + // searchstring = "http://search.winamp.com/search/search?invocationType=en00-winamp-553--ws&query=" + prepareWebString(searchstring, "+"); + //searchstring = "http://slirsredirect.search.aol.com/redirector/sredir?sredir=1840&invocationType=en00-winamp-55--ws&query=" + prepareWebString(searchstring, "+"); + } + } + + else if (browser_search_attrib.getData() == "Pollstar") + searchstring = "http://www.pollstar.com/tour/searchall.pl?By=All&Content=" + prepareWebString(searchstring, "+"); + + else if (browser_search_attrib.getData() == "Bandsintown") + searchstring = "http://www.bandsintown.com/" + prepareWebString(searchstring, ""); + + else if (browser_search_attrib.getData() == "JamBase") + searchstring = "http://www.jambase.com/search.asp?band=" + prepareWebString(searchstring, "+"); + + else if (browser_search_attrib.getData() == "Wikipedia Search") + searchstring = "http://en.wikipedia.org/wiki/Special:Search?search=" + prepareWebString(searchstring, "+") + "&go=Go"; + else //let's do a google search + searchstring = "http://www.google.com/search?q=" + prepareWebString(searchstring, "+"); + + navurl.setText(searchstring); + browserReload(); +} + +// Set the button image according to the current websearch +browser_search_attrib.onDataChanged () +{ + if (getData() == "Bandsintown") bsearch.setXmlParam("image", "browser.button.search.bit.normal"); + else if (getData() == "JamBase") bsearch.setXmlParam("image", "browser.button.search.jambase.normal"); + else if (getData() == "Web Search") bsearch.setXmlParam("image", "browser.button.search.google.normal"); + else if (getData() == "Pollstar") bsearch.setXmlParam("image", "browser.button.search.pollstar.normal"); + else if (getData() == "Wikipedia Search") bsearch.setXmlParam("image", "browser.button.search.wiki.normal"); + else bsearch.setXmlParam("image", "browser.button.search.winamp.normal"); + + if (brw.isVisible()) + { + performWebSearch(searchedit.getText()); + } +} + +// Show the Menu to choose a web search +bsearch.onLeftClick () +{ + AttribMenu searchlist = createMenufromAttribList (SearchAttributeList); + + int ret = searchlist.popatxy(clientToScreenX(bsearch.getLeft()), clientToScreenY(bsearch.getTop() + bsearch.getHeight())); + if (ret >= 0) + { + configAttribute temp = SearchAttributeList.enumItem(ret); + temp.setData("1"); + } + + delete searchlist; + complete; +} + +// This is the main function to create a menu out of configattributes +// Better leave this function as it is. +createMenufromAttribList (list entries) +{ + Boolean dummy = 0; + ConfigAttribute temp; + ConfigItem root = entries.enumItem(0); + PopUpMenu _menu; + list submenus, subroots; + submenus = new list; + submenus.removeAll(); + subroots = new list; + subroots.removeAll(); + _menu = new PopUpMenu; + for ( int i = 1; i < entries.getNumItems(); i++ ) + { + temp = entries.enumItem(i); + configItem parent = temp.getParentItem(); + if (parent == root) + { + _menu.addCommand ( + temp.getAttributeName(), + i, + temp.getData() == "1", + 0 + ); + } + else + { + popupmenu submenu; + boolean gotit = FALSE; + for ( int j = 0; j < submenus.getNumItems(); j++ ) + { + if (subroots.enumItem(j) == parent) + { + submenu = submenus.enumItem(j); + submenus.removeItem(j); + gotit = TRUE; + } + } + if (gotit == FALSE) + { + subroots.addItem(parent); + submenu = new popupmenu; + } + submenu.addCommand ( + temp.getAttributeName(), + i, + temp.getData() == "1", + 0 + ); + submenus.addItem(submenu); + } + } + for ( int i = 0; i < submenus.getNumItems(); i++ ) + { + if (dummy == 1) _menu.addSubMenu(submenus.enumItem(i), "Winamp Search"); //TODO ci.getName(); + else + { + _menu.addSubMenu(submenus.enumItem(i), "Concert Search"); //TODO ci.getName(); + dummy = 1; + } + } + delete submenus; + delete subroots; + + return _menu; +} + +// perpare a webstring out of the searchedit input +// %artist% and %album% are special inputs and will be rendered +// " " will be replaced for browser compatability +string prepareWebString (string url, string replace) +{ + string artist = getPlayItemMetaDataString("artist"); + string album = getPlayItemMetaDataString("album"); + + if (artist == "") artist = getPlayitemString(); + if (album == "") album = getPlayitemString(); + + url = strReplace(url, "%artist%", artist); + url = strReplace(url, "%album%", album); + + url = urlEncode(url); + + url = strReplace(url, "%20", replace); + + return url; +} + +// a basic function to replace a substring inside a string +string strReplace(string str, string replace, string by) +{ + int pos; + int len = strlen(replace); + while (pos = strsearch(str, replace) > -1) + { + string str_ = ""; + String _str = ""; + + if (pos > 0) str_ = strleft(str, pos); + + pos = strlen(str)-pos-len; + if (pos > 0) _str = strright(str, pos); + + str = str_ + by + _str; + } + return str; +} + + +//---------------------------------------------------------------------------------------------------------------- +// Quick Links +//---------------------------------------------------------------------------------------------------------------- + +Function storeInternalLink(string name, string url); +Function String enumListItem (List list_for_returnval, List list_to_search, String item_to_search); + +Global String qversion = "1.00"; + +storeInternalLink (string name, string url) +{ + internal_LinksTitle.addItem(name); + internal_LinksUrl.addItem(url); +} + +Global XmlDoc links_xml; + +// add [[beontop]TRUE] to get the menu before all other menus +loadInternalLinks () +{ + links_xml = new XmlDoc; + String filename = Application.GetSettingsPath() + "/links.xml"; + links_xml.load(filename); + if (links_xml.getSize() > 0) + { + links_xml.parser_addCallback("WasabiXML/*"); + links_xml.parser_start(); + links_xml.parser_destroy(); + } + xmlReadPassed = true; + checkForNewLinks(); +} + +Global int submenu = 0; +Global boolean inSub = false; + +WaPrivateCall.onLinksUpdated() +{ + + internal_LinksSubmenus.removeAll(); + internal_LinksTitle.removeAll(); + internal_LinksUrl.removeAll(); + + submenu = 0; + inSub = false; + + links_xml = new XmlDoc; + String filename = Application.GetSettingsPath() + "/links.xml"; + links_xml.load(filename); + links_xml.parser_addCallback("WasabiXML/*"); + links_xml.parser_start(); + links_xml.parser_destroy(); +} + +checkForNewLinks () +{ + if (!brw.isVisible() || !xmlReadPassed) + return; + + /*int last = getPrivateInt("Winamp Browser", "linksupdate", 0); + int dt = System.getDate(); + int now = (getDateYear(dt)-100)*1000+getDateDoy(dt); + + if (last >= now) return; + setPrivateInt("Winamp Browser", "linksupdate", now);*/ + + xmlReadPassed = false; + + linkDelay.start(); +} + +linkDelay.onTimer () +{ + linkDelay.stop(); + WaPrivateCall.updateLinks(qversion, "0.1"); +} + +Global boolean languageFound; + +links_xml.parser_onCallback (String xmlpath, String xmltag, list paramname, list paramvalue) +{ + if (strlower(xmltag) == "browserquicklinks") + { + qversion = enumListItem(paramvalue, paramname, "version"); + } + + else if (strlower(xmltag) == "link") + { + String store = enumListItem(paramvalue, paramname, "name"); + + if (enumListItem(paramvalue, paramname, "ontop") == "1") + { + store = "[[beontop]TRUE]" + store; + } + + if (inSub) + { + store = "[[submenu]"+ integerToString(submenu) +"]" + store; + } + + storeInternalLink(store, enumListItem(paramvalue, paramname, "url")); + } + + else if (strlower(xmltag) == "submenu") + { + String store = enumListItem(paramvalue, paramname, "name"); + + submenu++; + inSub = true; + + if (enumListItem(paramvalue, paramname, "ontop") == "1") + { + store = "[[beontop]TRUE]" + store; + } + + internal_LinksSubmenus.addItem(store); + } + else if (!languageFound && !hasXuiHome && strlower(xmltag) == "home") + { + String lngId = enumListItem(paramvalue, paramname, "lngId"); + lngid = strupper(lngid); + if ((lngId) == "DEFAULT") + { + BROWSER_DEFAULT_HOME = enumListItem(paramvalue, paramname, "url"); + } + else if ((lngId) == strupper(getLanguageId())) + { + languageFound = true; + BROWSER_DEFAULT_HOME = enumListItem(paramvalue, paramname, "url"); + /*for(int i; i < paramvalue.getnumItems(); i++) + { + String s = paramname.enumItem(i); + debug(s); + s = paramvalue.enumItem(i); + debug(s); + }*/ + } + } +} + +String enumListItem (List list_for_returnval, List list_to_search, String item_to_search) +{ + int pos = list_to_search.findItem(item_to_search); + + if (pos >= 0) + { + return list_for_returnval.enumItem(pos); + } + else + { + return ""; + } +} + +Global boolean ha; +links_xml.parser_onCloseCallback (String xmlpath, String xmltag) +{ + if (strlower(xmltag) == "submenu") + { + inSub = false; + } +} + +// used to get the name of the quicklink and store it in a new subfolder +Function string convertQuickLinkTempName (string name, int subfolder); +string convertQuickLinkTempName (string name, int subfolder) +{ + if (strleft(name, 10) == "[[submenu]") + { + name = strright(name, strlen(name) - 10); + name = getToken(name, "]", 1); + } + if (subfolder > 0) + { + name = "[[submenu]" + integerToString(subfolder) + "]" + name; + } + return name; +} + +// returns the current subfolder, zero if it is in root +Function getSubFolderNum(string name); +int getSubFolderNum (string name) +{ + if (strleft(name, 10) == "[[submenu]") + { + name = strright(name, strlen(name) - 10); + return stringToInteger(getToken(name, "]", 0)); + } + else + { + return 0; + } +} + +// if "blabla" is a subfolder, this function will return what subfolder num it has. -1 is returned for no success +Function getSubFolderNameToNum(string name); +int getSubFolderNameToNum (string name) +{ + int subItems = getPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", 0); + + for ( int i = 1; i <= subItems; i++ ) + { + if (getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR") == name) return i; + } + return -1; +} + +Function PopupMenu createCustomMenu (boolean wantAdd, int startVal); +Function showQLEdit(int item); +Global Boolean ql_edit_visible; +Global Int editItemNum; + +Global Button edit_ok; +global edit qlname, qlurl; +global dropdownlist qlparent; + +// Show the Quicklink Edit Box. also used to create a new quick link item +showQLEdit (int item) +{ + editItemNum = item; + ql_edit_visible = 1; + quicklink_name = newDynamicContainer("browser.quicklink.edit.dialog2"); + if (!quicklink_name) return; + quicklink_name_layout = quicklink_name.getLayout("normal"); + if (!quicklink_name_layout) return; + + qlname = quicklink_name_layout.findObject("edit.name"); + qlurl = quicklink_name_layout.findObject("edit.url"); + qlparent = quicklink_name_layout.findObject("edit.parent"); + + // predefined entry in subfolder selection + qlparent.addItem("* root"); + qlparent.setXmlParam("select", "* root"); + + int subItems = getPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", 0); + + // load all existing subfolders + for ( int i = 1; i <= subItems; i++ ) + { + qlparent.addItem(getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR")); + if ( (item + 1000) * (-1) == i ) qlparent.setXmlParam("select", getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR")); + } + + // standard text for a new folder + qlparent.addItem("["+translate("new subfolder")+"]"); + + edit_ok = quicklink_name_layout.findObject("return.values"); + + // check if we should edit a quick link... + if (item > 0) + { + string name = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(item), "ERROR"); + int sf = getSubFolderNum(name); + if (sf > 0) + { + qlparent.setXmlParam("select", getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(sf), "ERROR")); + } + qlname.setText(convertQuickLinkTempName(name, 0)); + qlurl.setText(getPrivateString("Winamp Browser QuickLinks", "itemLink_" + integerToString(item), "ERROR")); + } + // ...or create a new one + else + { + editItemNum += 1000; + editItemNum *= -1; + qlurl.setText(navurl.getText()); + qlname.setText(brw.getDocumentTitle()); + editItemNum = 0; + } + + // show the window + quicklink_name_layout.center(); + quicklink_name_layout.show(); + quicklink_name_layout.setfocus(); +} + +// Yay, OK has clicked - let's save the quick link +edit_ok.onLeftClick () +{ + if (qlname.getText() == "") + { + qlname.setText("Please enter a name for your Quicklink!"); + return; + } + if (qlurl.getText() == "") + { + qlurl.setText("Please enter an URL for your Quicklink!"); + return; + } + + // If we store a new quicklink let's insert it in the end of the list. + if (editItemNum == 0) + { + editItemNum = getPrivateInt("Winamp Browser QuickLinks", "numItems", -1) + 1; + setPrivateInt("Winamp Browser QuickLinks", "numItems", editItemNum); + } + edit e = qlparent.findObject("combobox.edit"); + string sel = e.getText(); + + //store as root item + if (sel == "* root") + { + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(editItemNum), qlname.getText()); + } + // store in a subfolder + else + { + int i = getSubFolderNameToNum (sel); + // store in a existing subfolder + if (i > 0) + { + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(editItemNum), "[[submenu]" + integerToString(i) + "]" + qlname.getText()); + } + // store in a new subfolder + else + { + int subitems = getPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", 0); + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(editItemNum), "[[submenu]" + integerToString(subitems + 1) + "]" + qlname.getText()); + + setPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", subitems + 1); + setPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(subitems + 1), sel); + } + } + // save link and close window + setPrivateString("Winamp Browser QuickLinks", "itemLink_" + integerToString(editItemNum), qlurl.getText()); + quicklink_name_layout.hide(); +} + + +Function showSMEdit(int item); +Global Boolean sm_edit_visible; +Global Int smEditItemNum; +Global Layout submenu_name_layout; +Global Container submenu_name; + +Global Button sm_edit_ok; +global edit smname; + +// Show Sub Menu Editbox +showSMEdit (int item) +{ + item += 20000; + item *= -1; + smEditItemNum = item; + sm_edit_visible = 1; + submenu_name = newDynamicContainer("browser.submenu.edit2"); + if (!submenu_name) return; + submenu_name_layout = submenu_name.getLayout("normal"); + if (!submenu_name_layout) return; + + smname = submenu_name_layout.findObject("edit.name"); + sm_Edit_ok = submenu_name_layout.findObject("return.values"); + + // load submenu text, if we edit + if (smEditItemNum) + { + smname.setText(getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(smEditItemNum), "ERROR")); + } + + submenu_name_layout.center(); + submenu_name_layout.show(); + submenu_name_layout.setfocus(); +} + +sm_edit_ok.onLeftClick () +{ + if (smname.getText() == "") + { + smname.setText("Please enter a Subfolder name!"); + return; + } + + // is this a new submenu? + if (smEditItemNum == 0) + { + smEditItemNum = getPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", 0); + smEditItemNum++; + setPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", smEditItemNum); + } + setPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(smEditItemNum), smname.getText()); + submenu_name_layout.hide(); +} + + +// Is one of the edit windows closed? +system.onHideLayout (Layout _layout) +{ + if (_layout == quicklink_name_layout) + { + ql_edit_visible = 0; + return; + } + else if (_layout == submenu_name_layout) + { + sm_edit_visible = 0; + } +} + +/* Hey, someone has clicked on the quicklinks button. + we will show a menu and return the users descision as int. + Here is the range what is done for what return value + ]oo;-40000] delete subfolder: abs(ret += 20000) + ]-40000;-20000] edit submenu: abs(ret += 20000) + ]-20000;-1000] add quicklink in subfolder: abs(ret += 1000) + [1;10000[ browse quicklink: ret + [10000;20000[ edit quicklink: ret -= 10000 + [20000;30000[ delete quicklink + [40000;oo[ browse internal quicklink: ret -= 40000 +*/ + +blinks.onLeftClick () +{ + popupmenu quicklinks = new popupmenu; + + quicklinks = createCustomMenu (1 , 0); + + int ret = quicklinks.popatxy(clientToScreenX(blinks.getLeft()), clientToScreenY(blinks.getTop() + blinks.getHeight())); + + delete quicklinks; + + // see above + if (ret <= -1000 && ret > -20000) showQLEdit(ret); + if (ret <= -20000 && ret > -40000) showSMEdit(ret); + if (ret <= -40000) + { + ret += 40000; + ret *= -1; + String msg = translate("Do you really want to delete this Subfolder?") + "\n" + + translate("All Quick Links stored in this folder will be") + "\n" + + translate("transfered to the root of the menu!"); + int answer = messageBox (msg, translate("Confirmation") , 4, ""); + if (answer == 4) + { + int Subitems = getPrivateInt("Winamp Browser QuickLinks Submenus", "numItems", -1); + int items = getPrivateInt("Winamp Browser QuickLinks", "numItems", -1); + + setPrivateInt("Winamp Browser QuickLinks Submenus", "numItems", Subitems - 1); + + for ( int i = ret; i <= Subitems; i++ ) + { + string set = getPrivateString("Winamp Browser QuickLinks Submenus", "itemText_" + integerToString(i+1), "ERROR"); + setPrivateString("Winamp Browser QuickLinks Submenus", "itemText_" + integerToString(i), set); + string vv = "[[submenu]" + integerToString(i) + "]"; + for ( int ii = 1; ii <= items; ii++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), "ERROR"); + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + if (i == ret) + { + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), v); + } + else + { + v = "[[submenu]" + integerToString(i-1) + "]" + v; + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), v); + } + } + } + } + } + return; + } + + if (ret <= 0) return; + + int items = getPrivateInt("Winamp Browser QuickLinks", "numItems", -1); + + if (ret > items) + { + if (ret > 10000 && ret < 20000) showQLEdit(ret - 10000); + else if (ret > 20000 && ret < 30000) + { + ret -= 20000; + String msg = translate("Do You really want to delete this Quick Link?"); + int answer = messageBox (msg, translate("Confirmation") , 4, ""); + if (answer == 4) + { + int items = getPrivateInt("Winamp Browser QuickLinks", "numItems", -1); + + setPrivateInt("Winamp Browser QuickLinks", "numItems", items - 1); + + for ( int i = ret; i <= items; i++ ) + { + string set = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(i+1), "ERROR"); + setPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(i), set); + set = getPrivateString("Winamp Browser QuickLinks", "itemLink_" + integerToString(i+1), "ERROR"); + setPrivateString("Winamp Browser QuickLinks", "itemLink_" + integerToString(i), set); + } + } + } + else if (ret >= 40000) + { + navurl.setText (internal_LinksURL.enumItem(ret-40000)); + browserReload(); + } + return; + } + else if (ret > 0 && ret <= items) + { + navurl.setText (getPrivateString("Winamp Browser QuickLinks", "itemLink_" + integerToString(ret), "ERROR")); + browserReload(); + } + + complete; +} + +createCustomMenu (boolean wantAdd, int startVal) +{ + popupmenu _menu = new popupmenu; + + int subItems = getPrivateInt("Winamp Browser QuickLinks SubMenus", "numItems", 0); + int items = getPrivateInt("Winamp Browser QuickLinks", "numItems", 0); + int int_subItems = internal_LinksSubmenus.getNumItems(); + int int_items = internal_LinksTitle.getNumItems(); + + /** load top SubMenus */ + for ( int i = 0; i < int_items; i++ ) + { + string v = internal_LinksTitle.enumItem(i); + if (strleft(v, strlen("[[beontop]TRUE]")) == "[[beontop]TRUE]") + { + v = strright(v, strlen(v) - strlen("[[beontop]TRUE]")); + if (strleft(v, 10) != "[[submenu]") + { + _menu.addCommand ( + v, + 40000 + i, + 0, + 0 + ); + } + } + } + for ( int i = 0; i < int_subItems ; i++ ) + { + if (strleft(internal_LinksSubmenus.enumItem(i), strlen("[[beontop]TRUE]")) == "[[beontop]TRUE]") + { + popupmenu _sub = new popupmenu; + for ( int ii = 0; ii < int_items; ii++ ) + { + string v = internal_LinksTitle.enumItem(ii); + string vv = "[[submenu]" + integerToString(i+1) + "]"; + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + _sub.addCommand (v, 40000 + ii, 0, 0); + } + } + if (_sub.getNumCommands() < 1) _sub.addCommand ("No Quick Links Stored", 0, 0, 1); + string tmp = internal_LinksSubmenus.enumItem(i); + _menu.AddSubMenu (_sub, strright(tmp, strlen(tmp) - strlen("[[beontop]TRUE]"))); + } + } + + if (_menu.getNumCommands() > 0) _menu.addSeparator(); + + if (wantAdd == 1) + { + popupmenu editsub = new popupmenu; + + /** Edit Quick links */ + + popupmenu editmenu = new popupmenu; + + if (subItems > 0) + { + for ( int i = 1; i <= subItems; i++ ) + { + string vv = "[[submenu]" + integerToString(i) + "]"; + popupmenu _sub = new popupmenu; + for ( int ii = 1; ii <= items; ii++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), "ERROR"); + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + _sub.addCommand (v, 10000 + ii, 0, 0); + } + } + if (_sub.getNumCommands() < 1) _sub.addCommand ("No Quick Links Stored", 0, 0, 1); + editmenu.AddSubMenu (_sub, getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR")); + } + } + + for ( int i = 1; i <= items; i++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(i), "ERROR"); + if (strleft(v, 10) != "[[submenu]") + { + editmenu.addCommand ( + v, + 10000 + i, + 0, + 0 + ); + } + } + + if (editmenu.getNumCommands() < 1) editmenu.addCommand ("No Quick Links Stored", 0, 0, 1); + + editsub.addSubMenu (editmenu, "Edit Quick Link"); + + /** Delete SubMenus */ + + popupmenu editmenu2 = new popupmenu; + + if (subItems > 0) + { + for ( int i = 1; i <= subItems; i++ ) + { + popupmenu _sub = new popupmenu; + for ( int ii = 1; ii <= items; ii++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), "ERROR"); + string vv = "[[submenu]" + integerToString(i) + "]"; + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + _sub.addCommand (v, 20000 + ii, 0, 0); + } + } + if (_sub.getNumCommands() < 1) _sub.addCommand ("No Quick Links Stored", 0, 0, 1); + editmenu2.AddSubMenu (_sub, getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR")); + } + } + + for ( int i = 1; i <= items; i++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(i), "ERROR"); + if (strleft(v, 10) != "[[submenu]") + { + + editmenu2.addCommand ( + v, + 20000 + i, + 0, + 0 + ); + } + } + + if (editmenu2.getNumCommands() < 1) editmenu2.addCommand ("No Quick Links Stored", 0, 0, 1); + editsub.addSubMenu (editmenu2, "Delete Quick Link"); + editsub.addSeparator(); + + /** Edit SubMenus */ + + popupmenu editmenu3 = new popupmenu; + + for ( int i = 1; i <= subItems; i++ ) + { + editmenu3.addCommand ( + getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR"), + -20000 - i, + 0, + 0 + ); + } + if (editmenu3.getNumCommands() < 1) editmenu3.addCommand ("No Subfolders Stored", 0, 0, 1); + editsub.addSubMenu (editmenu3, "Edit Subfolder"); + + + /** Delete SubMenus */ + + popupmenu editmenu4 = new popupmenu; + + for ( int i = 1; i <= subItems; i++ ) + { + editmenu4.addCommand ( + getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR"), + -40000 - i, + 0, + 0 + ); + } + if (editmenu4.getNumCommands() < 1) editmenu4.addCommand ("No Subfolders Stored", 0, 0, 1); + editsub.addSubMenu (editmenu4, "Delete Subfolder"); + + _menu.addSubMenu (editsub, "Manage Quick Links"); + _menu.addSeparator(); + } + + if (wantAdd == 1) + { + _menu.addCommand ("Add New Subfolder...", -20000, 0, 0); + _menu.addCommand ("Add Current Page...", -1000, 0, 0); + _menu.addSeparator(); + } + + /** load SubMenus */ + for ( int i = 0; i < int_subItems ; i++ ) + { + if (strleft(internal_LinksSubmenus.enumItem(i), strlen("[[beontop]TRUE]")) != "[[beontop]TRUE]") + { + popupmenu _sub = new popupmenu; + for ( int ii = 0; ii < int_items; ii++ ) + { + string v = internal_LinksTitle.enumItem(ii); + string vv = "[[submenu]" + integerToString(i+1) + "]"; + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + _sub.addCommand (v, 40000 + ii, 0, 0); + } + } + if (_sub.getNumCommands() < 1) _sub.addCommand ("No Quick Links Stored", 0, 0, 1); + _menu.AddSubMenu (_sub, internal_LinksSubmenus.enumItem(i)); + } + } + + if (subItems > 0) + { + for ( int i = 1; i <= subItems; i++ ) + { + popupmenu _sub = new popupmenu; + if (wantAdd == 1) _sub.addCommand ("Add Current Page...", -1000 - i, 0, 0); + _sub.addSeparator(); + for ( int ii = 1; ii <= items; ii++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(ii), "ERROR"); + string vv = "[[submenu]" + integerToString(i) + "]"; + if (strleft (v, strlen(vv)) == vv) + { + v = strright(v, strlen(v) - strlen(vv)); + _sub.addCommand (v, startVal + ii, 0, 0); + } + } + if (_sub.getNumCommands() < 3) _sub.addCommand ("No Quick Links Stored", 0, 0, 1); + _menu.AddSubMenu (_sub, getPrivateString("Winamp Browser QuickLinks SubMenus", "itemText_" + integerToString(i), "ERROR")); + } + } + + // load internal entries + for ( int i = 0; i < int_items; i++ ) + { + string v = internal_LinksTitle.enumItem(i); + if (strleft(v, strlen("[[beontop]TRUE]")) != "[[beontop]TRUE]") + { + if (strleft(v, 10) != "[[submenu]") + { + _menu.addCommand ( + v, + 40000 + i, + 0, + 0 + ); + } + } + } + + for ( int i = 1; i <= items; i++ ) + { + string v = getPrivateString("Winamp Browser QuickLinks", "itemText_" + integerToString(i), "ERROR"); + if (strleft(v, 10) != "[[submenu]") + { + _menu.addCommand ( + v, + startVal + i, + 0, + 0 + ); + } + } + if (_menu.getNumCommands() < 6) _menu.addCommand ("No Quick Links Stored", 0, 0, 1); + return _menu; +} + + +//---------------------------------------------------------------------------------------------------------------- +// Site Scraper +//---------------------------------------------------------------------------------------------------------------- + +Global String errorUrl; +/* +// scrape everytime the document does change and change navurl text +brw.onDocumentComplete (String url) +{ + //if (navurl.gettext() != url && url != "about:blank") navurl.setText(url); + if (scr_list) + { + scr_list.deleteAllItems(); + brw.scrape(); + } +}*/ + +// Won't be called on iFrames +brw.onDocumentready (String url) +{ + if (navurl.gettext() != url && url != "about:blank") + { + navurl.setText(url); + } + if (scr_list) + { + scr_list.deleteAllItems(); + if (url != "about:blank") scr_list.setColumnLabel(0, getString("nullsoft.browser", 16) + " " + url); + brw.scrape(); + } +} + +Global String url_delayed; + +brw.OnNavigateError(String url, int code) +{ + if (code >= 200 && code <= 299) + return; + + if (code == 0) + return; + + // if (url == "" || strleft(url, strlen("http://search.winamp.com/")) == "http://search.winamp.com/") + if (url == "" || strleft(url, strlen("http://www.google.com/")) == "http://www.google.com/") + return; + + if (strleft(url, 11) == "javascript:") + return; + + // String t = "http://search.winamp.com/search/afe?query=" + prepareWebString(navurl.getText(), "+") + "&invocationType=en00-winamp-553--error"; + String t = "http://www.google.com/search?q=" + prepareWebString(navurl.getText(), "+"); + + navurl.setText(t); + url_delayed = t; + delay.start(); +} + +delay.onTimer () +{ + delay.stop(); + brw.navigateUrl(url_delayed); +} + + +// Handles for wasabi:farme: show, hide, resize +scr_open.onLeftClick () +{ + browser_scr_show_attrib.setData("1"); +} + +scr_close.onLeftClick () +{ + browser_scr_show_attrib.setData("0"); +} + +Global Boolean nocallback; +browser_scr_show_attrib.onDataChanged () +{ + if (brw == NULL || nocallback) return; + if (getData() == "1") + { + scr_close_xui.show(); + scr_open_xui.hide(); + if (download) scr_download_xui.show(); + scr_play.show(); + scr_rescan_xui.show(); + scr_play_xui.show(); + if (download) dld_play_xui.show(); + dualwnd.setPosition(getPrivateInt(getSkinName(), "browser.frame.pos", 100)); + } + else + { + scr_close_xui.hide(); + scr_open_xui.show(); + if (download) scr_download_xui.hide(); + scr_play.hide(); + scr_rescan_xui.hide(); + scr_play_xui.hide(); + if (download) dld_play_xui.hide(); + if (dualwnd.getPosition() > 26) setPrivateInt(getSkinName(), "browser.frame.pos", dualwnd.getPosition()); + dualwnd.setPosition(26); + } +} + +scr_content.onResize (int x, int y, int w, int h) +{ + nocallback = TRUE; + if (dualwnd.getPosition() <= 26) + { + browser_scr_show_attrib.setData("0"); + dualwnd.setPosition(26); + scr_close_xui.hide(); + scr_open_xui.show(); + scr_content.show(); + if (download) scr_download_xui.hide(); + scr_play_xui.hide(); + scr_rescan_xui.hide(); + if (download) dld_play_xui.hide(); + } + else + { + scr_close_xui.show(); + scr_open_xui.hide(); + if (download) scr_download_xui.show(); + scr_play_xui.show(); + scr_rescan_xui.show(); + if (download) dld_play_xui.show(); + browser_scr_show_attrib.setData("1"); + } + nocallback = FALSE; +} + +// called everytime a media link is found. you must call brw.scrape to get them! +brw.onMediaLink (string url) +{ + if (getPrivateInt("Winamp Bento", "Browser MediaMonitor autoswitch", 1)) + { + browser_scr_show_attrib.setData("1"); + setPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 0); + scr_mode.show(); + dld_mode.hide(); + } + + // check if the item exists already + for ( int i = 0; i < scr_list.getNumItems() ; i++ ) + { + if (scr_list.getSubItemText(i, 1) == url) + return; + } + + scr_list.addItem(urldecode(removePath(url))); + scr_list.setSubItem(scr_list.getLastAddedItemPos(), 1, url); + if (download) scr_list.setIconWidth(32); + else scr_list.setIconWidth(16); + scr_list.setIconHeight(12); + scr_list.setShowIcons(1); + if (download) scr_list.setItemIcon(scr_list.getLastAddedItemPos(), "browser.list.label"); + else scr_list.setItemIcon(scr_list.getLastAddedItemPos(), "browser.list.label2"); + + retrieveStreamData(); +} + +System.onDownloadFinished (String url, boolean success, String filename) +{ + if (!success || url == "") + return; + + for ( int i = 0; i < scr_list.getNumItems(); i++ ) + { + if (scr_list.getSubItemText(i, 1) == url) + { + String a = getMetaDataString(filename, "artist"); + String t = getMetaDataString(filename, "title"); + String r; + + if (a == "" && t == "") + return; + else if (a == "") + r = t; + else if (t == "") + r = a; + else + r = a + " - " + t; + + scr_list.setItemLabel(i, r); + scr_list.setSubItem(i,1, filename); + } + } +} + +Global Boolean prevent = FALSE; + +// List Right click menu +scr_list.onRightClick (int num) +{ + scr_menu = new PopUpMenu; + + scr_menu.addCommand(translate("Play selection")+"\t"+translate("Enter"), 1, 0, 0); + scr_menu.addCommand("Enqueue selection"/*\tShift+Enter"*/, 2, 0, 0); + if (download) scr_menu.addCommand("Download selection"/*\tShift+Enter"*/, 3, 0, 0); + scr_menu.addCommand("Send to:"/*\tShift+Enter"*/, 4, 0, 1); + + scr_menu.addSeparator(); + scr_menu.addCommand("Play all"/*\tAlt+Enter"*/, 11, 0, 0); + scr_menu.addCommand("Enqueue all"/*\tShift+Alt+Enter"*/, 12, 0, 0); + if (download) scr_menu.addCommand("Download all"/*\tShift+Alt+Enter"*/, 13, 0, 0); + + scr_menu.addSeparator(); + scr_menu.addCommand(translate("Select all")+"\t"+translate("Ctrl+A"), 101, 0, 0); + scr_menu.addCommand(translate("Remove selection")+"\t"+translate("Ctrl+R"), 201, 0, 0); + + int result = scr_menu.popAtMouse(); + + if (result) + { + if (result == 1) playListItem(num); + else if (result == 2) enqueueListItem(num); + else if (result == 3) downloadListItem(num); + else if (result == 11 ) + { + boolean enqueue = 0; + int v = scr_list.getNumItems(); + for ( int i = 0; i < v ; i++ ) + { + if (enqueue == 0) + { + System.playFile(scr_list.getItemLabel(i,1)); + enqueue = 1; + } + else + { + System.enqueueFile(scr_list.getItemLabel(i,1)); + } + } + } + else if (result == 12 ) + { + int v = scr_list.getNumItems(); + for ( int i = 0; i < v ; i++ ) + { + System.enqueueFile(scr_list.getItemLabel(i,1)); + } + } + else if (result == 13 ) + { + downloadListItem(-2); + + } + else if (result == 101) selectAll(); + else if (result == 201) + { + if (getFirstItemSelected() == getNextItemSelected(getFirstItemSelected())) + { + deletebypos(getFirstItemSelected()); + if (scr_menu) delete scr_menu; + return; + } + + int v = scr_list.getNumItems(); + for ( int i = v-1; i >= 0 ; i-- ) + { + if (getItemSelected(i)) deletebypos(i); + } + } + } + + if (scr_menu) delete scr_menu; +} + +scr_list.onIconLeftClick (int item, int x , int y) +{ + if (x < 12) + { + playListItem(item); + } + else if (x > 14 && x < 29 && download) + { + downloadListItem(item); + } +} + + +// User Buttons +scr_download.onLeftClick () +{ + if (scr_list.getFirstItemSelected() == -1) + { + downloadListItem(-2); + } + else + { + downloadListItem(-1); + } +} + +scr_play.onLeftClick () +{/*enqueueFile("file://H:\\mp3 -\\Radio21Live.m3u"); + enqueueFile("file://H:\\mp3 -\\Nada_Surf_2008.mp3"); + //debug("file://H:\\mp3 -\\Nada_Surf_2008.mp3"); + return;*/ + playListItem(-1); +} + +scr_rescan.onLeftClick () +{ + scr_list.deleteAllItems(); + brw.scrape(); +} + +scr_list.onDoubleClick (Int itemnum) +{ + playListItem(itemnum); +} + +scr_list.onKeyDown (int code) +{ + if (code == 13) + { + if (isKeyDown(VK_CONTROL)) + { + enqueueListItem(scr_list.getItemFocused()); + } + else + { + playListItem(scr_list.getItemFocused()); + } + prevent = TRUE; + } + else if (code == 65 && isKeyDown(VK_CONTROL)) + { + selectAll(); + prevent = TRUE; + } + else if (code == 82 && isKeyDown(VK_CONTROL)) + { + if (getFirstItemSelected() == getNextItemSelected(getFirstItemSelected())) + { + deletebypos(getFirstItemSelected()); + if (scr_menu) delete scr_menu; + return; + } + + int v = scr_list.getNumItems(); + for ( int i = v-1; i >= 0 ; i-- ) + { + if (getItemSelected(i)) deletebypos(i); + } + } + complete; +} + +// prevent this action to be reported to other scripts +System.onKeyDown (String key) +{ + if (prevent) + { + prevent = FALSE; + complete; + } +} + +// play a list item +playListItem (int num) +{ + String slash = System.Strleft("/ ", 1); + if (scr_list.getFirstItemSelected() == -1) + { + + boolean enqueue = 0; + int v = scr_list.getNumItems(); + for ( int i = 0; i < v ; i++ ) + { + String play = scr_list.getItemLabel(i,1); + if (strsearch(play, ":" + slash + slash) < 0) + play = "file://" + play; + + if (enqueue == 0) + { + System.playFile(play); + enqueue = 1; + } + else + { + System.enqueueFile(play); + } + } + return; + } + + int sel = scr_list.getFirstItemSelected(); + if (sel == scr_list.getNextItemSelected(sel)) + { + String play = scr_list.getItemLabel(sel,1); + if (strsearch(play, ":" + slash + slash) < 0) + play = "file://" + play; + + System.playFile(play); + return; + } + + boolean enqueue = 0; + int v = scr_list.getNumItems(); + for ( int i = 0; i < v ; i++ ) + { + if (scr_list.getItemSelected(i)) + { + String play = scr_list.getItemLabel(i,1); + if (strsearch(play, ":" + slash + slash) < 0) + play = "file://" + play; + + if (enqueue == 0) + { + System.playFile(play); + enqueue = 1; + } + else + { + System.enqueueFile(play); + } + } + } +} + +// enqueue a list item +enqueueListItem (int num) +{ + String slash = System.Strleft("/ ", 1); + int sel = scr_list.getFirstItemSelected(); + if (sel == scr_list.getNextItemSelected(sel)) + { + String play = scr_list.getItemLabel(sel,1); + if (strsearch(play, ":" + slash + slash) < 0) + play = "file://" + play; + + System.enqueueFile(play); + return; + } + + int v = scr_list.getNumItems(); + for ( int i = 0; i < v ; i++ ) + { + if (scr_list.getItemSelected(i)) + { + String play = scr_list.getItemLabel(i,1); + if (strsearch(play, ":" + slash + slash) < 0) + play = "file://" + play; + System.enqueueFile(play); + } + } +} + +Function maybeShowDownloadManager(); + +// downlaod a list item +downloadListItem (int num) +{ + boolean storeInMl = getPrivateInt("Winamp Bento", "Store Browser Downloads in ML", 1); + + String storageDir = getPrivateString("Winamp Bento", "Save Browser Downloads Dir", ""); + if (getPrivateInt("Winamp Bento", "Save Browser Downloads in CD Ripping Dir", 0)) + storageDir = ""; + + if (num > -1) + { + System.downloadMedia(scr_list.getItemLabel(num,1), storageDir, storeInMl, true); + maybeShowDownloadManager(); + return; + } + + int v = scr_list.getNumItems(); + if (num == -2) + { + for ( int i = 0; i < v ; i++ ) + System.downloadMedia(scr_list.getItemLabel(i,1), storageDir, storeInMl, true); + + maybeShowDownloadManager(); + return; + } + + int sel = scr_list.getFirstItemSelected(); + if (sel == scr_list.getNextItemSelected(sel)) + { + System.downloadMedia(scr_list.getItemLabel(sel,1), storageDir, storeInMl, true); + maybeShowDownloadManager(); + return; + } + + for ( int i = 0; i < v ; i++ ) + { + if (scr_list.getItemSelected(i)) System.downloadMedia(scr_list.getItemLabel(i,1), storageDir, storeInMl, true); + } + + maybeShowDownloadManager(); +} + +maybeShowDownloadManager () +{ + if (getPrivateInt("Winamp Bento", "Browser DownloadMgr autoopen", 1)) + { + setPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 1); + scr_mode.hide(); + dld_mode.show(); + } +} + +System.onPlay () +{ + retrieveStreamData(); +} + +System.onTitleChange (String newtitle) +{ + retrieveStreamData(); +} + +retrieveStreamData () +{ + String url = getPlayItemString(); + if (url == "") + return; + + String left = strleft(url, 10); + if (strsearch(left, "http://") < 0 && strsearch(left, "ftp://") < 0) + return; + + // retrieve metadata + playDelay.start(); +} + +playDelay.onTimer () +{ + playDelay.stop(); + String url = getPlayItemString(); + for ( int i = 0; i < scr_list.getNumItems(); i++ ) + { + if (scr_list.getSubItemText(i, 1) == url) + { + String r = System.getPlayItemDisplayTitle(); + scr_list.setItemLabel(i, r); + } + } +} + + +//---------------------------------------------------------------------------------------------------------------- +// Download Config +//---------------------------------------------------------------------------------------------------------------- + + +switch_scr.onLeftClick () +{ + setPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 0); + + scr_mode.show(); + dld_mode.hide(); +} + + +switch_dld.onLeftClick () +{ + setPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 1); + + scr_mode.hide(); + dld_mode.show(); +} + +dld_settings.onleftclick () +{ + + /*boolean b = getPrivateInt("Winamp Bento", "Browser DownloadMgr visible", 0); + PopupMenu pop = new PopupMenu; + pop.addCommand("Media Monitor", 0, !b, false); + pop.addCommand("Active Downloads", 1, b, false);*/ + PopupMenu spop = new PopupMenu; + spop.addCommand("Autoopen Download Manager on downloading", 101, getPrivateInt("Winamp Bento", "Browser DownloadMgr autoopen", 1), false); + spop.addCommand(getString("nullsoft.browser", 21), 102, getPrivateInt("Winamp Bento", "Browser MediaMonitor autoswitch", 1), false); + spop.addSeparator(); + spop.addCommand("Add downloaded files to Media Library", 103, getPrivateInt("Winamp Bento", "Store Browser Downloads in ML", 1), false); + + PopupMenu spopout = new PopupMenu; + spopout.addCommand("CD Ripping Directory", 110, getPrivateInt("Winamp Bento", "Save Browser Downloads in CD Ripping Dir", 1), false); + spopout.addCommand("Custom Directory", 111, !getPrivateInt("Winamp Bento", "Save Browser Downloads in CD Ripping Dir", 1), false); + spopout.addSeparator(); + spopout.addCommand("Alter CD Ripping Directory", 100, false, false); + + spop.addSubMenu(spopout, "Set Download Directory"); + + int res = spop.popatxy(clientToScreenX(dld_settings.getLeft()), clientToScreenY(dld_settings.getTop() + dld_settings.getHeight())); + if (res < 100 && res > -1) + { + setPrivateInt("Winamp Bento", "Browser DownloadMgr visible", res); + if (res) + { + scr_mode.hide(); + dld_mode.show(); + } + else + { + scr_mode.show(); + dld_mode.hide(); + } + } + + else if (res == 100) + { + String path = getDownloadPath(); + path = selectFolder("", translate("Choose folder to store downloaded media.") + "\n" + translate("This will also alter the output folder for ripped tracks."), path); + if (path == "") + return; + setDownloadPath(path); + } + else if (res == 101) + { + setPrivateInt("Winamp Bento", "Browser DownloadMgr autoopen", !getPrivateInt("Winamp Bento", "Browser DownloadMgr autoopen", 1)); + } + else if (res == 102) + { + setPrivateInt("Winamp Bento", "Browser MediaMonitor autoswitch", !getPrivateInt("Winamp Bento", "Browser MediaMonitor autoswitch", 1)); + } + else if (res == 103) + { + setPrivateInt("Winamp Bento", "Store Browser Downloads in ML", !getPrivateInt("Winamp Bento", "Store Browser Downloads in ML", 1)); + } + else if (res == 110) + { + setPrivateInt("Winamp Bento", "Save Browser Downloads in CD Ripping Dir", 1); + } + else if (res == 111) + { + String path = getPrivateString("Winamp Bento", "Save Browser Downloads Dir", ""); + if (path == "") path = getDownloadPath(); + path = selectFolder("", "Choose folder to store downloaded media.", path); + if (path == "") + return; + setPrivateInt("Winamp Bento", "Save Browser Downloads in CD Ripping Dir", 0); + setPrivateString("Winamp Bento", "Save Browser Downloads Dir", path); + } + + delete spop; + complete; +}
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.maki b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.maki Binary files differnew file mode 100644 index 00000000..4dd0f319 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.maki diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.png b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.png Binary files differnew file mode 100644 index 00000000..ef362736 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.png diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.xml new file mode 100644 index 00000000..ad095442 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser.xml @@ -0,0 +1,349 @@ +<!-- ============================================================== + <Winamp:Browser/> + + @author: Martin Poehlmann + @version: 1.1 + + sendActions: openurl, search + + usage: 1) include init_browser.m in your loadattribs.m + 2) paste a <winamp:browser/> object somewhere in your skin + 3) alter the default images if you like + + note: Design and gammagroups are aligned to fit with + Bento. So overide the bitmaps in your skin in + order to change them. + +=============================================================== --> + +<elements> + + <bitmap id="browser.editframe.left" file="xml/xui/browser/browser.png" x="0" y="78" h="22" w="4" gammagroup="ComponentFrame"/> + <bitmap id="browser.editframe.center" file="xml/xui/browser/browser.png" x="4" y="78" h="22" w="2" gammagroup="ComponentFrame"/> + <bitmap id="browser.editframe.right" file="xml/xui/browser/browser.png" x="6" y="78" h="22" w="4" gammagroup="ComponentFrame"/> + + <bitmap id="browser.button.back.normal" file="xml/xui/browser/browser.png" x="8" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.back.hover" file="xml/xui/browser/browser.png" x="8" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.back.down" file="xml/xui/browser/browser.png" x="8" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.forth.normal" file="xml/xui/browser/browser.png" x="29" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.forth.hover" file="xml/xui/browser/browser.png" x="29" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.forth.down" file="xml/xui/browser/browser.png" x="29" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.reload.normal" file="xml/xui/browser/browser.png" x="50" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.reload.hover" file="xml/xui/browser/browser.png" x="50" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.reload.down" file="xml/xui/browser/browser.png" x="50" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.stop.normal" file="xml/xui/browser/browser.png" x="71" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.stop.hover" file="xml/xui/browser/browser.png" x="71" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.stop.down" file="xml/xui/browser/browser.png" x="71" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.home.normal" file="xml/xui/browser/browser.png" x="92" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.home.hover" file="xml/xui/browser/browser.png" x="92" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.home.down" file="xml/xui/browser/browser.png" x="92" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.links.normal" file="xml/xui/browser/browser.png" x="113" y="0" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.links.hover" file="xml/xui/browser/browser.png" x="113" y="26" h="26" w="21" gammagroup="WindowText"/> + <bitmap id="browser.button.links.down" file="xml/xui/browser/browser.png" x="113" y="52" h="26" w="21" gammagroup="WindowText"/> + + <bitmap id="browser.button.search.winamp.normal" file="xml/xui/browser/browser.png" x="45" y="78" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.google.normal" file="xml/xui/browser/browser.png" x="20" y="78" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.aol.normal" file="xml/xui/browser/browser.png" x="70" y="78" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.eventful.normal" file="xml/xui/browser/browser.png" x="95" y="78" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.pollstar.normal" file="xml/xui/browser/browser.png" x="0" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.wiki.normal" file="xml/xui/browser/browser.png" x="25" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.bit.normal" file="xml/xui/browser/browser.png" x="50" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.jambase.normal" file="xml/xui/browser/browser.png" x="75" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.ln.normal" file="xml/xui/browser/browser.png" x="100" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.ontour.normal" file="xml/xui/browser/browser.png" x="125" y="180" h="16" w="25" gammagroup="none"/> + <bitmap id="browser.button.search.truveo.normal" file="xml/xui/browser/browser.png" x="120" y="78" h="16" w="25" gammagroup="none"/> + + <bitmap id="browser.button.scraper.hide.normal" file="xml/xui/browser/browser2.png" x="17" y="0" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.hide.hover" file="xml/xui/browser/browser2.png" x="17" y="13" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.hide.down" file="xml/xui/browser/browser2.png" x="17" y="26" h="13" w="17" gammagroup="WindowText"/> + + <bitmap id="browser.button.scraper.show.normal" file="xml/xui/browser/browser2.png" x="0" y="0" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.show.hover" file="xml/xui/browser/browser2.png" x="0" y="13" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.show.down" file="xml/xui/browser/browser2.png" x="0" y="26" h="13" w="17" gammagroup="WindowText"/> + + <bitmap id="browser.button.scraper.play.normal" file="xml/xui/browser/browser2.png" x="34" y="0" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.play.hover" file="xml/xui/browser/browser2.png" x="34" y="13" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.play.down" file="xml/xui/browser/browser2.png" x="34" y="26" h="13" w="17" gammagroup="WindowText"/> + + <bitmap id="browser.button.scraper.download.normal" file="xml/xui/browser/browser2.png" x="51" y="0" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.download.hover" file="xml/xui/browser/browser2.png" x="51" y="13" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.download.down" file="xml/xui/browser/browser2.png" x="51" y="26" h="13" w="17" gammagroup="WindowText"/> + + <bitmap id="browser.button.scraper.rescan.normal" file="xml/xui/browser/browser2.png" x="68" y="0" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.rescan.hover" file="xml/xui/browser/browser2.png" x="68" y="13" h="13" w="17" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.rescan.down" file="xml/xui/browser/browser2.png" x="68" y="26" h="13" w="17" gammagroup="WindowText"/> + + <bitmap id="browser.button.scraper.normal" file="xml/xui/browser/browser2.png" x="0" y="39" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.hover" file="xml/xui/browser/browser2.png" x="0" y="57" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.scraper.down" file="xml/xui/browser/browser2.png" x="0" y="76" h="18" w="20" gammagroup="WindowText"/> + + <bitmap id="browser.button.dlds.normal" file="xml/xui/browser/browser2.png" x="20" y="39" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.dlds.hover" file="xml/xui/browser/browser2.png" x="20" y="57" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.dlds.down" file="xml/xui/browser/browser2.png" x="20" y="76" h="18" w="20" gammagroup="WindowText"/> + + <bitmap id="browser.button.settings.normal" file="xml/xui/browser/browser2.png" x="40" y="39" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.settings.hover" file="xml/xui/browser/browser2.png" x="40" y="57" h="18" w="20" gammagroup="WindowText"/> + <bitmap id="browser.button.settings.down" file="xml/xui/browser/browser2.png" x="40" y="76" h="18" w="20" gammagroup="WindowText"/> + + <bitmap id="browser.list.label" file="xml/xui/browser/browser2.png" x="0" y="93" w="32" h="12" gammagroup="DisplayText"/> + <bitmap id="browser.list.label2" file="xml/xui/browser/browser2.png" x="0" y="93" w="16" h="12" gammagroup="DisplayText"/> + + <color id="browser.text" value="172,172,172" gammagroup="WindowText" /> + <color id="browser.text.active" value="238,238,238" gammagroup="WindowText" /> + +</elements> + +<include file="stringtable.xml"/> +<include file="icontextbutton.xml"/> + +<groupdef id="winamp.xui.browser" embed_xui="webbrowser" xuitag="Winamp:Browser"> + + <Button id="browser.back" + x="4" h="26" w="21" y="2" rectrgn="1" + image="browser.button.back.normal" + hoverImage="browser.button.back.hover" + downImage="browser.button.back.down" + tooltip="Go Back" + /> + <Button id="browser.fwd" + x="25" h="26" w="21" y="2" rectrgn="1" + image="browser.button.forth.normal" + hoverImage="browser.button.forth.hover" + downImage="browser.button.forth.down" + tooltip="Go Forward" + /> + <Button id="browser.refresh" + x="46" h="26" w="21" y="2" rectrgn="1" + image="browser.button.reload.normal" + hoverImage="browser.button.reload.hover" + downImage="browser.button.reload.down" + tooltip="Reload Page" + /> + <Button id="browser.stop" + x="67" h="26" w="21" y="2" rectrgn="1" + image="browser.button.stop.normal" + hoverImage="browser.button.stop.hover" + downImage="browser.button.stop.down" + tooltip="Cancel Loading" + /> + <Button id="browser.home" + x="88" h="26" w="21" y="2" rectrgn="1" + image="browser.button.home.normal" + hoverImage="browser.button.home.hover" + downImage="browser.button.home.down" + tooltip="Home" + /> + <Button id="browser.links" + x="109" h="26" w="21" y="2" rectrgn="1" + image="browser.button.links.normal" + hoverImage="browser.button.links.hover" + downImage="browser.button.links.down" + tooltip="Quick Links" + /> + <group id="browser.navurl" x="134" y="3" h="22" w="-303" relatw="1" /> + + <group id="browser.search" x="-167" y="3" h="22" w="163" relatx="1" /> + + <Wasabi:Frame id="browser.dualwnd" x="1" y="29" w="-2" relath="1" h="-28" from="bottom" relatw="1" orientation="h" maxheight="null" left="browser.itself" right="browser.scraper" minheight="55" height="100" jump="0"/> + + <script file="xml/xui/browser/browser.maki" param="\"/> + +</groupdef> + +<groupdef id="browser.itself"> + + <browser id="webbrowser" fitparent="1" url="http://www.winamp.com" wantfocus="0"/> + +</groupdef> + +<groupdef id="browser.navurl"> + + <!-- kept for cPro1 backwards-compat --> + <button id="browser.navigate" x="0" h="0" w="0" y="0" visible="0" ghost="1" tooltip="Go to This URL"/> + + <grid x="0" y="0" h="22" w="0" relatw="1" + left="browser.editframe.left" + middle="browser.editframe.center" + right="browser.editframe.right" + /> + + <Wasabi:HistoryEditBox id="browser.hedit" x="5" h="18" w="-10" relatw="1" y="2" text="http://www.winamp.com" navbuttons="0" wantfocus="0" antialias="0"/> + +</groupdef> + +<groupdef id="browser.search"> + + <!-- kept for cPro1 backwards-compat --> + <button id="search.go" x="0" h="0" w="0" y="0" visible="0" ghost="1" + tooltip="Go Search" + action="search" param="go" action_target="webbrowser" + /> + + <grid x="0" y="0" h="22" w="0" relatw="1" + left="browser.editframe.left" + middle="browser.editframe.center" + right="browser.editframe.right" + /> + + <Wasabi:Button id="search.choose" x="5" y="2" w="31" h="18" + tooltip="Choose Your Search Engine" + image="browser.button.search.winamp.normal" center_image="1" + action="search" param="choose" action_target="webbrowser" + /> + + <Wasabi:EditBox id="search.edit" x="36" y="2" relatw="1" w="-41" h="18" text=""/> + +</groupdef> + +<groupdef id="scraper.mode"> + + <Wasabi:IconButton id="browser.scraper.play" rectrgn="1" + x="-267" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.play" + translate="2" + label="@nullsoft.browser#8" + label_y="-2" + label_x="18" + label_color="browser.text" + tooltip="@nullsoft.browser#9" + /> + + <Wasabi:IconButton id="browser.scraper.download" rectrgn="1" + x="-218" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.download" + translate="2" + label="@nullsoft.browser#6" + label_y="-2" + label_x="18" + label_color="browser.text" + tooltip="@nullsoft.browser#7" + /> + + <Wasabi:IconButton id="browser.scraper.rescan" rectrgn="1" + x="-139" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.rescan" + translate="2" + label="@nullsoft.browser#4" + label_y="-2" + label_x="18" + label_color="browser.text" + tooltip="@nullsoft.browser#5" + /> + + <Wasabi:IconButton id="scraper.switch" x="7" y="0" rectrgn="1" ghost="1" + icon_id="browser.button.scraper" + translate="2" + label="@nullsoft.browser#10" + label_y="0" + label_x="20" + label_color="browser.text.active" + /> + + <Wasabi:IconButton id="dlds.switch" x="110" y="0" rectrgn="1" + icon_id="browser.button.dlds" + translate="2" + label="@nullsoft.browser#12" + label_y="0" + label_x="20" + label_color="browser.text" + tooltip="@nullsoft.browser#13" + /> + + <List x="0" w="0" y="19" h="-19" relatw="1" relath="1" + id="scraper.results" + multiselect="1" autodeselect="1" sort="0" focusonclick="1" + numcolumns="2" columnwidths="270;-1" wa5style="1" + visible="1" + /> + +</groupdef> + +<groupdef id="dlds.mode"> + + <Wasabi:IconButton id="scraper.switch" x="7" y="0" rectrgn="1" + icon_id="browser.button.scraper" + translate="2" + label="@nullsoft.browser#10" + label_y="0" + label_x="20" + label_color="browser.text" + tootip="@nullsoft.browser#11" + /> + + <Wasabi:IconButton id="dlds.switch" x="110" y="0" rectrgn="1" ghost="1" + icon_id="browser.button.dlds" + translate="2" + label="@nullsoft.browser#12" + label_y="0" + label_x="20" + label_color="browser.text.active" + /> + + <DownloadsList x="0" w="0" y="19" h="-19" relatw="1" relath="1" + id="scraper.downloads" + NOCOLHEADER="0" + /> + + <Wasabi:IconButton id="browser.dlds.play" rectrgn="1" + x="-118" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.play" + translate="2" + label="@nullsoft.browser#8" + label_y="-2" + label_x="18" + label_color="browser.text" + action="PLAY_SELECTED" + action_target="scraper.downloads" + tooltip="@nullsoft.browser#9" + /> + +</groupdef> + +<groupdef id="browser.scraper"> + + <rect x="0" y="18" w="0" relath="1" h="-18" relatw="1" filled="1" color="color.display.bg" /> + + <guiobject fitparent="1" wantfocus="1" /> + + <Wasabi:IconButton id="browser.dlds.settings" rectrgn="1" + x="196" y="0" + icon_id="browser.button.settings" + translate="2" + label="@nullsoft.browser#14" + label_y="0" + label_x="20" + label_color="browser.text" + tooltip="@nullsoft.browser#15" + /> + + <Wasabi:IconButton id="browser.scraper.show" rectrgn="1" + x="-56" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.show" + translate="2" + label="@nullsoft.browser#2" + label_y="-2" + label_x="18" + label_color="browser.text" + tooltip="@nullsoft.browser#3" + /> + + <Wasabi:IconButton id="browser.scraper.hide" rectrgn="1" + x="-56" h="13" y="2" relatx="1" + icon_id="browser.button.scraper.hide" + translate="2" + label="@nullsoft.browser#0" + label_y="-2" + label_x="18" + label_color="browser.text" + tooltip="@nullsoft.browser#1" + /> + + <group id="scraper.mode" fitparent="1"/> + <group id="dlds.mode" fitparent="1" visible="0"/> + +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser2.png b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser2.png Binary files differnew file mode 100644 index 00000000..364141a8 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/browser2.png diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/buttonpos.m b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/buttonpos.m new file mode 100644 index 00000000..e0b3f92d --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/buttonpos.m @@ -0,0 +1,236 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: buttonpos.m +Version: 1.0 + +Type: maki +Date: 03. Jun. 2008 - 21:29 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu +----------------------------------------------------- +Depending Files: + browser.maki +----------------------------------------------------- +---------------------------------------------------*/ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#define MARGIN_RIGHT 2 +#define HIDE_RESCAN_SPACER 16 +#define BUTTON_SPACER 8 +#define BIG_BUTTON_SPACER 10 + +Function int max (int a, int b); +Function setGuiX (GuiObject g, int x); + +Global GuiObject scr_open_xui, scr_close_xui, scr_rescan_xui, scr_download_xui, scr_play_xui, dld_play_xui; +Global GuiObject switch_scr_xui, switch_scr2_xui, switch_dld_xui, switch_dld2_xui, settings_xui; +Global Int x_open_close, x_rescan, x_download, x_play, x_dld_play; +Global Int w_switch_scr, w_switch_dld, w_settings; +Global Int margin_left; + +Global boolean done; + +Function initButtonPos(); +Function hideDownloads(); +initButtonPos() +{ + scr_open_xui = scr_open.getParent(); + scr_close_xui = scr_close.getParent(); + scr_rescan_xui = scr_rescan.getParent(); + scr_download_xui = scr_download.getParent(); + scr_play_xui = scr_play.getParent(); + dld_play_xui = dld_play.getParent(); + + switch_scr_xui = switch_scr.getParent(); + switch_scr2_xui = switch_scr2.getParent(); + switch_dld_xui = switch_dld.getParent(); + switch_dld2_xui = switch_dld2.getParent(); + + settings_xui = dld_settings.getParent(); +} + +/// HACK +normal.onsetvisible(boolean a) +{ + if (done) + { + return; + } + if (!download) + { + hideDownloads(); + done = 1; + return; + } + + done = 1; + + int i1 = scr_open_xui.onAction ("getwidth", "", 0,0,0,0,scr_open_xui); + int i2 = scr_close_xui.onAction ("getwidth", "", 0,0,0,0,scr_close_xui); + x_open_close = max(i1, i2) + MARGIN_RIGHT; + setGuiX(scr_open_xui, -x_open_close); + setGuiX(scr_close_xui, -x_open_close); + + i1 = dld_play_xui.onAction ("getwidth", "", 0,0,0,0,dld_play_xui); + x_dld_play = i1 + x_open_close + HIDE_RESCAN_SPACER; + setGuiX(dld_play_xui, -x_dld_play); + + i1 = scr_rescan_xui.onAction ("getwidth", "", 0,0,0,0,scr_rescan_xui); + x_rescan = i1 + x_open_close + HIDE_RESCAN_SPACER; + setGuiX(scr_rescan_xui, -x_rescan); + + i1 = scr_download_xui.onAction ("getwidth", "", 0,0,0,0,scr_download_xui); + x_download = i1 + x_rescan + BUTTON_SPACER; + setGuiX(scr_download_xui, -x_download); + + i1 = scr_play_xui.onAction ("getwidth", "", 0,0,0,0,scr_play_xui); + x_play = i1 + x_download + BUTTON_SPACER; + setGuiX(scr_play_xui, -x_play); + + + margin_left = switch_scr_xui.getGuiX(); + w_switch_scr = switch_scr_xui.onAction ("getwidth", "", 0,0,0,0,switch_scr_xui) + margin_left + BIG_BUTTON_SPACER; + switch_scr2_xui.onAction ("getwidth", "", 0,0,0,0,switch_scr2_xui); + + w_switch_dld = switch_dld_xui.onAction ("getwidth", "", 0,0,0,0,switch_dld_xui) + w_switch_scr + BIG_BUTTON_SPACER; + switch_dld2_xui.onAction ("getwidth", "", 0,0,0,0,switch_dld2_xui); + setGuiX(switch_dld_xui, w_switch_scr); + setGuiX(switch_dld2_xui, w_switch_scr); + + w_settings = settings_xui.onAction ("getwidth", "", 0,0,0,0,settings_xui) + w_switch_dld + BIG_BUTTON_SPACER; + setGuiX(settings_xui, w_switch_dld); +} + +hideDownloads () +{ + if (download) + { + return; + } + + int i1 = scr_open_xui.onAction ("getwidth", "", 0,0,0,0,scr_open_xui); + int i2 = scr_close_xui.onAction ("getwidth", "", 0,0,0,0,scr_close_xui); + x_open_close = max(i1, i2) + MARGIN_RIGHT; + setGuiX(scr_open_xui, -x_open_close); + setGuiX(scr_close_xui, -x_open_close); + + i1 = scr_rescan_xui.onAction ("getwidth", "", 0,0,0,0,scr_rescan_xui); + x_rescan = i1 + x_open_close + HIDE_RESCAN_SPACER; + setGuiX(scr_rescan_xui, -x_rescan); + + i1 = scr_play_xui.onAction ("getwidth", "", 0,0,0,0,scr_play_xui); + x_play = i1 + x_rescan + BUTTON_SPACER; + setGuiX(scr_play_xui, -x_play); + + margin_left = switch_scr_xui.getGuiX(); + w_switch_scr = switch_scr_xui.onAction ("getwidth", "", 0,0,0,0,switch_scr_xui) + margin_left + BIG_BUTTON_SPACER; + switch_scr2_xui.onAction ("getwidth", "", 0,0,0,0,switch_scr2_xui); + + settings_xui.hide(); + switch_dld2_xui.hide(); + switch_dld_xui.hide(); + dld_play.hide(); + scr_download_xui.hide(); +} + +scr_mode.onResize (int x, int y, int w, int h) +{ + boolean isOpen = browser_scr_show_attrib.getData() == "1"; + + if (w > w_settings + x_play && isOpen) + { + scr_play_xui.show(); + if (download) scr_download_xui.show(); + scr_rescan_xui.show(); + if (download) settings_xui.show(); + scr_open_xui.setAlpha(255); + scr_close_xui.setAlpha(255); + } + else if (w > w_settings + x_download && isOpen) + { + scr_play_xui.hide(); + if (download) scr_download_xui.show(); + scr_rescan.show(); + if (download) settings_xui.show(); + scr_open_xui.setAlpha(255); + scr_close_xui.setAlpha(255); + } + else if (w > w_settings + x_rescan && isOpen) + { + scr_play_xui.hide(); + if (download) scr_download_xui.hide(); + scr_rescan_xui.show(); + if (download) settings_xui.show(); + scr_open_xui.setAlpha(255); + scr_close_xui.setAlpha(255); + } + else if (w > w_settings + x_open_close) + { + scr_play_xui.hide(); + if (download) scr_download_xui.hide(); + scr_rescan_xui.hide(); + if (download) settings_xui.show(); + scr_open_xui.setAlpha(255); + scr_close_xui.setAlpha(255); + } + else if (w > w_switch_dld + x_open_close) + { + scr_play_xui.hide(); + if (download) scr_download_xui.hide(); + scr_rescan_xui.hide(); + if (download) settings_xui.hide(); + scr_open_xui.setAlpha(255); + scr_close_xui.setAlpha(255); + } + else + { + scr_play_xui.hide(); + if (download) scr_download_xui.hide(); + scr_rescan_xui.hide(); + if (download) settings_xui.hide(); + scr_open_xui.setAlpha(0); + scr_close_xui.setAlpha(0); + } +} + +dld_mode.onResize (int x, int y, int w, int h) +{ + if (!download) + { + return; + } + if (browser_scr_show_attrib.getData() == "0") + return; + + + if (w > w_settings + x_dld_play) + { + dld_play_xui.show(); + } + else + { + dld_play_xui.hide(); + } +} + +int max (int a, int b) +{ + if (a > b) + { + return a; + } + else + { + return b; + } +} + +setGuiX (GuiObject g, int x) +{ + g.setXmlParam("x", integerToString(x)); +} diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/gen_pageguids.m b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/gen_pageguids.m new file mode 100644 index 00000000..502df012 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/gen_pageguids.m @@ -0,0 +1,106 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: gen_pageguids.m +Version: 1.0 + +Type: maki/page guid definitions +Date: 03. Jul. 2006 - 18:29 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu +----------------------------------------------------- +---------------------------------------------------*/ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#ifndef __GEN_PAGEGUIDS_M +#define __GEN_PAGEGUIDS_M + +#include <lib/config.mi> + +Function initPages(); + +/*--NON CHANGEABLE GUIDS:--------------------------*/ + +// this is the page that maps its items to the options menu, you can add attribs or more pages (submenus) +#define CUSTOM_OPTIONSMENU_ITEMS "{1828D28F-78DD-4647-8532-EBA504B8FC04}" +Global ConfigItem optionsmenu_page; + +// this is the page that maps its items to the windows menu (aka View), you can add attribs or more pages (submenus) +#define CUSTOM_WINDOWSMENU_ITEMS "{6559CA61-7EB2-4415-A8A9-A2AEEF762B7F}" +Global ConfigItem custom_windows_page; + +// non exposed attribs page +#define CUSTOM_PAGE_NONEXPOSED "{E9C2D926-53CA-400f-9A4D-85E31755A4CF}" +Global ConfigItem custom_page_nonexposed; + + +/*--DECLARE PAGES HERE:----------------------------*/ + +initPages() +{ + +#ifndef __PAGES +#define __PAGES + + custom_page_nonexposed = Config.newItem("Hidden", CUSTOM_PAGE_NONEXPOSED); + + // load up the cfgpage in which we'll insert our custom page + optionsmenu_page = Config.getItem(CUSTOM_OPTIONSMENU_ITEMS); + + custom_windows_page = Config.getItem(CUSTOM_WINDOWSMENU_ITEMS); + +#endif + +} + +/*--GLOBAL DEFINITIONS:----------------------------*/ + +#define NOOFF if (getData()=="0") { setData("1"); return; } +Global Int attribs_mychange, attribs_mychange2; + +Global ConfigAttribute sep; +Global Int sep_count = 0; + +Function addMenuSeparator(ConfigItem cfgmenupage); + +addMenuSeparator(ConfigItem cfgmenupage) +{ +#ifdef MAIN_ATTRIBS_LOADER + + sep_count = sep_count + 1; + sep = cfgmenupage.newAttribute(getSkinName() + "seperator" + integerToString(sep_count), ""); + sep.setData("-"); + +#endif +} + +Function ConfigItem addConfigSubMenu(configitem parent, string name, string guid); + +ConfigItem addConfigSubMenu(configitem parent, string name, string guid) +{ + ConfigItem __ret = Config.newItem(name, guid); + ConfigAttribute __dret = parent.newAttribute(name, ""); + __dret.setData(guid); + return __ret; +} + + +Function toggleAttrib(ConfigAttribute attrib); + +toggleAttrib(ConfigAttribute attrib) +{ + if (attrib.getData() == "0") + { + attrib.setData("1"); + } + else + { + attrib.setData("0"); + } +} + +#endif
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/icontextbutton.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/icontextbutton.xml new file mode 100644 index 00000000..a4f6cd4e --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/icontextbutton.xml @@ -0,0 +1,12 @@ +<groupdef id="wasabi.itb.xui" xuitag="Wasabi:IconButton" embed_xui="itb.button" autowidthsource="itb.text" autoheightsource="itb.layer"> + + <layer id="itb.layer" x="0" y="0"/> + <text id="itb.text" x="20" y="0" move="0" antialias="0" color="255,255,255" relath="1" valign="top"/> + + <button id="itb.button" rectrgn="1" + x="0" y="0" w="0" h="0" relatw="1" relath="1" + /> + + <script file="xml/xui/browser/IconTextButton.maki"/> + +</groupdef>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/init_browser.m b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/init_browser.m new file mode 100644 index 00000000..3171f64c --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/init_browser.m @@ -0,0 +1,133 @@ +/*--------------------------------------------------- +----------------------------------------------------- +Filename: init_browser.m +Version: 1.1 + +Type: maki/attrib definitions +Date: 27. Jul. 2007 - 13:36 +Author: Martin Poehlmann aka Deimos +E-Mail: martin@skinconsortium.com +Internet: www.skinconsortium.com + www.martin.deimos.de.vu +----------------------------------------------------- +Depending Files: + scripts/browser.maki +----------------------------------------------------- +---------------------------------------------------*/ + +#ifndef included +#error This script can only be compiled as a #include +#endif + +#include "gen_pageguids.m" + +#define CUSTOM_PAGE_BROWSER "{0E17DBEA-9398-49e6-AE6F-3AB17D001DF3}" +#define CUSTOM_PAGE_BROWSER_WASEARCH "{180E87DF-C482-41fe-A570-8575C673E1BA}" +#define CUSTOM_PAGE_BROWSER_CONCERTSEARCH "{B8171DB3-ECF6-40c6-9332-DDEA57A8F13E}" + +Function initAttribs_browser(); + +Class ConfigAttribute SearchAttribute; +Function check (string unknown, SearchAttribute compare); + +#ifdef BROWSER_SCRIPT +Global list SearchAttributeList; +#endif +#ifndef BROWSER_SCRIPT +#define SearchAttributeList // +#endif + +Global ConfigAttribute browser_scr_show_attrib, browser_search_attrib; +Global SearchAttribute browser_search_winamp_mskins_attrib, browser_search_winamp_cskins_attrib, browser_search_winamp_plugins_attrib, + browser_search_winamp_web_attrib, browser_search_wiki_attrib, browser_c_pollstar_attrib, browser_c_bit_attrib, + browser_c_jambase_attrib; + +initAttribs_browser() +{ + initPages(); + + ConfigItem custom_page_browser = addConfigSubMenu(optionsmenu_page, "Browser", CUSTOM_PAGE_BROWSER); + + browser_search_attrib = custom_page_nonexposed.newAttribute("Onesie browser Quicksearch", "Web Search"); + + SearchAttributeList = new List; + SearchAttributeList.addItem (custom_page_browser); + + browser_search_winamp_web_attrib = custom_page_browser.newAttribute("Web Search", "1"); + SearchAttributeList.addItem (browser_search_winamp_web_attrib); + + browser_search_wiki_attrib = custom_page_browser.newAttribute("Wikipedia Search", "0"); + SearchAttributeList.addItem (browser_search_wiki_attrib); + + ConfigItem custom_page_browser_concertsearch = addConfigSubMenu(custom_page_browser, "Concert Search", CUSTOM_PAGE_BROWSER_CONCERTSEARCH); + + browser_c_jambase_attrib = custom_page_browser_concertsearch.newAttribute("JamBase", "0"); + SearchAttributeList.addItem (browser_c_jambase_attrib); + + browser_c_pollstar_attrib = custom_page_browser_concertsearch.newAttribute("Pollstar", "0"); + SearchAttributeList.addItem (browser_c_pollstar_attrib); + + browser_c_bit_attrib = custom_page_browser_concertsearch.newAttribute("Bandsintown", "0"); + SearchAttributeList.addItem (browser_c_bit_attrib); + + ConfigItem custom_page_browser_winampsearch = addConfigSubMenu(custom_page_browser, "Winamp Search", CUSTOM_PAGE_BROWSER_WASEARCH); + browser_search_winamp_mskins_attrib = custom_page_browser_winampsearch.newAttribute("Modern Skins", "0"); + SearchAttributeList.addItem (browser_search_winamp_mskins_attrib); + browser_search_winamp_cskins_attrib = custom_page_browser_winampsearch.newAttribute("Classic Skins", "0"); + SearchAttributeList.addItem (browser_search_winamp_cskins_attrib); + browser_search_winamp_plugins_attrib = custom_page_browser_winampsearch.newAttribute("Plug-ins", "0"); + SearchAttributeList.addItem (browser_search_winamp_plugins_attrib); + + addMenuSeparator(custom_page_browser); + + browser_scr_show_attrib = custom_page_browser.newAttribute("Show Media Monitor", "1"); + +} + +#ifdef MAIN_ATTRIBS_MGR + +browser_search_attrib.onDataChanged () +{ + if (attribs_mychange) return; + string dta = getData(); + if (dta == "Modern Skins") browser_search_winamp_mskins_attrib.setData("1"); + else if (dta == "Classic Skins") browser_search_winamp_plugins_attrib.setData("1"); + else if (dta == "Plug-ins") browser_search_winamp_plugins_attrib.setData("1"); + else if (dta == "Web Search with Google") browser_search_winamp_web_attrib.setData("1"); + else if (dta == "Pollstar") browser_c_pollstar_attrib.setData("1"); + else if (dta == "Bands in Town") browser_c_bit_attrib.setData("1"); + else if (dta == "JamBase") browser_c_jambase_attrib.setData("1"); + else if (dta == "Wikipedia Search") browser_search_wiki_attrib.setData("1"); +} + +SearchAttribute.onDataChanged() +{ + if (attribs_mychange) return; + NOOFF + attribs_mychange = 1; + String s = SearchAttribute.getAttributeName(); + check (s, browser_search_winamp_mskins_attrib); + check (s, browser_search_winamp_cskins_attrib); + check (s, browser_search_winamp_plugins_attrib); + check (s, browser_search_winamp_web_attrib); + check (s, browser_c_jambase_attrib); + check (s, browser_c_bit_attrib); + check (s, browser_c_pollstar_attrib); + check (s, browser_search_wiki_attrib); + + attribs_mychange = 0; +} + +check (String unknown, SearchAttribute compare) +{ + if (unknown == compare.getAttributeName()) + { + browser_search_attrib.setData(compare.getAttributeName()); + } + else + { + compare.setData("0"); + } +} + +#endif
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/stringtable.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/stringtable.xml new file mode 100644 index 00000000..fd17917b --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/browser/stringtable.xml @@ -0,0 +1,31 @@ +<!-- Browser String Table --> + +<StringTable id="nullsoft.browser"> + + <!-- Monitor Buttons --> + <StringEntry id="0" string="Hide"/> + <StringEntry id="1" string="Hide Media Monitor"/> + <StringEntry id="2" string="Show"/> + <StringEntry id="3" string="Show Media Monitor"/> + <StringEntry id="4" string="Rescan"/> + <StringEntry id="5" string="Rescan Document"/> + <StringEntry id="6" string="Download"/> + <StringEntry id="7" string="Download selected Items"/> + <StringEntry id="8" string="Play"/> + <StringEntry id="9" string="Play selected Items"/> + <StringEntry id="10" string="Media Monitor"/> + <StringEntry id="11" string="Switch to Media Monitor"/> + <StringEntry id="12" string="Downloads"/> + <StringEntry id="13" string="Switch to Active Downloads"/> + <StringEntry id="14" string="Settings"/> + <StringEntry id="15" string="Download Settings"/> + + <StringEntry id="16" string="Media From"/> + <StringEntry id="17" string="Location"/> + <StringEntry id="18" string="Transferred Data"/> + <StringEntry id="19" string="Status"/> + <StringEntry id="20" string="Title"/> + + <StringEntry id="21" string="Autoopen Media Monitor on media results"/> + +</StringTable>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/button/button.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/button/button.xml new file mode 100644 index 00000000..341f4eec --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/button/button.xml @@ -0,0 +1,36 @@ +<!-- ======================================================================================================= + + <Wasabi:Button /> implementation + + Available parameters : + + - Everything from Group class + - Everything from Button class + + Required objects : + + - Button id="wasabi.button" + +======================================================================================================== --> + +<groupdef id="wasabi.button.group" xuitag="Wasabi:Button" embed_xui="wasabi.button" h="21" autowidthsource="wasabi.button"> + <button + id="wasabi.button" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + borders="1" + wantfocus="1" + /> +</groupdef> + +<groupdef id="wasabi.togglebutton.group" xuitag="Wasabi:ToggleButton" embed_xui="wasabi.button" h="21" autowidthsource="wasabi.button"> + <Togglebutton + id="wasabi.button" + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + borders="1" + wantfocus="1" + /> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/editbox/editbox.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/editbox/editbox.xml new file mode 100644 index 00000000..99cccddf --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/editbox/editbox.xml @@ -0,0 +1,43 @@ +<!-- ======================================================================================================= + + <Wasabi:EditBox /> implementation + +======================================================================================================== --> + +<groupdef id="wasabi.edit" inherit_group="wasabi.objectframe.group" xuitag="Wasabi:EditBox" embed_xui="wasabi.edit.box" h="20"> + <edit + id="wasabi.edit.box" + x="1" y="1" + w="-2" h="-2" + relatw="1" relath="1" + autoselect="1" + /> +</groupdef> + +<groupdef id="wasabi.multiline.edit" inherit_group="wasabi.objectframe.group" xuitag="Wasabi:Editor" embed_xui="wasabi.edit.box" h="60"> + <edit + id="wasabi.edit.box" + x="1" y="1" + w="-2" h="-2" + relatw="1" relath="1" + multiline="1" + vscroll="1" autohscroll="1" + /> +</groupdef> + + + +<!-- This group is unused for now --> + +<!-- + +<groupdef id="wasabi.edit.disabled" inherit_group="wasabi.objectframe.group" hideobject="wasabi.objectframe.center"> + <text + id="wasabi.edit.box" + x="1" y="1" + w="-2" h="-2" + relatw="1" relath="1" + /> +</groupdef> + +--> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/slider/slider.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/slider/slider.xml new file mode 100644 index 00000000..b8a9f992 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/slider/slider.xml @@ -0,0 +1,80 @@ +<!-- ======================================================================================================= + + <Wasabi:HSlider/> implementation + +======================================================================================================== --> + +<groupdef id="wasabi.slider.horizontal" embed_xui="slider.button" xuitag="Wasabi:HSlider" h="15" > + + <layer + id="slider.background" + x="0" y="1" + image="wasabi.slider.horizontal.left" + /> + <layer + id="slider.background" + x="8" y="1" + w="-16" + relatw="1" + image="wasabi.slider.horizontal.middle" + /> + <layer + id="slider.background" + x="-8" y="1" + relatx="1" + image="wasabi.slider.horizontal.right" + /> + + <slider + id="slider.button" + x="0" y="0" + w="0" h="13" + relatw="1" + thumb="wasabi.slider.horizontal.button" + downThumb="wasabi.slider.horizontal.button.pressed" + wantfocus="1" + /> + +</groupdef> + +<!-- ======================================================================================================= + + <Wasabi:VSlider/> implementation + +======================================================================================================== --> + + +<groupdef id="wasabi.slider.vertical" embed_xui="slider.button" xuitag="Wasabi:VSlider" w="16"> <!-- default_h="100" --> + + <layer + id="slider.background" + x="4" y="0" + image="wasabi.slider.vertical.top" + /> + <layer + id="slider.background" + x="4" y="8" + h="-17" + relath="1" + image="wasabi.slider.vertical.middle" + /> + <layer + id="slider.background" + x="4" y="-9" + relaty="1" + image="wasabi.slider.vertical.bottom" + /> + + <slider + id="slider.button" + x="0" y="0" + w="16" h="0" + relath="1" + thumb="wasabi.slider.vertical.button" + downThumb="wasabi.slider.vertical.button.pressed" + orientation="v" + wantfocus="1" + /> + +</groupdef> + diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe-elements.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe-elements.xml new file mode 100644 index 00000000..54091fb5 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe-elements.xml @@ -0,0 +1,33 @@ +<elements> + + <bitmap id="wasabi.frame.basetexture" file="window/background.png" gammagroup="Backgrounds" /> + <elementalias id="component.basetexture" target="wasabi.frame.basetexture" /> + + <bitmap id="wasabi.frame.top.left" file="window/window-elements.png" x="0" y="0" h="15" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.top" file="window/window-elements.png" x="11" y="0" h="15" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.top.right" file="window/window-elements.png" x="21" y="0" h="15" w="15" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.frame.left" file="window/window-elements.png" x="0" y="15" h="15" w="5" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.right" file="window/window-elements.png" x="31" y="15" h="15" w="5" gammagroup="Backgrounds"/> +<!-- + The bottom of the window is broken up into three levels, top, middle, and bottom. The reason for this + is because the same graphics are used to create a window with a status bar and resizer symbol and one + without. +--> + <bitmap id="wasabi.frame.bottom.left.top" file="window/window-elements.png" x="0" y="32" h="2" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.left" file="window/window-elements.png" x="0" y="34" h="1" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.left.bottom" file="window/window-elements.png" x="0" y="35" h="2" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.top" file="window/window-elements.png" x="11" y="32" h="2" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom" file="window/window-elements.png" x="11" y="34" h="1" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.bottom" file="window/window-elements.png" x="11" y="35" h="2" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.right.top" file="window/window-elements.png" x="21" y="32" h="2" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.right" file="window/window-elements.png" x="21" y="34" h="1" w="15" gammagroup="Backgrounds"/> + <bitmap id="wasabi.frame.bottom.right.bottom" file="window/window-elements.png" x="21" y="35" h="2" w="15" gammagroup="Backgrounds"/> + + <bitmap id="wasabi.frame.status.left" file="window/window-elements.png" x="94" y="0" h="12" w="12"/> + <bitmap id="wasabi.frame.status" file="window/window-elements.png" x="107" y="0" h="12" w="12"/> + <bitmap id="wasabi.frame.status.right" file="window/window-elements.png" x="120" y="0" h="12" w="12"/> + + <bitmap id="wasabi.frame.resizer" file="window/window-elements.png" x="93" y="84" h="12" w="12"/> + +</elements> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe.xml new file mode 100644 index 00000000..3a5429d4 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/standardframe/standardframe.xml @@ -0,0 +1,335 @@ +<!-- ======================================================================================================= + + This file implements the following objects : + + - Wasabi:StandardFrame:Status + - Wasabi:StandardFrame:NoStatus + - Wasabi:StandardFrame:Modal + - Wasabi:StandardFrame:Static + + Available parameters : + + padtitleleft : resizes the title from the left by the specified amount of pixels + padtitleright : resizes the title from the right by the specified amount of pixels + content : tells the object which group to instantiate in its client area + +======================================================================================================== --> + +<include file="standardframe-elements.xml" /> + + + +<!-- ======================================================================================================= + + This group serves as a template for all the Wasabi:StandardFrame objects + +======================================================================================================== --> + +<groupdef id="wasabi.frame.layout"> + + <layer + id="window.top.left" + x="0" y="0" + image="wasabi.frame.top.left" + resize="topleft" + /> + <layer + id="window.top" + x="15" y="0" + w="-30" + relatw="1" + image="wasabi.frame.top" + resize="top" + /> + <layer + id="window.top.right" + x="-15" y="0" + relatx="1" + image="wasabi.frame.top.right" + resize="topright" + /> + + <layer + id="window.left" + x="0" y="15" + h="0" + relath="1" + image="wasabi.frame.left" + resize="left" + /> + <layer + id="window.right" + x="-5" y="15" + h="0" + relatx="1" relath="1" + image="wasabi.frame.right" + resize="right" + /> + + <layer id="window.resize.disabler" x="5" y="5" w="-10" h="-10" relatw="1" relath="1"/> + + <LayoutStatus id="sysmenu.status" bg="0" x="5" y="3" w="14" h="9" includeonly="{system}" /> + <hideobject target="sysmenu.status"/> + <button + id="controlmenu.inactive" + action="controlmenu" + x="5" y="3" + image="wasabi.button.sysmenu.pressed" + downImage="wasabi.button.sysmenu" + tooltip="Control Menu" + activeAlpha="0" + /> + <button + id="controlmenu" + action="controlmenu" + x="5" y="3" + image="wasabi.button.sysmenu" + downImage="wasabi.button.sysmenu.pressed" + tooltip="Control Menu" + inactiveAlpha="0" + /> + <button + id="Close.inactive" + action="CLOSE" + x="-18" y="3" + relatx="1" + image="wasabi.button.close.pressed" + downImage="wasabi.button.close" + tooltip="Close Window" + activeAlpha="0" + /> + <button + id="Close" + action="CLOSE" + x="-18" y="3" + relatx="1" + image="wasabi.button.close" + downImage="wasabi.button.close.pressed" + tooltip="Close Window" + inactiveAlpha="0" + /> + <Wasabi:TitleBar + id="wasabi.titlebar" + x="22" y="2" + w="-42" h="11" + relatw="1" + /> + + </groupdef> + + +<!-- ======================================================================================================= + + <Wasabi:StandardFrame:Status /> implementation + +======================================================================================================== --> + + <groupdef id="wasabi.standardframe.statusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:Status"> + + <group id="wasabi.frame.layout" x="0" y="0" w="0" relatw="1" h="-19" relath="1"/> + + <layer + id="window.bottom.left.top" + x="0" y="-19" + relaty="1" + image="wasabi.frame.bottom.left.top" + resize="bottomleft" + /> + <layer + id="window.bottom.left" + x="0" y="-17" + h="15" + relaty="1" + image="wasabi.frame.bottom.left" + resize="bottomleft" + /> + + <layer + id="window.bottom.left.bottom" + x="0" y="-2" + relaty="1" + image="wasabi.frame.bottom.left.bottom" + resize="bottomleft" + /> + + <layer + id="window.bottom.top" + x="15" y="-19" + w="-30" + relatw="1" relaty="1" + image="wasabi.frame.bottom.top" + /> + <layer + id="window.bottom" + x="15" y="-17" + w="-30" h="15" + relatw="1" relaty="1" + image="wasabi.frame.bottom" + resize="bottom" + /> + <layer + id="window.bottom.bottom" + x="15" y="-2" + w="-30" + relatw="1" relaty="1" + image="wasabi.frame.bottom.bottom" + resize="bottom" + /> + + <layer + id="window.bottom.right.top" + x="-15" y="-19" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right.top" + resize="bottomright" + /> + <layer + id="window.bottom.right" + x="-15" y="-17" + h="15" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right" + resize="bottomright" + /> + <layer + id="window.bottom.right.bottom" + x="-15" y="-2" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right.bottom" + resize="bottomright" + /> + + <layer + id="window.resizer" + x="-16" y="-16" + relatx="1" relaty="1" + image="wasabi.frame.resizer" + resize="bottomright" + scale="bottomright" + /> + + <LayoutStatus id="standardframe.layoutstatus" x="4" y="-17" relaty="1" w="-23" relatw="1" h="15" exclude="{system}" /> + <script id="standardframe.script" file="scripts/standardframe.maki" param="5,15,-10,-34,0,0,1,1" /> + +</groupdef> + + +<!-- ======================================================================================================= + + <Wasabi:StandardFrame:NoStatus /> implementation + +======================================================================================================== --> + +<groupdef id="wasabi.standardframe.nostatusbar" background="wasabi.frame.basetexture" sysregion="1" xuitag="Wasabi:StandardFrame:NoStatus"> + + <group id="wasabi.frame.layout" x="0" y="0" w="0" h="-5" relatw="1" relath="1"/> + <layer + id="window.bottom.left.top" + x="0" y="-5" + relaty="1" + image="wasabi.frame.bottom.left.top" + resize="bottomleft" + /> + <layer + id="window.bottom.left" + x="0" y="-3" + h="1" + relaty="1" + image="wasabi.frame.bottom.left" + resize="bottomleft" + /> + <layer + id="window.bottom.left.bottom" + x="0" y="-2" + relaty="1" + image="wasabi.frame.bottom.left.bottom" + resize="bottomleft" + /> + + <layer + id="window.bottom.top" + x="15" y="-5" + w="-30" + relatw="1" relaty="1" + image="wasabi.frame.bottom.top" + /> + <layer + id="window.bottom" + x="15" y="-3" + w="-30" h="1" + relatw="1" relaty="1" + image="wasabi.frame.bottom" + resize="bottom" + /> + <layer + id="window.bottom.bottom" + x="15" y="-2" + w="-30" + relatw="1" relaty="1" + image="wasabi.frame.bottom.bottom" + resize="bottom" + /> + + <layer + id="window.bottom.right.top" + x="-15" y="-5" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right.top" + resize="bottomright" + /> + <layer + id="window.bottom.right" + x="-15" y="-3" + h="1" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right" + resize="bottomright" + /> + <layer + id="window.bottom.right.bottom" + x="-15" y="-2" + relatx="1" relaty="1" + image="wasabi.frame.bottom.right.bottom" + resize="bottomright" + /> + + <script id="standardframe.script" file="scripts/standardframe.maki" param="5,15,-10,-20,0,0,1,1" /> + +</groupdef> + + +<!-- ======================================================================================================= + + <Wasabi:StandardFrame:Modal /> implementation + +======================================================================================================== --> + +<groupdef id="wasabi.standardframe.modal" inherit_group="wasabi.standardframe.nostatusbar" sysregion="1" xuitag="Wasabi:StandardFrame:Modal"> + <group + id="wasabi.panel" + x="5" y="15" + w="-10" h="-20" + relatw="1" relath="1" + /> + <hideobject target="controlmenu;controlmenu.inactive"/> + <sendparams target="wasabi.titlebar" x="4" w="-24" relatw="1" /> + <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom" resize="0" /> +</groupdef> + + +<!-- ======================================================================================================= + + <Wasabi:StandardFrame:Static /> implementation + +======================================================================================================== --> + +<groupdef id="wasabi.standardframe.static" inherit_group="wasabi.standardframe.nostatusbar" sysregion="1" xuitag="Wasabi:StandardFrame:Static"> + <group + id="wasabi.panel" + x="5" y="15" + w="-10" h="-20" + relatw="1" relath="1" + /> + <sendparams target="window.top.left;window.top;window.top.right;window.left;window.right;window.bottom.left.top;window.bottom.left;window.bottom.left.bottom;window.bottom.top;window.bottom;window.bottom.bottom;window.bottom.right.top;window.bottom.right;window.bottom.right.bottom" resize="0" /> +<!-- <hideobject target="controlmenu;controlmenu.inactive"/> --> +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/text/text.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/text/text.xml new file mode 100644 index 00000000..21a4e759 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/text/text.xml @@ -0,0 +1,26 @@ +<!-- ======================================================================================================= + + <Wasabi:Text /> implementation + + Available parameters : + + - Everything from Group class + - Everything from Text class + + Required objects : + + - Text id="wasabi.text" + +======================================================================================================== --> + +<groupdef id="wasabi.text.group" xuitag="Wasabi:Text" embed_xui="wasabi.text" h="12"> + <text + x="0" y="0" + w="0" h="0" + relatw="1" relath="1" + id="wasabi.text" font="tahoma" + color="white" fontsize="14" + display="ERROR" wrap="1" valign="top" + /> + +</groupdef> diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/titlebar/titlebar.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/titlebar/titlebar.xml new file mode 100644 index 00000000..0fce7119 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/titlebar/titlebar.xml @@ -0,0 +1,108 @@ +<!-- ======================================================================================================= + + <Wasabi:TitleBar /> implmentation + + Available parameters : + + - All params for Group + - All params for Text + + Required objects : (these objects are manipulated by the script, so overriding with script content inheritance + will require you to have these objects. Otherwise, you should be fine) + + - Group id="wasabi.titlebar.streak.left" + - Group id="wasabi.titlebar.streak.right" + - Layer id="mousetrap" (this object shoud cover the content of the group) + +======================================================================================================== --> + +<groupdef id="wasabi.titlebar" xuitag="Wasabi:TitleBar" embed_xui="window.titlebar.title"> + <group + id="wasabi.titlebar.streak" + instanceid="wasabi.titlebar.streak.left" + x="0" y="0" + w="95" h="11" + /> + <sendparams group="wasabi.titlebar.streak.left" target="titlebar.center.active" w="-16"/> + <sendparams group="wasabi.titlebar.streak.left" target="titlebar.center.inactive" w="-16"/> + <sendparams group="wasabi.titlebar.streak.left" target="titlebar.right.active" x="-9"/> + <sendparams group="wasabi.titlebar.streak.left" target="titlebar.right.inactive" x="-9"/> + + <text + id="window.titlebar.title" + x="100" y="0" + w="50" h="11" + default=":componentname" + font="studio.component.title" + inactiveAlpha="128" + /> + + <group + id="wasabi.titlebar.streak" + instanceid="wasabi.titlebar.streak.right" + x="155" y="0" + w="-155" relatw="1" h="11" + /> + <sendparams group="wasabi.titlebar.streak.right" target="titlebar.center.active" x="9" w="-16"/> + <sendparams group="wasabi.titlebar.streak.right" target="titlebar.center.inactive" x="9" w="-16"/> + <sendparams group="wasabi.titlebar.streak.right" target="titlebar.left.active" x="2"/> + <sendparams group="wasabi.titlebar.streak.right" target="titlebar.left.inactive" x="2"/> + + <layer id="mousetrap" x="0" y="0" w="0" h="0" relatw="1" relath="1" move="1"/> + <script id="titlebar" file="scripts/titlebar.maki" param="wasabi.titlebar.streak.left;window.titlebar.title;wasabi.titlebar.streak.right" /> +</groupdef> + + + +<!-- ======================================================================================================= + + This implements a title streak bar. Dependencies are limited to the wasabi.titlebar group, in other words, if you remove + the sendparams in the above group, none of these objects are required. + +======================================================================================================== --> + +<groupdef id="wasabi.titlebar.streak"> + + <layer + id="titlebar.left.active" + x="0" y="1" + image="wasabi.titlebar.left.active" + inactiveAlpha="0" + /> + <layer + id="titlebar.center.active" + x="7" y="1" w="-14" + relatw="1" + image="wasabi.titlebar.center.active" + inactiveAlpha="0" + /> + <layer + id="titlebar.right.active" + x="-7" y="1" + relatx="1" + image="wasabi.titlebar.right.active" + inactiveAlpha="0" + /> + + <layer + id="titlebar.left.inactive" + x="0" y="1" + image="wasabi.titlebar.left.inactive" + activeAlpha="0" + /> + <layer + id="titlebar.center.inactive" + x="7" y="1" w="-14" + relatw="1" + image="wasabi.titlebar.center.inactive" + activeAlpha="0" + /> + <layer + id="titlebar.right.inactive" + x="-7" relatx="1" y="1" + image="wasabi.titlebar.right.inactive" + activeAlpha="0" + /> + +</groupdef> + diff --git a/Src/resources/data/freeform/xml/wasabi/xml/xui/xuiobjects.xml b/Src/resources/data/freeform/xml/wasabi/xml/xui/xuiobjects.xml new file mode 100644 index 00000000..b5257ee7 --- /dev/null +++ b/Src/resources/data/freeform/xml/wasabi/xml/xui/xuiobjects.xml @@ -0,0 +1,7 @@ +<include file="editbox/editbox.xml" /> +<include file="slider/slider.xml" /> +<include file="titlebar/titlebar.xml" /> +<include file="standardframe/standardframe.xml" /> +<include file="text/text.xml" /> +<include file="button/button.xml" /> +<include file="browser/browser.xml" />
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/winamp/cover/cover.xml b/Src/resources/data/freeform/xml/winamp/cover/cover.xml new file mode 100644 index 00000000..7819745a --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/cover/cover.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> +<elements> + <bitmap id="winamp.cover.notfound" file="notfound.png"/> <!-- 120x120 px --> + <bitmap id="winamp.cover.notfound.60" file="notfound60.png"/> <!-- 60x60 px --> + <bitmap id="winamp.cover.notfound.90" file="notfound90.png"/> <!-- 90x90 px --> +</elements> +</WinampAbstractionLayer> diff --git a/Src/resources/data/freeform/xml/winamp/cover/notfound.png b/Src/resources/data/freeform/xml/winamp/cover/notfound.png Binary files differnew file mode 100644 index 00000000..e3c47387 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/cover/notfound.png diff --git a/Src/resources/data/freeform/xml/winamp/cover/notfound60.png b/Src/resources/data/freeform/xml/winamp/cover/notfound60.png Binary files differnew file mode 100644 index 00000000..857b56a4 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/cover/notfound60.png diff --git a/Src/resources/data/freeform/xml/winamp/cover/notfound90.png b/Src/resources/data/freeform/xml/winamp/cover/notfound90.png Binary files differnew file mode 100644 index 00000000..70f08487 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/cover/notfound90.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/library-hilited.png b/Src/resources/data/freeform/xml/winamp/thinger/library-hilited.png Binary files differnew file mode 100644 index 00000000..7abf190f --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/library-hilited.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/library-selected.png b/Src/resources/data/freeform/xml/winamp/thinger/library-selected.png Binary files differnew file mode 100644 index 00000000..904639f1 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/library-selected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/library-unselected.png b/Src/resources/data/freeform/xml/winamp/thinger/library-unselected.png Binary files differnew file mode 100644 index 00000000..a2a3d7a9 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/library-unselected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/pledit-hover.png b/Src/resources/data/freeform/xml/winamp/thinger/pledit-hover.png Binary files differnew file mode 100644 index 00000000..c4c7c5e9 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/pledit-hover.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/pledit-selected.png b/Src/resources/data/freeform/xml/winamp/thinger/pledit-selected.png Binary files differnew file mode 100644 index 00000000..3438a11e --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/pledit-selected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/pledit-unselected.png b/Src/resources/data/freeform/xml/winamp/thinger/pledit-unselected.png Binary files differnew file mode 100644 index 00000000..b6293781 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/pledit-unselected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/thinger.xml b/Src/resources/data/freeform/xml/winamp/thinger/thinger.xml new file mode 100644 index 00000000..e37f3d82 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/thinger.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<WinampAbstractionLayer version="0.7"> +<elements> + <bitmap id="winamp.thinger.library.hilited" file="library-hilited.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.library.selected" file="library-selected.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.library" file="library-unselected.png" gammagroup="Thinger icons"/> + + <bitmap id="winamp.thinger.video.hilited" file="video-hilited.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.video.selected" file="video-selected.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.video" file="video-unselected.png" gammagroup="Thinger icons"/> + + <bitmap id="winamp.thinger.pledit.hilited" file="pledit-hover.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.pledit.selected" file="pledit-selected.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.pledit" file="pledit-unselected.png" gammagroup="Thinger icons"/> + + <bitmap id="winamp.thinger.vis.hilited" file="vis-hilited.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.vis.selected" file="vis-selected.png" gammagroup="Thinger icons"/> + <bitmap id="winamp.thinger.vis" file="vis-unselected.png" gammagroup="Thinger icons"/> + +</elements> +</WinampAbstractionLayer>
\ No newline at end of file diff --git a/Src/resources/data/freeform/xml/winamp/thinger/video-hilited.png b/Src/resources/data/freeform/xml/winamp/thinger/video-hilited.png Binary files differnew file mode 100644 index 00000000..4176634a --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/video-hilited.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/video-selected.png b/Src/resources/data/freeform/xml/winamp/thinger/video-selected.png Binary files differnew file mode 100644 index 00000000..15a6027d --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/video-selected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/video-unselected.png b/Src/resources/data/freeform/xml/winamp/thinger/video-unselected.png Binary files differnew file mode 100644 index 00000000..fa58bedf --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/video-unselected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/vis-hilited.png b/Src/resources/data/freeform/xml/winamp/thinger/vis-hilited.png Binary files differnew file mode 100644 index 00000000..f9ac424c --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/vis-hilited.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/vis-selected.png b/Src/resources/data/freeform/xml/winamp/thinger/vis-selected.png Binary files differnew file mode 100644 index 00000000..5d478429 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/vis-selected.png diff --git a/Src/resources/data/freeform/xml/winamp/thinger/vis-unselected.png b/Src/resources/data/freeform/xml/winamp/thinger/vis-unselected.png Binary files differnew file mode 100644 index 00000000..b0074200 --- /dev/null +++ b/Src/resources/data/freeform/xml/winamp/thinger/vis-unselected.png |