GUIController
The GUIController contains a simple first-in, last-out menu stack. You have three things you can do:
- Open a menu – adds the menu to the top of the stack.
- Replace a menu – replaces the current menu with the new menu.
- Close a menu – returns you to the last menu on the stack.
The GUIController is the GUI system's only interface to the world of Actors.
A similar UT class would probably be the WindowConsole, although the UWindow system in UT is more like a console extension while UT2003's GUIController and Console are both Interactions without being a subclass of eachother.
Interactive GUI Design Mode
To enable the interactive GUI design mode, open the Game ini file (UT2003.ini) and set the following property:
[XInterface.GUIController] bModAuthor=True
Press Ctrl+Alt+D
to enter the interactive GUI design mode. In that mode, you can:
Ctrl+Click
a control to select it. RepeatedlyCtrl+Click
to select overlapping controls.- Press
Shift
to temporarily hide the selection rectangle. - Press
Ctrl+ArrowUp
,Ctrl+ArrowLeft
,Ctrl+ArrowRight
andCtrl+ArrowDown
to move the selected control. - Press
Ctrl+GrayPlus
andCtrl+GrayMinus
to change the horizontal size of the selected control.
PressCtrl+Plus
andCtrl+Minus
(on the alphanumeric keyboard) to change the vertical size of the selected control.
Add Alt
to the movement and sizing key combinations to move or size faster.
- Press Ctrl+C to copy the selected control's window metrics to the clipboard. You can directly paste them into your control's inline object definition in the
defaultproperties
section.
Properties
- GUIComponent ActiveControl
- Which control is currently active.
- GUIPage ActivePage
- Points to the currently active page.
- bool AltPressed
- Alt key is being held.
- array<string> AutoLoad (config)
- Any menu classes in here will be automatically loaded.
- bool bCurMenuInitialized
- Has the current Menu Finished initialization.
- bool bDesignMode
- Are we in design mode.
- bool bForceMouseCheck
- bool bHighlightCurrent
- Highlight the current control being edited.
- bool bIgnoreNextRelease
- Used to make sure discard errant releases.
- bool bIgnoreUntilPress
- bool bModAuthor (config)
- Enables interactive GUI design mode. See above for details.
- float ButtonRepeatDelay
- The amount of delay for faking button repeats.
- sound ClickSound
- bool CtrlPressed
- Ctrl key is being held.
- float CursorFade
- How visible is the cursor.
- int CursorStep
- Are we fading in or out.
- float DblClickWindow
- How long do you have for a double click.
- sound DownSound
- sound EditSound
- float FastCursorFade
- How visible is the cursor.
- int FastCursorStep
- Are we fading in or out.
- GUIComponent FocusedControl
- Top most Focused control.
- array<GUIFont?> FontStack (editinline)
- Holds all the possible fonts.
- string GameResolution
- float LastClickTime
- When did the last click occur.
- int LastClickX
int LastClickY - Who was the active component
- float LastMouseX
- float LastMouseY
- bool MainNotWanted
- Set to true if you don't want main to appear.
- float MenuMouseSens (config)
- array<GUIPage> MenuStack (editinline, export)
- Holds the stack of menus.
- Array<vector> MouseCursorOffset (editinline)
- Only X,Y used, between 0 and 1. 'Hot Spot' of cursor material.
- Array<Material> MouseCursors (editinline)
- Holds a list of all possible mouse coursers.
- sound MouseOverSound
- float MouseX
float MouseY - Where is the mouse currently located.
- GUIComponent MoveControl
- Used for visual design.
- array<GUIPage> PersistentStack
- Holds the set of pages which are persistent across close/open.
- float RepeatDelta
- Data var
- byte RepeatKey
- Used to determine what should repeat.
- float RepeatTime
- How long until the next repeat.
- bool ShiftPressed
- Shift key is being held.
- GUIComponent SkipControl
- This control should be skipped over and drawn at the end.
- array<string> StyleNames
- Holds the name of all styles to use.
- array<GUIStyles?> StyleStack
- Holds all of the possible styles.
- sound UpSound
- Material WhiteBorder
Methods
Inherited from Interaction
- NotifyLevelChange ( ) [event]
Inherited from BaseGUIController
- AutoLoadMenus ( ) [event]
- bool OpenMenu (string NewMenuName, optional string Param1, optional string Param2) [event]
- Opens a new menu and places it on top of the stack.
- bool ReplaceMenu (string NewMenuName, optional string Param1, optional string Param2) [event]
- Replaces a menu in the stack. Returns true if success.
- CloseAll (bool bCancel) [event]
- bool CloseMenu (optional bool bCanceled) [event]
- Close the top menu. returns true if success.
- InitializeController ( ) [event]
- SetControllerStatus (bool On)
- SetRequiredGameResolution (string GameRes) [event]
- bool NeedsMenuResolution() [event]
Newly Declared Methods
- ChangeFocus (GUIComponent Who) [event]
- ClearControls (GUIMultiComponent Comp)
- GUIPage CreateMenu (string NewMenuName) [event]
- Attempts to create a menu. Returns none if it can't.
- string GetCurrentRes ( ) [native]
- Returns the current res as a string.
- string GetMainMenuClass ( ) [native]
- Returns GameEngine.MainMenuClass.
- GetMapList (string Prefix , GUIList? list) [native]
- GUIFont? GetMenuFont (string FontName) [native event]
- Finds a given font in the FontStack.
- GetOGGList (out array<string> OGGFiles) [native]
- GetProfileList (string Prefix, out array<string> ProfileList) [native]
- GUIStyles? GetStyle (string StyleName) [native event]
- Find a style on the stack.
- GetTeamSymbolList (array<string> SymbolNames, optional bool bNoSinglePlayer) [native]
- GetWeaponList (out array<class<Weapon>> WeaponClass , out array<string> WeaponDesc) [native]
- bool HasMouseMoved ( )
- string LoadDecoText (string PackageName , string DecoTextName) [native]
- MoveFocused (GUIComponent Ctrl , int bmLeft, int bmTop, int bmWidth, int bmHeight, float ClipX , float ClipY) [event]
- bool RegisterStyle (class<GUIStyles?> StyleClass)
- ResetFocus()
- ResetKeyboard ( ) [native]
- GUIPage TopPage ( )
Delegates
- bool OnNeedRawKeyPress (byte NewKey)
Known Subclasses
- ProGUIController – used by the Pro GUI