UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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"

Go to the source code of this file.

Macros

#define EXTRADATA_TYPE   abstractOptionExtraData_t
 
#define EXTRADATA(node)   UI_EXTRADATA(node, EXTRADATA_TYPE)
 
#define EXTRADATACONST(node)   UI_EXTRADATACONST(node, EXTRADATA_TYPE)
 

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

#define EXTRADATA (   node)    UI_EXTRADATA(node, EXTRADATA_TYPE)

Definition at line 46 of file ui_node_tab.cpp.

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

#define EXTRADATA_TYPE   abstractOptionExtraData_t

Definition at line 45 of file ui_node_tab.cpp.

#define EXTRADATACONST (   node)    UI_EXTRADATACONST(node, EXTRADATA_TYPE)

Definition at line 47 of file ui_node_tab.cpp.

Referenced by UI_TabNodeTabAtPosition().

Enumeration Type Documentation

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

static 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

const int TILE_HEIGHT = 36
static

Definition at line 58 of file ui_node_tab.cpp.

Referenced by uiTabNode::draw().

const int TILE_WIDTH = 33
static

Definition at line 57 of file ui_node_tab.cpp.

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