Opened 18 years ago

Closed 18 years ago

Last modified 14 years ago

#63 closed task (invalid)

GUI Engine

Reported by: Stuart Walpole Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: Patch:

Description

  • <strike>Ensure documentation of available events and JS functions is complete and up to date.</strike>
  • namespaces (local pages) ... XML "pages" defined from init.xml. Hotkeys grouped under pages (hotkey.mainmenu.quit, hotkey.session.return) do not affect other pages, or can be set as global (hotkey.global.watermark) and affect all.
  • On-the-fly asset refresh (GUI Hotload).
  • Dynamic scripted control object creation/destruction (can create/destroy control objects from JS) ... Or control objects can be created as arrays (since this is mainly needed for large, often variable groups of similar objects).
  • Dynamic graphic loading (direct display of an image from a given path, without having to define a sprite at loadtime.)
  • Styles and sprites can use parent-child inheritance.
  • Styles should include the "type" property.
  • Absolute property should be inherited (eg set a parent to absolute so that its children can be absolute, without setting each in turn.)
  • Implement .parent property (stores string name of child object's parent control.)
  • When objects overlap, whichever object is written first should have the lower z, making specification of z values largely unnecessary.
  • Events can be set as properties (onPress="function1 (property1, property2); function2 (property1, property2)" or <action on="Press" function="function1 (property1, property2); function2 (property1, property2)" />) -- Why not just <action on="Press">function1(...)</action>, that's basically the same amount of characters (the CDATA thing is not required). /Gee
  • <strike>Clipped scroll windows (text and images)</strike>
  • Events for double-click, right-click, wheel-click, similar to onPress. Also wheel-up and wheel-down in system.cfg.
  • GUI controls that remain relative to a world object, like hitpoint bars and "level-up" icons (perhaps an extension of billboard sprites?). Engine function to return object position relative to x/y screen coordinates.
  • Ability to set the value of a control's "style" property at runtime. eg "setStyle (controlName, styleName)" or perhaps "getGUIObjectByName (myControl).style ="skin*Hele*Button"", as long as the control's properties are refreshed from the style once this happens. (Currently it's blank once the controls are loaded, since the control properties are populated at load). Without this feature, we're unable to implement UI "skins" (since we setup the skin groups using styles).
  • Bug: When an [icon] is specified in a caption, even if it isn't displaced, it's no longer possible to vertically align (eg vertically centre) the text in the control.
  • Additional controls:
    • <strike>listbox (list)</strike>
    • <strike>combobox (dropdown)</strike>
    • slider.

Change History (3)

comment:1 by Stuart Walpole, 18 years ago

Resolution: invalid
Status: newclosed

The admin password has changed, so I can't delete this redundant ticket. So I'll set it to "invalid" instead and that should make it go away. :)

comment:2 by Philip Taylor, 18 years ago

You have admin access under your normal name - but Trac doesn't support deleting tickets anyway (though the command-line admin tool will in version 0.10). (In extreme emergencies, it's possible to modify the SQL database directly, but that's not very nice.)

So marking it as invalid+closed is the best thing to do.

comment:3 by (none), 14 years ago

Milestone: Advanced Playability Demo

Milestone Advanced Playability Demo deleted

Note: See TracTickets for help on using tickets.