1 // The gui module is a set of interfaces that provide a subset of GUI widgets
2 // that are implemented both in the ingame gui and the Qt gui, allowing to
3 // create gui components that can be used both in the editor and ingame
4 // (for instance to reuse properties edition panels as ingame debugging gui)
6 // An abstract factory allows users to use either transparently.
8 // The qt sub module contains wrappers for some qt controls that have no
9 // equivalent in the ingame gui so they can be used from lua.
11 // The game sub module contains, in addition to the ingame gui implementation,
12 // additional widgets that have no equivalent in the qt gui.
13 // It's also possible to create game gui widgets without going through
14 // the abstract factory to use some more specific features that have
15 // no equivalent in the qt wrappers (for instance, accessors to obtain the
16 // scenegraph objects generated by the game gui widgets)
18 // Both implementations will be available from within the tools and be able to be used
19 // at the same time (for instance, to display the actual ingame gui when playing directly in the
21 // Only the game implementation will be available from within the game application.
22 namespace awful { namespace gui
27 virtual Pointer< Window_i > newWindow( Pointer< Container_i > pParent );
28 virtual Pointer< HGroup_i > newHGroup( Pointer< Container_i > pParent );
29 virtual Pointer< VGroup_i > newVGroup( Pointer< Container_i > pParent );
30 virtual Pointer< Button_i > newButton( Pointer< Container_i > pParent, string Label_ );
31 virtual Pointer< Draggable_i > newDraggable( Pointer< Container_i > pParent );
38 class Container_i : Widget_i
42 class Window_i : Container_i
46 class HGroup_i : Container_i
50 class VGroup_i : Container_i
54 class Button_i : Widget_i
60 class Draggable_i : Widget_i