UFO: Alien Invasion
Loading...
Searching...
No Matches
uiMessageListNode Class Reference

#include <ui_node_messagelist.h>

Inheritance diagram for uiMessageListNode:
Inheritance graph
Collaboration diagram for uiMessageListNode:
Collaboration graph

Private Member Functions

void draw (uiNode_t *node) override
 Draws the messagesystem node.
void onLoading (uiNode_t *node) override
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.
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.

Additional Inherited Members

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
bool scrollY (uiNode_t *node, int offset)
 Scroll the Y scroll with a relative position, and call event if need.
bool setScrollY (uiNode_t *node, int viewPos, int viewSize, int fullSize)
 Set the Y scroll to a position, and call event if need.
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 doLayout (uiNode_t *node)
 Call to update the node layout. This common code revalidates the node tree.
virtual void onSizeChanged (uiNode_t *node)
 Callback stub.
virtual void onLeftClick (uiNode_t *node, int x, int y)
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.
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.
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 onLoaded (uiNode_t *node)
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).
virtual void onPropertyChanged (uiNode_t *node, const value_t *property)
virtual ~uiNode ()

Detailed Description

Definition at line 29 of file ui_node_messagelist.h.

Member Function Documentation

◆ draw()

void uiMessageListNode::draw ( uiNode_t * node)
overrideprivatevirtual

Draws the messagesystem node.

Parameters
[in]nodeThe context node

< if newer messages are on top, autoscroll is not need

Note
posY can be negative (if we must display last line of the first message)

Reimplemented from uiLocatedNode.

Definition at line 154 of file ui_node_messagelist.cpp.

References uiNode_t::box, EXTRADATA, uiAbstractScrollableNode::isSizeChange(), lastDate, LINEHEIGHT, uiMessageListNodeMessage_t::lineUsed, messageStack, uiMessageListNodeMessage_t::next, uiNode_t::padding, uiAbstractScrollableNode::scrollY(), uiAbstractScrollableNode::setScrollY(), uiBox_t::size, UI_GetFontFromNode(), UI_GetNodeAbsPos(), UI_MessageDraw(), and UI_MessageGetLines().

◆ getCellHeight()

int uiMessageListNode::getCellHeight ( uiNode_t * node)
overrideprivatevirtual

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 uiLocatedNode.

Definition at line 302 of file ui_node_messagelist.cpp.

References LINEHEIGHT.

Referenced by onCapturedMouseMove().

◆ onCapturedMouseMove()

void uiMessageListNode::onCapturedMouseMove ( uiNode_t * node,
int x,
int y )
overrideprivatevirtual

Mouse move event in the node when captured

Reimplemented from uiLocatedNode.

Definition at line 283 of file ui_node_messagelist.cpp.

References getCellHeight(), mouseScrollX, mouseScrollY, uiLocatedNode::onMouseMove(), and uiAbstractScrollableNode::scrollY().

◆ onLoading()

void uiMessageListNode::onLoading ( uiNode_t * node)
overrideprivatevirtual

Called before script initialization, initialized default values

Reimplemented from uiNode.

Definition at line 258 of file ui_node_messagelist.cpp.

References uiNode_t::color, and Vector4Set.

◆ onMouseDown()

void uiMessageListNode::onMouseDown ( uiNode_t * node,
int x,
int y,
int button )
overrideprivatevirtual

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

See also
UI_TextNodeMouseUp, UI_TextNodeCapturedMouseMove

Reimplemented from uiLocatedNode.

Definition at line 267 of file ui_node_messagelist.cpp.

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

◆ onMouseUp()

void uiMessageListNode::onMouseUp ( uiNode_t * node,
int x,
int y,
int button )
overrideprivatevirtual

Mouse button up event in the node

Reimplemented from uiLocatedNode.

Definition at line 277 of file ui_node_messagelist.cpp.

References UI_GetMouseCapture(), and UI_MouseRelease().

◆ onScroll()

bool uiMessageListNode::onScroll ( uiNode_t * node,
int deltaX,
int deltaY )
overrideprivatevirtual

Mouse wheel event in the node

Reimplemented from uiLocatedNode.

Definition at line 235 of file ui_node_messagelist.cpp.

References down, uiNode_t::onWheel, uiNode_t::onWheelDown, uiNode_t::onWheelUp, uiAbstractScrollableNode::scrollY(), and UI_ExecuteEventActions().


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