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

#include <ui_node_text2.h>

Inherits uiTextNode.

Protected Member Functions

void drawText (uiNode_t *node, const linkedList_t *list, bool noDraw)
 Handles linked list of text. Each element of the list must be a line of text without line break. A line break is between 2 element of the list. Text line is wrapped/truncated... according to a node property. More...
 
- Protected Member Functions inherited from uiTextNode
void drawText (uiNode_t *node, const char *text, const linkedList_t *list, bool noDraw)
 Handles line breaks and drawing for shared data id. More...
 

Private Member Functions

void draw (uiNode_t *node) override
 Draw a text node. More...
 
void onLeftClick (uiNode_t *node, int x, int y) override
 Calls the script command for a text node that is clickable. More...
 
void onRightClick (uiNode_t *node, int x, int y) override
 Calls the script command for a text node that is clickable via right mouse button. More...
 
void onMouseMove (uiNode_t *node, int x, int y) override
 
void onLoading (uiNode_t *node) override
 
void onLoaded (uiNode_t *node) override
 
void updateCache (uiNode_t *node) override
 

Additional Inherited Members

- Public Member Functions inherited from uiTextNode
bool onScroll (uiNode_t *node, int deltaX, int deltaY) override
 
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
 
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...
 
void validateCache (uiNode_t *node)
 
void doLayout (uiNode_t *node) override
 Call to update the node layout. This common code revalidates the node tree. More...
 
- Public Member Functions inherited from uiAbstractScrollableNode
void initNode (uiNode_t *node) override
 
bool isSizeChange (uiNode_t *node)
 return true if the node size change and update the cache More...
 
bool scrollY (uiNode_t *node, int offset)
 Scroll the Y scroll with a relative position, and call event if need. More...
 
bool setScrollY (uiNode_t *node, int viewPos, int viewSize, int fullSize)
 Set the Y scroll to a position, and call event if need. More...
 
void pageUp (uiNode_t *node)
 
void pageDown (uiNode_t *node)
 
void moveUp (uiNode_t *node)
 
void moveDown (uiNode_t *node)
 
void moveHome (uiNode_t *node)
 
void moveEnd (uiNode_t *node)
 
- 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 onMiddleClick (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)
 
virtual int getCellWidth (uiNode_t *node)
 
- 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 30 of file ui_node_text2.h.

Member Function Documentation

void uiText2Node::drawText ( uiNode_t node,
const linkedList_t list,
bool  noDraw 
)
protected

Handles linked list of text. Each element of the list must be a line of text without line break. A line break is between 2 element of the list. Text line is wrapped/truncated... according to a node property.

Parameters
[in]nodeThe context node
[in]listThe test to draw else nullptr
[in]noDrawIf true, calling of this function only update the cache (real number of lines)

Definition at line 146 of file ui_node_text2.cpp.

References uiNode_t::box, uiNode_t::color, Com_sprintf(), uiNode_t::contentAlign, linkedList_t::data, EXTRADATA, uiAbstractScrollableNode::isSizeChange(), MAX_VAR, linkedList_t::next, uiNode_t::padding, R_Color(), R_FontTextSize(), uiAbstractScrollableNode::setScrollY(), uiBox_t::size, UI_DrawString(), UI_FontGetHeight(), UI_GetFontFromNode(), and UI_GetNodeAbsPos().

Referenced by draw(), and updateCache().

void uiText2Node::onLeftClick ( uiNode_t node,
int  x,
int  y 
)
overrideprivatevirtual

Calls the script command for a text node that is clickable.

See also
UI_TextNodeRightClick

Reimplemented from uiTextNode.

Definition at line 289 of file ui_node_text2.cpp.

References EXTRADATA, uiNode_t::lua_onClick, uiNode_t::onClick, UI_ExecuteEventActions(), UI_ExecuteLuaEventScript_XY(), UI_TextNodeGetLine(), and UI_TextNodeSelectLine().

void uiText2Node::onLoaded ( uiNode_t node)
overrideprivatevirtual

only called one time, when node parsing was finished

Reimplemented from uiTextNode.

Definition at line 331 of file ui_node_text2.cpp.

References uiNode_t::box, Com_Error(), Com_Printf(), ERR_DROP, EXTRADATA, uiBox_t::size, uiNode_t::text, TEXT_NULL, UI_FontGetHeight(), UI_GetFontFromNode(), UI_GetPath(), and UI_MAX_DATAID.

void uiText2Node::onLoading ( uiNode_t node)
overrideprivatevirtual

Called before script initialization, initialized default values

< Invalid/no line selected per default.

< Invalid/no line selected per default.

Reimplemented from uiTextNode.

Definition at line 323 of file ui_node_text2.cpp.

References uiNode_t::color, EXTRADATA, uiNode_t::selectedColor, and Vector4Set.

void uiText2Node::onMouseMove ( uiNode_t node,
int  x,
int  y 
)
overrideprivatevirtual

Mouse move event in the node

Reimplemented from uiTextNode.

Definition at line 133 of file ui_node_text2.cpp.

References EXTRADATA, and UI_TextNodeGetLine().

void uiText2Node::onRightClick ( uiNode_t node,
int  x,
int  y 
)
overrideprivatevirtual

Calls the script command for a text node that is clickable via right mouse button.

See also
UI_TextNodeClick

Reimplemented from uiTextNode.

Definition at line 310 of file ui_node_text2.cpp.

References EXTRADATA, uiNode_t::onRightClick, UI_ExecuteEventActions(), UI_TextNodeGetLine(), and UI_TextNodeSelectLine().


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