From: Bryce H. <br...@os...> - 2003-04-09 01:17:20
|
Johan, I decided to take a shot at describing a game UI using XUL, just to get a feel for what it looks like and how it works. Here's what I came up with after about an hour's work. Bryce <?xml version="1.0"?> <window id="main"> <menubar> <menu value="Game"> <menupopup> <menuitem value="Connect" oncommand="connect()"/> <menuitem value="Disconnect" oncommand="disconnect()"/> <menuseparator/> <menuitem value="Exit" oncommand="exit()"/> </menupopup> </menu> <menu value="Preferences"> <menupopup> <menu value="Zoom"> <menupopup> <menuitem value="50%" oncommand="zoom(.5)"/> <menuitem value="100%" oncommand="zoom(1.0)"/> <menuitem value="200%" oncommand="zoom(2.0)"/> </menupopup> </menu> <menuitem value="Servers"/> <menuitem value="Caching"/> </menupopup> </menu> <menu value="Info"> <menupopup> <menuitem value="Players" oncommand="show_window(Players)"/> <menuitem value="Heroes" oncommand="show_window(Heroes)"/> <menuitem value="Units" oncommand="show_window(Units)"/> <menuitem value="Terrain" oncommand="show_window(Terrain)"/> <menuitem value="World" oncommand="show_window(World)"/> </menupopup> </menu> <menu value="Help"> <menupopup> <menuitem value="About" oncommand="show_window(About)"/> <menuitem value="Tips" oncommand="show_window(Tips)"/> <menuitem value="Manual" oncommand="show_window(Manual)"/> <menuitem value="Feedback" oncommand="show_window(Feedbck)"/> </menupopup> </menu> </menubar> <toolbox> <toolbar id="Unit Commands"> <svg:button src="stop.svg">Stop</svg:button> <svg:button src="get.svg">Get item...</svg:button> <svg:button src="drop.svg">Drop item...</svg:button> <svg:button src="defend.svg">Defend</svg:button> <svg:button src="attack.svg">Attack</svg:button> </toolbar> </toolbox> <!-- key bindings for the main menu --> <keyset> <key id="playerInfoKey" key="p" command="true" onkeydown="show_window(Players)"> <key id="heroesInfoKey" key="h" command="true" onkeydown="show_window(Heroes)"> <key id="unitsInfoKey" key="u" command="true" onkeydown="show_window(Units)"> <key id="terrainInfoKey" key="t" command="true" onkeydown="show_window(Terrain)"> <key id="worldInfoKey" key="2" command="true" onkeydown="show_window(World)"> </keyset> </window> <window id="Players"> <!-- TODO: Display list of players active in the game --> <box align="vertical"> <titledbutton value="Alphex"/> <titledbutton value="Midochlarus"/> <titledbutton value="Xorpan"/> </box> </window> <window id="Heroes"> <!-- TODO: Display list of different heroes available in the game --> </window> <window id="Units"> <!-- TODO: Display list of types of units --> </window> <window id="Terrain"> <!-- TODO: Display list of terrain types w/ definitions --> </window> <window id="World"> <!-- TODO: Display information about the game world --> </window> <window id="About"> <!-- TODO: Display name of application, version number, etc. --> </window> <window id="Tips"> <!-- TODO: Display game tips --> </window> <window id="Manual"> <!-- TODO: Display pages from the manual --> </window> <window id="Feedback"> <!-- TODO: Show contact information for bugs & etc. --> </window> <!-- Right-click menu for interacting with units --> <popup id="unitsMenu"> <menu> <menuitem name="Move here" onclick="move(x,y)"/> <menuitem name="Attack here" onclick="attack(x,y)"/> <menuitem name="Set patrol point" onclick="unit.set_patrol(x,y)"/> <menuitem name="Search" onclick="unit.search(y,x)"/> <menuitem name="Get" onclick="unit.get(x,y)"/> <menuitem name="Drop" onclick="unit.drop(x,y)"/> </menu> </popup> |