node behaviour, how a node work More...
#include <ui_nodes.h>
Data Fields | |
const char * | name |
const char * | extends |
qboolean | isVirtual |
qboolean | isFunction |
qboolean | isAbstract |
qboolean | isInitialized |
qboolean | focusEnabled |
qboolean | drawItselfChild |
const value_t * | properties |
int | propertyCount |
intptr_t | extraDataSize |
struct uiBehaviour_s * | super |
void(* | draw )(uiNode_t *node) |
void(* | drawTooltip )(uiNode_t *node, int x, int y) |
void(* | drawOverWindow )(uiNode_t *node) |
void(* | leftClick )(uiNode_t *node, int x, int y) |
void(* | rightClick )(uiNode_t *node, int x, int y) |
void(* | middleClick )(uiNode_t *node, int x, int y) |
void(* | mouseWheel )(uiNode_t *node, qboolean down, int x, int y) |
void(* | mouseMove )(uiNode_t *node, int x, int y) |
void(* | mouseDown )(uiNode_t *node, int x, int y, int button) |
void(* | mouseUp )(uiNode_t *node, int x, int y, int button) |
void(* | capturedMouseMove )(uiNode_t *node, int x, int y) |
void(* | capturedMouseLost )(uiNode_t *node) |
void(* | loading )(uiNode_t *node) |
void(* | loaded )(uiNode_t *node) |
void(* | clone )(const uiNode_t *source, uiNode_t *clone) |
void(* | new )(uiNode_t *node) |
void(* | delete )(uiNode_t *node) |
void(* | init )(uiNode_t *node) |
void(* | close )(uiNode_t *node) |
void(* | doLayout )(uiNode_t *node) |
void(* | activate )(uiNode_t *node) |
void(* | propertyChanged )(uiNode_t *node, const value_t *property) |
void(* | sizeChanged )(uiNode_t *node) |
void(* | getClientPosition )(uiNode_t *node, vec2_t position) |
qboolean(* | dndEnter )(uiNode_t *node) |
qboolean(* | dndMove )(uiNode_t *node, int x, int y) |
void(* | dndLeave )(uiNode_t *node) |
qboolean(* | dndDrop )(uiNode_t *node, int x, int y) |
qboolean(* | dndFinished )(uiNode_t *node, qboolean isDroped) |
void(* | focusGained )(uiNode_t *node) |
void(* | focusLost )(uiNode_t *node) |
qboolean(* | keyPressed )(uiNode_t *node, unsigned int key, unsigned short unicode) |
node behaviour, how a node work
Definition at line 134 of file ui_nodes.h.
void(* uiBehaviour_s::activate)(uiNode_t *node) |
Activate the node. Can be used without the mouse (ie. a button will execute onClick)
Referenced by UI_KeyPressedInWindow(), UI_RegisterAbstractNode(), UI_RegisterCheckBoxNode(), and UI_RegisterRadioButtonNode().
void(* uiBehaviour_s::capturedMouseLost)(uiNode_t *node) |
void(* uiBehaviour_s::capturedMouseMove)(uiNode_t *node, int x, int y) |
void(* uiBehaviour_s::clone)(const uiNode_t *source, uiNode_t *clone) |
call to initialize a cloned node
Referenced by UI_AbstractValueClone(), UI_CloneNode(), UI_ModelNodeClone(), UI_RegisterAbstractNode(), UI_RegisterAbstractValueNode(), UI_RegisterConFuncNode(), UI_RegisterModelNode(), and UI_RegisterWindowNode().
void(* uiBehaviour_s::close)(uiNode_t *node) |
call every time we pop the parent window
Referenced by UI_AbstractNodeClose(), UI_CloseAllWindow(), UI_CloseWindowByRef(), UI_RegisterAbstractNode(), UI_RegisterConFuncNode(), UI_RegisterSequenceNode(), UI_RegisterVideoNode(), UI_RegisterWindowNode(), and UI_WindowNodeClose().
void(* uiBehaviour_s::delete)(uiNode_t *node) |
call to delete a dynamic node
Referenced by UI_DeleteNode(), UI_RegisterAbstractValueNode(), and UI_RegisterModelNode().
qboolean(* uiBehaviour_s::dndDrop)(uiNode_t *node, int x, int y) |
Send to the target to finalize the drop
Referenced by UI_DNDDrop(), and UI_RegisterAbstractNode().
qboolean(* uiBehaviour_s::dndEnter)(uiNode_t *node) |
Send to the target when we enter first, return true if we can drop the DND somewhere on the node
Referenced by UI_DNDMouseMove(), UI_RegisterAbstractNode(), UI_RegisterBaseInventoryNode(), and UI_RegisterContainerNode().
qboolean(* uiBehaviour_s::dndFinished)(uiNode_t *node, qboolean isDroped) |
Sent to the source to finalize the drop
Referenced by UI_DNDAbort(), UI_DNDDrop(), UI_RegisterAbstractNode(), and UI_RegisterContainerNode().
void(* uiBehaviour_s::dndLeave)(uiNode_t *node) |
Send to the target when the DND is canceled
Referenced by UI_DNDAbort(), UI_DNDMouseMove(), UI_RegisterAbstractNode(), UI_RegisterBaseInventoryNode(), and UI_RegisterContainerNode().
qboolean(* uiBehaviour_s::dndMove)(uiNode_t *node, int x, int y) |
Send to the target when we enter first, return true if we can drop the DND here
Referenced by UI_DNDMouseMove(), UI_RegisterAbstractNode(), UI_RegisterBaseInventoryNode(), and UI_RegisterContainerNode().
void(* uiBehaviour_s::doLayout)(uiNode_t *node) |
call to update node layout
Referenced by UI_AbstractNodeDoLayout(), UI_ColumnLayout(), UI_PanelNodeDoLayout(), UI_RegisterAbstractNode(), UI_RegisterAbstractOptionNode(), UI_RegisterOptionNode(), UI_RegisterPanelNode(), UI_RegisterWindowNode(), UI_StarLayout(), UI_Validate(), and UI_WindowNodeDoLayout().
void(* uiBehaviour_s::draw)(uiNode_t *node) |
how to draw a node
Referenced by UI_DrawNode(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterBaseLayoutNode(), UI_RegisterBaseMapNode(), UI_RegisterButtonNode(), UI_RegisterCheckBoxNode(), UI_RegisterContainerNode(), UI_RegisterCustomButtonNode(), UI_RegisterEditorNode(), UI_RegisterEKGNode(), UI_RegisterImageNode(), UI_RegisterItemNode(), UI_RegisterKeyBindingNode(), UI_RegisterLineChartNode(), UI_RegisterMapNode(), UI_RegisterMaterialEditorNode(), UI_RegisterMessageListNode(), UI_RegisterModelNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterPanelNode(), UI_RegisterRadarNode(), UI_RegisterRadioButtonNode(), UI_RegisterRowsNode(), UI_RegisterSelectBoxNode(), UI_RegisterSequenceNode(), UI_RegisterSpinnerNode(), UI_RegisterStringNode(), UI_RegisterTabNode(), UI_RegisterTBarNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextListNode(), UI_RegisterTextNode(), UI_RegisterTodoNode(), UI_RegisterVideoNode(), UI_RegisterVScrollbarNode(), and UI_RegisterWindowNode().
if true, the node draw function must draw child, the core code will not do it
Definition at line 143 of file ui_nodes.h.
Referenced by UI_DrawNode(), UI_RegisterAbstractOptionNode(), UI_RegisterModelNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterSelectBoxNode(), and UI_RegisterTabNode().
void(* uiBehaviour_s::drawOverWindow)(uiNode_t *node) |
callback to draw content over the window
Referenced by UI_Draw(), UI_RegisterEditorNode(), UI_RegisterSelectBoxNode(), UI_RegisterSequenceNode(), UI_RegisterTodoNode(), and UI_RegisterVideoNode().
void(* uiBehaviour_s::drawTooltip)(uiNode_t *node, int x, int y) |
allow to draw a custom tooltip
Referenced by UI_Draw(), UI_RegisterBaseInventoryNode(), UI_RegisterBaseMapNode(), UI_RegisterContainerNode(), UI_RegisterStringNode(), and UI_RegisterTabNode().
const char* uiBehaviour_s::extends |
name of the extends behaviour
Definition at line 137 of file ui_nodes.h.
Referenced by UI_InitializeNodeBehaviour(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterBaseLayoutNode(), UI_RegisterBaseMapNode(), UI_RegisterCheckBoxNode(), UI_RegisterConFuncNode(), UI_RegisterControlsNode(), UI_RegisterCustomButtonNode(), UI_RegisterCvarFuncNode(), UI_RegisterEditorNode(), UI_RegisterEKGNode(), UI_RegisterFuncNode(), UI_RegisterItemNode(), UI_RegisterMaterialEditorNode(), UI_RegisterMessageListNode(), UI_RegisterNullNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterPanelNode(), UI_RegisterSelectBoxNode(), UI_RegisterSpinnerNode(), UI_RegisterTabNode(), UI_RegisterTBarNode(), UI_RegisterText2Node(), UI_RegisterTextListNode(), UI_RegisterTextNode(), UI_RegisterTodoNode(), and UI_RegisterVScrollbarNode().
intptr_t uiBehaviour_s::extraDataSize |
Size of the extra data used (it come from "u" attribute)
Definition at line 146 of file ui_nodes.h.
Referenced by UI_AllocNodeWithoutNew(), UI_CloneNode(), UI_InitializeNodeBehaviour(), UI_RegisterAbstractBaseNode(), UI_RegisterAbstractOptionNode(), UI_RegisterAbstractScrollableNode(), UI_RegisterAbstractScrollbarNode(), UI_RegisterAbstractValueNode(), UI_RegisterBarNode(), UI_RegisterButtonNode(), UI_RegisterContainerNode(), UI_RegisterCustomButtonNode(), UI_RegisterEKGNode(), UI_RegisterImageNode(), UI_RegisterKeyBindingNode(), UI_RegisterLineChartNode(), UI_RegisterMapNode(), UI_RegisterModelNode(), UI_RegisterOptionNode(), UI_RegisterPanelNode(), UI_RegisterRadioButtonNode(), UI_RegisterRowsNode(), UI_RegisterSequenceNode(), UI_RegisterStringNode(), UI_RegisterTBarNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextNode(), UI_RegisterVideoNode(), UI_RegisterWindowNode(), and UI_RegisterZoneNode().
true if the node can win the focus (should be use when type TAB)
Definition at line 142 of file ui_nodes.h.
void(* uiBehaviour_s::focusGained)(uiNode_t *node) |
Referenced by UI_RegisterTextEntryNode(), and UI_RequestFocus().
void(* uiBehaviour_s::focusLost)(uiNode_t *node) |
Referenced by UI_RegisterTextEntryNode(), UI_RemoveFocus(), and UI_RequestFocus().
void(* uiBehaviour_s::getClientPosition)(uiNode_t *node, vec2_t position) |
Return the position of the client zone into the node
Referenced by UI_DrawNode(), UI_GetNodeInTreeAtPosition(), and UI_RegisterPanelNode().
void(* uiBehaviour_s::init)(uiNode_t *node) |
call every time we push the parent window
Referenced by UI_AbstractNodeInit(), UI_PushWindowDelete(), UI_RegisterAbstractNode(), UI_RegisterBaseInventoryNode(), UI_RegisterConFuncNode(), UI_RegisterMaterialEditorNode(), UI_RegisterSequenceNode(), UI_RegisterTabNode(), UI_RegisterVideoNode(), UI_RegisterWindowNode(), and UI_WindowNodeInit().
true, if we can't instantiate the behaviour
Definition at line 140 of file ui_nodes.h.
Referenced by UI_AllocNodeWithoutNew(), UI_RegisterAbstractBaseNode(), UI_RegisterAbstractNode(), UI_RegisterAbstractOptionNode(), UI_RegisterAbstractScrollableNode(), UI_RegisterAbstractScrollbarNode(), and UI_RegisterAbstractValueNode().
true, if the node is a function
Definition at line 139 of file ui_nodes.h.
Referenced by UI_ParseFunction(), UI_ParseNodeBody(), UI_RegisterConFuncNode(), UI_RegisterCvarFuncNode(), and UI_RegisterFuncNode().
cache if we already have initialized the node behaviour
Definition at line 141 of file ui_nodes.h.
Referenced by UI_InitializeNodeBehaviour().
true, if the node doesn't have any position on the screen
Definition at line 138 of file ui_nodes.h.
Referenced by UI_DrawNode(), UI_GetNodeAbsPos(), UI_GetNodeInTreeAtPosition(), UI_NodeAbsoluteToRelativePos(), UI_RegisterConFuncNode(), UI_RegisterCvarFuncNode(), UI_RegisterFuncNode(), UI_RegisterNullNode(), and UI_RegisterSpecialNode().
qboolean(* uiBehaviour_s::keyPressed)(uiNode_t *node, unsigned int key, unsigned short unicode) |
Referenced by UI_KeyPressed(), UI_RegisterKeyBindingNode(), and UI_RegisterTextEntryNode().
void(* uiBehaviour_s::leftClick)(uiNode_t *node, int x, int y) |
left mouse click event in the node
Referenced by UI_LeftClick(), UI_RegisterBaseMapNode(), UI_RegisterButtonNode(), UI_RegisterCheckBoxNode(), UI_RegisterKeyBindingNode(), UI_RegisterMapNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterRadioButtonNode(), UI_RegisterSelectBoxNode(), UI_RegisterTabNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextListNode(), and UI_RegisterTextNode().
void(* uiBehaviour_s::loaded)(uiNode_t *node) |
only called one time, when node parsing was finished
Referenced by UI_ParseNode(), UI_ParseWindow(), UI_RegisterAbstractBaseNode(), UI_RegisterAbstractValueNode(), UI_RegisterBaseInventoryNode(), UI_RegisterButtonNode(), UI_RegisterConFuncNode(), UI_RegisterContainerNode(), UI_RegisterFuncNode(), UI_RegisterImageNode(), UI_RegisterModelNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterPanelNode(), UI_RegisterRowsNode(), UI_RegisterSelectBoxNode(), UI_RegisterSpinnerNode(), UI_RegisterText2Node(), UI_RegisterTextNode(), UI_RegisterTodoNode(), UI_RegisterVScrollbarNode(), UI_RegisterWindowNode(), UI_RegisterZoneNode(), and UI_SpinnerNodeLoaded().
void(* uiBehaviour_s::loading)(uiNode_t *node) |
called before script initialization, initialized default values
Referenced by UI_AllocNodeWithoutNew(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterBaseLayoutNode(), UI_RegisterButtonNode(), UI_RegisterCheckBoxNode(), UI_RegisterContainerNode(), UI_RegisterEKGNode(), UI_RegisterKeyBindingNode(), UI_RegisterMapNode(), UI_RegisterModelNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterSelectBoxNode(), UI_RegisterStringNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextListNode(), UI_RegisterTextNode(), UI_RegisterTodoNode(), UI_RegisterVScrollbarNode(), UI_RegisterWindowNode(), and UI_RegisterZoneNode().
void(* uiBehaviour_s::middleClick)(uiNode_t *node, int x, int y) |
middle mouse button click event in the node
Referenced by UI_MiddleClick(), and UI_RegisterBaseMapNode().
void(* uiBehaviour_s::mouseDown)(uiNode_t *node, int x, int y, int button) |
mouse button down event in the node
Referenced by UI_MouseDown(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterContainerNode(), UI_RegisterControlsNode(), UI_RegisterEditorNode(), UI_RegisterMapNode(), UI_RegisterMaterialEditorNode(), UI_RegisterModelNode(), UI_RegisterRadarNode(), UI_RegisterSpinnerNode(), UI_RegisterVScrollbarNode(), and UI_RegisterZoneNode().
void(* uiBehaviour_s::mouseMove)(uiNode_t *node, int x, int y) |
Referenced by UI_MouseMove(), UI_RegisterText2Node(), UI_RegisterTextListNode(), and UI_RegisterTextNode().
void(* uiBehaviour_s::mouseUp)(uiNode_t *node, int x, int y, int button) |
mouse button up event in the node
Referenced by UI_MouseUp(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterContainerNode(), UI_RegisterControlsNode(), UI_RegisterEditorNode(), UI_RegisterMapNode(), UI_RegisterModelNode(), UI_RegisterRadarNode(), UI_RegisterSpinnerNode(), UI_RegisterVScrollbarNode(), and UI_RegisterZoneNode().
void(* uiBehaviour_s::mouseWheel)(uiNode_t *node, qboolean down, int x, int y) |
mouse wheel event in the node
Referenced by UI_MouseWheel(), UI_RegisterBaseInventoryNode(), UI_RegisterContainerNode(), UI_RegisterMapNode(), UI_RegisterMaterialEditorNode(), UI_RegisterMessageListNode(), UI_RegisterOptionListNode(), UI_RegisterOptionTreeNode(), UI_RegisterSpinnerNode(), UI_RegisterText2Node(), UI_RegisterTextListNode(), UI_RegisterTextNode(), and UI_RegisterVScrollbarNode().
const char* uiBehaviour_s::name |
name of the behaviour: string type of a node
Definition at line 136 of file ui_nodes.h.
Referenced by UI_CloneNode(), UI_DebugTree(), UI_EditorNodeExtractNode(), UI_GetStringFromExpression(), UI_InitializeNodeBehaviour(), UI_InitNodes(), UI_NodeInstanceOf(), UI_ParseNode(), UI_RegisterAbstractBaseNode(), UI_RegisterAbstractNode(), UI_RegisterAbstractOptionNode(), UI_RegisterAbstractScrollableNode(), UI_RegisterAbstractScrollbarNode(), UI_RegisterAbstractValueNode(), UI_RegisterBarNode(), UI_RegisterBaseInventoryNode(), UI_RegisterBaseLayoutNode(), UI_RegisterBaseMapNode(), UI_RegisterButtonNode(), UI_RegisterCheckBoxNode(), UI_RegisterConFuncNode(), UI_RegisterContainerNode(), UI_RegisterControlsNode(), UI_RegisterCustomButtonNode(), UI_RegisterCvarFuncNode(), UI_RegisterEditorNode(), UI_RegisterEKGNode(), UI_RegisterFuncNode(), UI_RegisterImageNode(), UI_RegisterItemNode(), UI_RegisterKeyBindingNode(), UI_RegisterLineChartNode(), UI_RegisterMapNode(), UI_RegisterMaterialEditorNode(), UI_RegisterMessageListNode(), UI_RegisterModelNode(), UI_RegisterNullNode(), UI_RegisterOptionListNode(), UI_RegisterOptionNode(), UI_RegisterOptionTreeNode(), UI_RegisterPanelNode(), UI_RegisterRadarNode(), UI_RegisterRadioButtonNode(), UI_RegisterRowsNode(), UI_RegisterSelectBoxNode(), UI_RegisterSequenceNode(), UI_RegisterSpecialNode(), UI_RegisterSpinnerNode(), UI_RegisterStringNode(), UI_RegisterTabNode(), UI_RegisterTBarNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextListNode(), UI_RegisterTextNode(), UI_RegisterTodoNode(), UI_RegisterVideoNode(), UI_RegisterVScrollbarNode(), UI_RegisterWindowNode(), and UI_RegisterZoneNode().
void(* uiBehaviour_s::new)(uiNode_t *node) |
call to initialize a dynamic node
Referenced by UI_AllocNode(), UI_CloneNode(), UI_RegisterAbstractValueNode(), and UI_RegisterModelNode().
const value_t* uiBehaviour_s::properties |
list of properties of the node
Definition at line 144 of file ui_nodes.h.
Referenced by UI_DeleteNode(), UI_GetPropertyFromBehaviour(), UI_InitializeNodeBehaviour(), UI_RegisterAbstractBaseNode(), UI_RegisterAbstractNode(), UI_RegisterAbstractOptionNode(), UI_RegisterAbstractScrollableNode(), UI_RegisterAbstractScrollbarNode(), UI_RegisterAbstractValueNode(), UI_RegisterBarNode(), UI_RegisterButtonNode(), UI_RegisterCheckBoxNode(), UI_RegisterContainerNode(), UI_RegisterCustomButtonNode(), UI_RegisterEditorNode(), UI_RegisterEKGNode(), UI_RegisterImageNode(), UI_RegisterItemNode(), UI_RegisterKeyBindingNode(), UI_RegisterLineChartNode(), UI_RegisterMapNode(), UI_RegisterModelNode(), UI_RegisterOptionNode(), UI_RegisterOptionTreeNode(), UI_RegisterPanelNode(), UI_RegisterRadioButtonNode(), UI_RegisterRowsNode(), UI_RegisterSequenceNode(), UI_RegisterSpinnerNode(), UI_RegisterStringNode(), UI_RegisterTBarNode(), UI_RegisterText2Node(), UI_RegisterTextEntryNode(), UI_RegisterTextNode(), UI_RegisterVideoNode(), UI_RegisterWindowNode(), and UI_RegisterZoneNode().
void(* uiBehaviour_s::propertyChanged)(uiNode_t *node, const value_t *property) |
Called when a property change
Referenced by UI_NodeSetProperty(), UI_NodeSetPropertyFromRAW(), UI_OptionPropertyChanged(), UI_PanelPropertyChanged(), UI_RegisterAbstractNode(), UI_RegisterOptionNode(), and UI_RegisterPanelNode().
number of the properties into the propertiesList. Cache value to speedup search
Definition at line 145 of file ui_nodes.h.
Referenced by UI_InitializeNodeBehaviour().
void(* uiBehaviour_s::rightClick)(uiNode_t *node, int x, int y) |
right mouse button click event in the node
Referenced by UI_RegisterBaseMapNode(), UI_RegisterText2Node(), UI_RegisterTextListNode(), UI_RegisterTextNode(), and UI_RightClick().
void(* uiBehaviour_s::sizeChanged)(uiNode_t *node) |
Called when the node size change
Referenced by UI_AbstractNodePropertyChanged(), UI_NodeSetSize(), and UI_RegisterAbstractNode().
struct uiBehaviour_s* uiBehaviour_s::super |
link to the extended node
Definition at line 147 of file ui_nodes.h.
Referenced by UI_AbstractValueClone(), UI_BarNodeCapturedMouseMove(), UI_BarNodeDraw(), UI_DeleteNode(), UI_GetPropertyFromBehaviour(), UI_InitializeNodeBehaviour(), UI_ModelNodeClone(), UI_NodeInstanceOf(), UI_NodeInstanceOfPointer(), UI_OptionPropertyChanged(), UI_PanelNodeDoLayout(), UI_PanelPropertyChanged(), UI_SpinnerNodeLoaded(), and UI_WindowNodeDoLayout().