UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
uiOptionListNode Class Reference

#include <ui_node_optionlist.h>

Inherits uiAbstractOptionNode.

Public Member Functions

void draw (uiNode_t *node) override
 
void onLeftClick (uiNode_t *node, int x, int y) override
 Handles selectboxes clicks. More...
 
bool onScroll (uiNode_t *node, int deltaX, int deltaY) override
 Auto scroll the list. More...
 
void onMouseDown (uiNode_t *node, int x, int y, int button) override
 Track mouse down/up events to implement drag&drop-like scrolling, for touchscreen devices. More...
 
void onMouseUp (uiNode_t *node, int x, int y, int button) override
 
void onCapturedMouseMove (uiNode_t *node, int x, int y) override
 
void onLoading (uiNode_t *node) override
 Called before loading. Used to set default attribute values. More...
 
void onLoaded (uiNode_t *node) override
 
int getCellHeight (uiNode_t *node) override
 Return size of the cell, which is the size (in virtual "pixel") which represent 1 in the scroll values. Here we guess the widget can scroll pixel per pixel. More...
 
- Public Member Functions inherited from uiAbstractOptionNode
void initNode (uiNode_t *node) override
 
void doLayout (uiNode_t *node) override
 Call to update the node layout. This common code revalidates the node tree. More...
 
int getCellWidth (uiNode_t *node) override
 Return size of the cell, which is the size (in virtual "pixel") which represents 1 in the scroll values. Here expect the widget can scroll pixel per pixel. More...
 
- Public Member Functions inherited from uiLocatedNode
virtual void drawTooltip (const uiNode_t *node, int x, int y) const
 
virtual void drawOverWindow (uiNode_t *node)
 
virtual void onSizeChanged (uiNode_t *node)
 Callback stub. More...
 
virtual void onRightClick (uiNode_t *node, int x, int y)
 
virtual void onMiddleClick (uiNode_t *node, int x, int y)
 
virtual void onMouseMove (uiNode_t *node, int x, int y)
 
virtual bool onMouseLongPress (uiNode_t *node, int x, int y, int button)
 Send mouse event when a pressed mouse button is dragged. More...
 
virtual void onMouseEnter (uiNode_t *node)
 
virtual void onMouseLeave (uiNode_t *node)
 
virtual void onCapturedMouseLost (uiNode_t *node)
 
virtual bool onStartDragging (uiNode_t *node, int startX, int startY, int currentX, int currentY, int button)
 Send mouse event when a pressed mouse button is dragged. More...
 
virtual bool onDndEnter (uiNode_t *node)
 
virtual bool onDndMove (uiNode_t *node, int x, int y)
 
virtual void onDndLeave (uiNode_t *node)
 
virtual bool onDndDrop (uiNode_t *node, int x, int y)
 
virtual bool onDndFinished (uiNode_t *node, bool isDropped)
 
virtual void onFocusGained (uiNode_t *node)
 
virtual void onFocusLost (uiNode_t *node)
 
virtual bool onKeyPressed (uiNode_t *node, unsigned int key, unsigned short unicode)
 
virtual bool onKeyReleased (uiNode_t *node, unsigned int key, unsigned short unicode)
 
virtual void getClientPosition (uiNode_t const *node, vec2_t position)
 
- Public Member Functions inherited from uiNode
virtual void clone (uiNode_t const *source, uiNode_t *clone)
 
virtual void initNodeDynamic (uiNode_t *node)
 
virtual void deleteNode (uiNode_t *node)
 
virtual void onWindowOpened (uiNode_t *node, linkedList_t *params)
 
virtual void onWindowClosed (uiNode_t *node)
 
virtual void onWindowActivate (uiNode_t *node)
 
virtual void onActivate (uiNode_t *node)
 Activate the node. Can be used without the mouse (ie. a button will execute onClick) More...
 
virtual void onPropertyChanged (uiNode_t *node, const value_t *property)
 
virtual ~uiNode ()
 

Detailed Description

Definition at line 29 of file ui_node_optionlist.h.

Member Function Documentation

int uiOptionListNode::getCellHeight ( uiNode_t node)
overridevirtual

Return size of the cell, which is the size (in virtual "pixel") which represent 1 in the scroll values. Here we guess the widget can scroll pixel per pixel.

Returns
Size in pixel.

Reimplemented from uiAbstractOptionNode.

Definition at line 329 of file ui_node_optionlist.cpp.

References EXTRADATA, UI_FontGetHeight(), and UI_GetFontFromNode().

Referenced by onCapturedMouseMove().

void uiOptionListNode::onCapturedMouseMove ( uiNode_t node,
int  x,
int  y 
)
overridevirtual

Mouse move event in the node when captured

Reimplemented from uiLocatedNode.

Definition at line 301 of file ui_node_optionlist.cpp.

References EXTRADATA, getCellHeight(), mouseScrollX, mouseScrollY, uiLocatedNode::onMouseMove(), UI_ExecuteEventActions(), and UI_ExecuteLuaEventScript().

void uiOptionListNode::onLeftClick ( uiNode_t node,
int  x,
int  y 
)
overridevirtual
void uiOptionListNode::onLoaded ( uiNode_t node)
overridevirtual

only called one time, when node parsing was finished

Reimplemented from uiNode.

Definition at line 277 of file ui_node_optionlist.cpp.

void uiOptionListNode::onLoading ( uiNode_t node)
overridevirtual

Called before loading. Used to set default attribute values.

Reimplemented from uiNode.

Definition at line 269 of file ui_node_optionlist.cpp.

References uiNode_t::color, uiNode_t::disabledColor, EXTRADATA, uiNode_t::padding, and Vector4Set.

void uiOptionListNode::onMouseDown ( uiNode_t node,
int  x,
int  y,
int  button 
)
overridevirtual

Track mouse down/up events to implement drag&drop-like scrolling, for touchscreen devices.

See also
UI_OptionListNodeMouseUp, UI_OptionListNodeCapturedMouseMove

Reimplemented from uiLocatedNode.

Definition at line 285 of file ui_node_optionlist.cpp.

References EXTRADATA, K_MOUSE1, mouseScrollX, mouseScrollY, UI_GetMouseCapture(), and UI_SetMouseCapture().

void uiOptionListNode::onMouseUp ( uiNode_t node,
int  x,
int  y,
int  button 
)
overridevirtual

Mouse button up event in the node

Reimplemented from uiLocatedNode.

Definition at line 295 of file ui_node_optionlist.cpp.

References UI_GetMouseCapture(), and UI_MouseRelease().

bool uiOptionListNode::onScroll ( uiNode_t node,
int  deltaX,
int  deltaY 
)
overridevirtual

The documentation for this class was generated from the following files: