| Home Page | Recent Changes | Preferences

# GUIController

UT2003 :: Object >> Interactions >> Interaction >> BaseGUIController >> GUIController (Package: XInterface)

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. Repeatedly `Ctrl+Click` to select overlapping controls.
- Press `Shift` to temporarily hide the selection rectangle.
- Press `Ctrl+ArrowUp`, `Ctrl+ArrowLeft`, `Ctrl+ArrowRight` and `Ctrl+ArrowDown` to move the selected control.
- Press `Ctrl+GrayPlus` and `Ctrl+GrayMinus` to change the horizontal size of the selected control.
  Press `Ctrl+Plus` and `Ctrl+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

## Related Topics

- GUI
- GUI Class Hierarchy

Category Class (UT2003)

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In