User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
guisys:called_methods [2006-09-07 11:26]
Carsten fixed minor phrases.
— (current)
Line 1: Line 1:
-====== Called Methods ====== 
- 
-For all window classes, the GuiSys (C++) code automatically calls the following script methods. 
-These methods are intended to be provided by the GUI script author, and are the entry or "​starting"​ point for customizing the GUI behaviour. 
- 
-Note that none of these methods is obligatory, i.e. you are not required to provide any of them. 
-The GuiSys will realize automatically which methods you provide and which you don't, and just do nothing for methods that have not been defined. <​clear>​ 
- 
----- 
- 
-==== OnAction() ==== 
- 
-Called when the user pressed the "​action"​ button inside the window. This is normally the left mouse button, but could also be the appropriate joystick button etc. 
- 
----- 
- 
-==== OnActivate() ==== 
- 
-Called for each window when the GUI is activated (i.e. switched on for rendering, e.g. when the user toggles the in-game console, this method is called every time for the console GUI). 
- 
----- 
- 
-==== OnDeactivate() ==== 
- 
-Called for each window when the GUI is deactivated. 
- 
-This method mainly exists for symmetry with ''​OnActivate()'',​ it has little practical use. 
- 
----- 
- 
-==== OnFocusGain() ==== 
- 
-Called when this window gains the keyboard input focus. 
- 
-  - This //not// called when the focus change was triggered by the script, i.e. a call to ''​gui:​setFocus(myWin);''​. That is, this method is only called when the user triggered the focus change by a mouse click. If you use ''​gui:​setFocus(myWin);''​ and want this method called, just call it yourself immediately after the call. 
- 
----- 
- 
-==== OnFocusLose() ==== 
- 
-Called when this window gains the keyboard input focus. 
- 
-  - This //not// called when the focus change was triggered by the script, i.e. a call to ''​gui:​setFocus(myWin);''​. That is, this method is only called when the user triggered the focus change by a mouse click. 
-  - Currently, losing the focus cannot be vetoed. 
- 
----- 
- 
-==== OnFrame() ==== 
- 
-Called on each frame that is rendered by the Ca3D-Engine. 
- 
-  - Note that it does not get the frame time passed, but you can always learn the global time by calling ''​get("​time"​);''​. 
-  - Oviously, you may not do many expensive things in this method --- it's called every frame, after all! 
- 
----- 
- 
-==== OnInit() ==== 
- 
-This is the first method that is called for each window after a GUI has been loaded. 
-It is only called once for each window. 
- 
----- 
- 
-==== bool OnKeyPress(Key) ==== 
- 
-This method is called if a key was pressed and the window has the keyboard input focus. 
- 
-''​Key''​ is a number that represents the key that has been pressed. Please refer to the ''​CaKeyboardEventT''​ structure that is declared in the ''​Libs/​OpenGL/​OpenGLWindow.hpp''​ file that comes with the Ca3DE SDK for possible values. Here is a list of the most frequently used values and their meaning: 
- 
-^ Key Value ^ Key Name ^ 
-| 1 | ESC (Escape) | 
-| 2 ... 11 | 1 ... 9, 0 | 
-| 14 | <- (Backspace) | 
-| 15 | TAB (Tabulator) | 
-| 28 | Return (on main keyboard) | 
-| 41 | Accent Grave | 
-| 156 | Enter (on numpad) | 
-| 200 | Arrow Up | 
-| 208 | Arrow Down | 
- 
-The method should return ''​true''​ if it handled this key press, and ''​false''​ otherwise. 
- 
----- 
- 
-==== bool OnKeyRelease(Key) ==== 
- 
-Like ''​OnKeyPress(Key)'',​ but for key releases. 
- 
----- 
- 
-==== OnMouseEnter() ==== 
- 
-Called when the mouse cursor enters the rectangle of the window. 
- 
-Note that this does currently not take rotation into account, i.e. it acts as if the rotation was always 0, even if it is actually rotating. 
- 
----- 
- 
-==== OnMouseLeave() ==== 
- 
-Called when the mouse cursor leaves the rectangle of the window. 
- 
-Note that this does currently not take rotation into account, i.e. it acts as if the rotation was always 0, even if it is actually rotating. 
  
guisys/called_methods.1157621205.txt.gz ยท Last modified: 2013-01-07 12:07 (external edit)