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

#include <ui_node_messagelist.h>

Inherits uiAbstractScrollableNode.

Private Member Functions

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

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 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 doLayout (uiNode_t *node)
 Call to update the node layout. This common code revalidates the node tree. More...
 
virtual void onSizeChanged (uiNode_t *node)
 Callback stub. More...
 
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. 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 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) More...
 
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

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 153 of file ui_node_messagelist.cpp.

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

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 301 of file ui_node_messagelist.cpp.

References LINEHEIGHT.

Referenced by 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 282 of file ui_node_messagelist.cpp.

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

void uiMessageListNode::onLoading ( uiNode_t node)
overrideprivatevirtual

Called before script initialization, initialized default values

Reimplemented from uiNode.

Definition at line 257 of file ui_node_messagelist.cpp.

References uiNode_t::color, and Vector4Set.

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 266 of file ui_node_messagelist.cpp.

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

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 276 of file ui_node_messagelist.cpp.

References UI_GetMouseCapture(), and UI_MouseRelease().

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

Mouse wheel event in the node

Reimplemented from uiLocatedNode.

Definition at line 234 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: