UFO: Alien Invasion
Loading...
Searching...
No Matches
ui_node_tab.cpp File Reference
#include "../ui_main.h"
#include "../ui_behaviour.h"
#include "../ui_parse.h"
#include "../ui_actions.h"
#include "../ui_font.h"
#include "../ui_input.h"
#include "../ui_sound.h"
#include "../ui_sprite.h"
#include "../ui_render.h"
#include "../ui_tooltip.h"
#include "ui_node_tab.h"
#include "ui_node_abstractnode.h"
#include "ui_node_abstractoption.h"
#include "../../cl_language.h"
#include "../../input/cl_input.h"
#include "../../../common/scripts_lua.h"
Include dependency graph for ui_node_tab.cpp:

Go to the source code of this file.

Macros

#define EXTRADATA_TYPE   abstractOptionExtraData_t
#define EXTRADATA(node)
#define EXTRADATACONST(node)

Enumerations

enum  ui_tabStatus_t {
  UI_TAB_NOTHING = 0 , UI_TAB_NORMAL = 1 , UI_TAB_SELECTED = 2 , UI_TAB_HIGHLIGHTED = 3 ,
  UI_TAB_DISABLED = 4
}

Functions

static uiNode_tUI_TabNodeTabAtPosition (const uiNode_t *node, int x, int y)
 Return a tab located at a screen position.
void UI_RegisterTabNode (uiBehaviour_t *behaviour)

Variables

static const int TILE_WIDTH = 33
static const int TILE_HEIGHT = 36

Detailed Description

Todo
auto tooltip for chopped options

Definition in file ui_node_tab.cpp.

Macro Definition Documentation

◆ EXTRADATA

#define EXTRADATA ( node)
Value:
#define EXTRADATA_TYPE
#define UI_EXTRADATA(NODE, TYPE)
Definition ui_nodes.h:185

Definition at line 46 of file ui_node_tab.cpp.

◆ EXTRADATA_TYPE

#define EXTRADATA_TYPE   abstractOptionExtraData_t

Definition at line 45 of file ui_node_tab.cpp.

◆ EXTRADATACONST

#define EXTRADATACONST ( node)
Value:
#define UI_EXTRADATACONST(NODE, TYPE)
Definition ui_nodes.h:187

Definition at line 47 of file ui_node_tab.cpp.

Referenced by UI_TabNodeTabAtPosition().

Enumeration Type Documentation

◆ ui_tabStatus_t

Enumerator
UI_TAB_NOTHING 
UI_TAB_NORMAL 
UI_TAB_SELECTED 
UI_TAB_HIGHLIGHTED 
UI_TAB_DISABLED 

Definition at line 49 of file ui_node_tab.cpp.

Function Documentation

◆ UI_RegisterTabNode()

◆ UI_TabNodeTabAtPosition()

uiNode_t * UI_TabNodeTabAtPosition ( const uiNode_t * node,
int x,
int y )
static

Return a tab located at a screen position.

Parameters
[in]nodeA tab node
[in]x,yThe position of the screen to test
Returns
A uiNode_t, or nullptr if nothing.
Todo

improve test when we are on a junction

improve test when we are on a chopped tab

Todo
this doesn't work when an option is hidden

Definition at line 68 of file ui_node_tab.cpp.

References uiNode_t::box, CL_Translate(), EXTRADATACONST, uiNode_t::firstChild, LONGLINES_PRETTYCHOP, uiNode_t::next, OPTIONEXTRADATA, R_FontTextSize(), uiBox_t::size, TILE_WIDTH, UI_GetFontFromNode(), UI_NodeAbsoluteToRelativePos(), and ui_optionBehaviour.

Referenced by uiTabNode::draw(), uiTabNode::drawTooltip(), and uiTabNode::onLeftClick().

Variable Documentation

◆ TILE_HEIGHT

const int TILE_HEIGHT = 36
static

Definition at line 58 of file ui_node_tab.cpp.

Referenced by uiTabNode::draw(), and uiVScrollbarNode::draw().

◆ TILE_WIDTH

const int TILE_WIDTH = 33
static