XMLSpec
From XfireWiki
Contents |
[edit]
"skin.xml" Example
- Zip file must contain "skin.xml" file
- The tags are all case insensitive
<XfireSkin> <SkinDescription> <Author Type="original">Xfire, Inc.</Author> <Author Type="contributor">Mike Judge </Author> <Website>http://www.xfire.com/</Website> <Name>xfire</Name> (REQUIRED) <LongName>Xfire Skin v2.0</LongName> (REQUIRED) <Version>1.0</Version> (REQUIRED) <CompatibleVersion>1.52</CompatibleVersion> (REQUIRED) <License>http://creativecommons.org/licenses/by-nc-sa/1.0/</License> </SkinDescription> <GlobalPrefs> <TooltipColor>TooltipCG</ToolTipColor> <TooltipTextColor>TooltipTextCG</ToolTipTextColor> </GlobalPrefs> <!-- Language String Translations --> <Include File="xml/strings_fr.xml" /> <Include File="xml/strings_de.xml" /> <!-- Skin Themes --> <Themes> <Include File="Skins/Xfire/theme_red.xml" /> <Include File="Skins/Xfire/theme_silver.xml" /> </Themes> <!-- Component Definitions --> <Include File="Skins/Xfire/components.xml" /> <MainSkin> <Include File="Skins/Xfire/main_window_layout.xml" /> </MainSkin> <ChatSkin> <Include File="Skins/Xfire/xfirechatwindow.xml" /> </ChatSkin> <GroupChatSkin> <Include File="Skins/Xfire/xfiregroupchatwindow.xml" /> </GroupChatSkin> <InGameMainSkin> <Include File="Skins/Xfire/xfireingamewindow.xml" /> </InGameMainSkin> <InGameAlertSkin> <Include File="Skins/Xfire/xfireingamealertwindow.xml" /> </InGameAlertSkin> <Popups> <Include File="Skins/Xfire/infoskin.xml" /> </Popups> </XfireSkin>
[edit]
Strings
<Strings lang="en"> <String name="string1">Xfire is teh sux0r</String> <String name="string2">Xfire is 1337</String> <String name="string3" resourceid="123" /> ... </Strings> <Strings lang="de"> <String name="string1">German translation</String> ... </Strings>
[edit]
Themes
<Theme name="default"> <Colors> <Color name="HeaderText" red="255" green="255" blue="255" alpha="0" /> <Color name="AddAreaCG">RGBA(8,16,32)</Color> ... </Colors> <ColorShifts> <ColorShift name="ScrollbarColor" red="-106" green="-80" blue="-32" alpha="0" /> <ColorShift name="ScrollbarColor">RGBA(-106,-80,-32,0)</ColorShift> ... </ColorShifts> <Sounds> <Sound name="OfflineSound">sounds/wmpaud2.wav</Sound> <Sound name="OfflineSound1" resourceid="213" /> ... </Sounds> <Bitmaps> <Bitmap name="MAINLEFT">images/main-left.gif</Bitmap> <Bitmap name="MAINLEFT" resourceid="123" /> ... </Bitmaps> </Theme>
[edit]
Components
- Components are buttons, text, graphics, buddy list view, infoview, tab control, etc...
<Components> <Component Name="Username" Class="Text" Stretch="ToContent" Events="Transparent" > <Text Color="UsernameCG" Font="Arial" Bold="true" Size="12">value</Text> </Component> <Component Name="TabAddButton" Class="TabControl" Stretch="ToContent" > </Component> <Component Name="CloseBox" Class="PushButton" Stretch="ToContent" Events="Transparent" ToolTip="MinimizeButton" Accelator="ALT(VK_RIGHT)" > <Triggers> <Trigger type="OnLeftButtonDown">ResizeT</Trigger> <Trigger type="OnRightButtonDown">State(Disabled)</Trigger> </Triggers> <Images state="normal"> <Image Type="topleft">TopLeftBitmap</Image> <Image Type="left">LeftBitmap</Image> <Image Type="bottomleft">BottomLeftBitmap</Image> <Image Type="top">TopImage</Image> <Image Type="middle">MiddleBitmap</Image> <Image Type="bottom">BottomBitmap</Image> <Image Type="topright">TopRightBitmap</Image> <Image Type="right">RightBitmap</Image> <Image Type="bottomright">BottomRightBitmap</Image> </Images> <Images State="hover"> ... (See the normal state example) </Images> <Images State="down"> ... </Images> <Images State="disabled"> ... </Images> <Images State="overlay"> ... </Images> </Component> </Components>
[edit]
Layout
- The layout is a bunch of tiles in a tree structure
<Tile Name="name" AlignX="left|center|right" AlignY="top|center|bottom" Top="" Left="" Right="" Bottom="" Width="" Height="" Component="" > <Tile>...</Tile> </Tile>
[edit]
DTD
<!ELEMENT XfireSkin (SkinDescription,GlobalPrefs?,Strings+,Themes?,Components,MainWindow,ChatWindow,GroupChatWindow,InGameMainWindow,InGameAlertWindow,Popups?)> <!ELEMENT SkinsDescription (Author*,Website?,Name,LongName,Version,CompatibleVersion,License?)> <!ELEMENT Author (#PCDATA)> <!ATTLIST Author Type (original|contributor) "original"> <!ELEMENT Website (#PCDATA)> <!ELEMENT Name (#PCDATA)> <!ELEMENT LongName (#PCDATA)> <!ELEMENT Version (#PCDATA)> <!ELEMENT CompatibleVersion (#PCDATA)> <!ELEMENT License (#PCDATA)> <!ELEMENT GlobalPrefs (TooltipColor?,TooltipTextColor?,OnlineSound?,OfflineSound?)> <!ELEMENT TooltipColor (#PCDATA)> <!ELEMENT TooltipTextColor (#PCDATA)> <!ELEMENT OnlineSound (#PCDATA)> <!ELEMENT OfflineSound (#PCDATA)> <!ELEMENT Strings (String*)> <!ATTLIST Strings Lang CDATA "default"> <!ELEMENT String (#PCDATA)> <!ATTLIST String Name CDATA #REQUIRED> <!ATTLIST String ResourceId CDATA #IMPLIED> <!ELEMENT Themes (Theme*)> <!ELEMENT Theme (Colors?,ColorShifts?,Sounds?,Bitmaps?)> <!ELEMENT Colors (Color+)> <!ELEMENT Color (#PCDATA)> <!ATTLIST Color Red CDATA #IMPLIED> <!ATTLIST Color Green CDATA #IMPLIED> <!ATTLIST Color Blue CDATA #IMPLIED> <!ATTLIST Color Alpha CDATA #IMPLIED> <!ELEMENT ColorShifts (ColorShift+)> <!ELEMENT ColorShift (#PCDATA)> <!ATTLIST ColorShift Red CDATA #IMPLIED> <!ATTLIST ColorShift Green CDATA #IMPLIED> <!ATTLIST ColorShift Blue CDATA #IMPLIED> <!ATTLIST ColorShift Alpha CDATA #IMPLIED> <!ELEMENT Sounds (Sound+)> <!ELEMENT Sound (#PCDATA)> <!ATTLIST Sound Name CDATA #REQUIRED> <!ATTLIST Sound ResourceId CDATA #IMPLIED> <!ELEMENT Bitmaps (Bitmap+)> <!ELEMENT Bitmap (#PCDATA)> <!ATTLIST Bitmap Name CDATA #REQUIRED> <!ATTLIST Bitmap ResourceId CDATA #IMPLIED> <!ELEMENT MainWindow (Tile)> <!ELEMENT ChatWindow (Tile)> <!ELEMENT GroupChatWindow (Tile)> <!ELEMENT InGameAlertWindow (Tile)> <!ELEMENT InGameMainWindow (Tile)> <!ELEMENT Tile (Tile*)> <!ATTLIST Tile Name CDATA #REQUIRED> <!ATTLIST Tile AlignX (left|center|right) #IMPLIED> <!ATTLIST Tile AlignY (top|center|bottom) #IMPLIED> <!ATTLIST Tile Top CDATA #IMPLIED> <!ATTLIST Tile Left CDATA #IMPLIED> <!ATTLIST Tile Bottom CDATA #IMPLIED> <!ATTLIST Tile Right CDATA #IMPLIED> <!ATTLIST Tile Width CDATA #IMPLIED> <!ATTLIST Tile Height CDATA #IMPLIED> <!ATTLIST Tile Component CDATA #REQUIRED> <!ATTLIST Tile MinWidth CDATA #IMPLIED> <!ATTLIST Tile MinHeight CDATA #IMPLIED> <!ATTLIST Tile DefaultWidth CDATA #IMPLIED> <!ATTLIST Tile DefaultHeight CDATA #IMPLIED> <!ATTLIST Tile ResizeX CDATA #IMPLIED> <!ATTLIST Tile ResizeY CDATA #IMPLIED> <!ATTLIST Tile X CDATA #IMPLIED> <!ATTLIST Tile Y CDATA #IMPLIED> <!ATTLIST Tile Z CDATA #IMPLIED> <!ATTLIST Tile IndentLeft CDATA #IMPLIED> <!ATTLIST Tile IndentRight CDATA #IMPLIED> <!ATTLIST Tile IndentTop CDATA #IMPLIED> <!ATTLIST Tile IndentBottom CDATA #IMPLIED> <!ATTLIST Tile JustX CDATA #IMPLIED> <!ATTLIST Tile JustY CDATA #IMPLIED> <!ATTLIST Tile BindX CDATA #IMPLIED> <!ATTLIST Tile BindY CDATA #IMPLIED> <!ATTLIST Tile OutdentLeft CDATA #IMPLIED> <!ATTLIST Tile OutdentRight CDATA #IMPLIED> <!ATTLIST Tile OutdentTop CDATA #IMPLIED> <!ATTLIST Tile OutdentBottom CDATA #IMPLIED> <!ELEMENT Components (Component*)> <!ELEMENT Component (Triggers,Images*,Text*,Popup,ProgressBar)> <!ATTLIST Component Name CDATA #REQUIRED> <!ATTLIST Component Default CDATA #IMPLIED> <!ATTLIST Component Class CDATA #IMPLIED> <!ATTLIST Component Stretch CDATA #IMPLIED> <!ATTLIST Component Events CDATA #IMPLIED> <!ATTLIST Component Tooltip CDATA #IMPLIED> <!ATTLIST Component Accelerator CDATA #IMPLIED> <!ATTLIST Component Cursor CDATA #IMPLIED> <!ATTLIST Component ControlGroupId CDATA #IMPLIED> <!ATTLIST Component TooltipColor CDATA #IMPLIED> <!ATTLIST Component TooltipTextColor CDATA #IMPLIED> <!ATTLIST Component MouseOver CDATA #IMPLIED> <!ATTLIST Component DisabledTooltip CDATA #IMPLIED> <!ATTLIST Component WindowFocus CDATA #IMPLIED> <!ATTLIST Component Color CDATA #IMPLIED> <!ATTLIST Component Scrollbar CDATA #IMPLIED> <!ATTLIST Component PushType CDATA #IMPLIED> <!ATTLIST Component GroupId CDATA #IMPLIED> <!ELEMENT Triggers (Trigger+)> <!ELEMENT Trigger (#PCDATA)> <!ATTLIST Trigger Type (OnInit|OnAppStartRefreshServers|OnAppStopRefreshServers|OnDownloadComplete|OnActivate|OnDeactivate|OnLeftClick|OnRightClick|OnLeftButtonDown|OnRightButtonDown|OnLeftDoubleClick|OnRightDoubleClick|OnXfireUrlDownload) #IMPLIED> <!ELEMENT Images (Image*)> <!ATTLIST Images State (normal|hover|disabled|overlay) #IMPLIED> <!ATTLIST Images Color CDATA #IMPLIED> <!ATTLIST Images HeaderColor CDATA #IMPLIED> <!ATTLIST Images ColorShift CDATA #IMPLIED> <!ELEMENT Image (#PCDATA)> <!ATTLIST Image Type (topleft|top|topright|left|middle|right|bottomleft|bottom|bottomright|headerleft|headermiddle|headerright|headerarrowup|headerarrowdown|headercollapsed|headerexpanded) #IMPLIED> <!ELEMENT Popup (#PCDATA)> <!ATTLIST Popup Tile CDATA #REQUIRED> <!ATTLIST Popup SaveState CDATA #IMPLIED> <!ELEMENT ProgressBar (#PCDATA)> <!ATTLIST ProgressBar OutlineColor CDATA #IMPLIED> <!ATTLIST ProgressBar BGColor CDATA #IMPLIED> <!ATTLIST ProgressBar FillColor CDATA #IMPLIED> <!ATTLIST ProgressBar TextColor CDATA #IMPLIED> <!ATTLIST ProgressBar Radius CDATA #IMPLIED> <!ATTLIST ProgressBar FillRadius CDATA #IMPLIED> <!ELEMENT Text (#PCDATA)> <!ATTLIST Text Font CDATA #IMPLIED> <!ATTLIST Text State CDATA #IMPLIED> <!ATTLIST Text Size CDATA #IMPLIED> <!ATTLIST Text Bold CDATA #IMPLIED> <!ATTLIST Text Italic CDATA #IMPLIED> <!ATTLIST Text Background CDATA #IMPLIED> <!ATTLIST Text color_friend CDATA #IMPLIED> <!ATTLIST Text color_fof CDATA #IMPLIED> <!ATTLIST Text color_offline CDATA #IMPLIED> <!ATTLIST Text color_selected CDATA #IMPLIED> <!ATTLIST Text color_nonfocus CDATA #IMPLIED> <!ATTLIST Text color_selectedtext CDATA #IMPLIED> <!ATTLIST Text color_header CDATA #IMPLIED> <!ELEMENT Popups (Tile+)>
[edit]
Triggers
- AddFriend
- AddServer
- Animate
- AnimateStop
- AppClose
- AppDragWindow
- AppGroupVoiceChat
- AppLaunchUrl(http://..../)
- AppMaximize
- AppMinimize
- AppVoiceChat
- ChatFriend
- ContextMenuSys
- DownloadInfo
- ExecuteDownload
- GroupMessage
- JoinFriend
- LaunchSkin
- MenuCWActions
- MenuCWHelp
- MenuFile
- MenuGCActions
- MenuGCHelp
- MenuGCSystem
- MenuHelp
- MenuStatus
- MenuSys
- MenuSystem
- MenuTool
- PlaySound
- ProfileFriend
- RefreshServer
- ResizeB
- ResizeBL
- ResizeBR
- ResizeL
- ResizeR
- ResizeT
- ResizeUL
- ResizeUR
- SendMessage
- StartDownload
- State
- StopDownload
