UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
ui_node_option.h
Go to the documentation of this file.
1
4
5
/*
6
Copyright (C) 2002-2025 UFO: Alien Invasion.
7
8
This program is free software; you can redistribute it and/or
9
modify it under the terms of the GNU General Public License
10
as published by the Free Software Foundation; either version 2
11
of the License, or (at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17
See the GNU General Public License for more details.
18
19
You should have received a copy of the GNU General Public License
20
along with this program; if not, write to the Free Software
21
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23
*/
24
25
#pragma once
26
27
#include "
../ui_nodes.h
"
28
#include "
ui_node_abstractnode.h
"
29
30
class
uiOptionNode
:
public
uiLocatedNode
{
31
void
onPropertyChanged
(
uiNode_t
* node,
const
value_t
* property)
override
;
32
void
doLayout
(
uiNode_t
* node)
override
;
33
};
34
35
void
UI_RegisterOptionNode
(
uiBehaviour_t
* behaviour);
36
37
extern
const
uiBehaviour_t
*
ui_optionBehaviour
;
38
39
#define OPTIONEXTRADATA_TYPE optionExtraData_t
40
#define OPTIONEXTRADATA(node) UI_EXTRADATA(node, OPTIONEXTRADATA_TYPE)
41
#define OPTIONEXTRADATACONST(node) UI_EXTRADATACONST(node, OPTIONEXTRADATA_TYPE)
42
44
typedef
struct
optionExtraData_s {
45
char
label
[
MAX_VAR
];
46
char
value
[
MAX_VAR
];
47
48
uiSprite_t
*
icon
;
49
bool
flipIcon
;
50
51
/* status */
52
bool
collapsed
;
53
54
/* cache */
55
bool
truncated
;
56
int
childCount
;
57
bool
hovered
;
58
59
}
optionExtraData_t
;
60
61
int
UI_OptionUpdateCache
(
uiNode_t
* option);
62
uiNode_t
*
UI_AllocOptionNode
(
const
char
*
name
,
const
char
* label,
const
char
* value);
63
64
void
UI_Option_SetLabel
(
uiNode_t
* node,
const
char
* text);
65
void
UI_Option_SetValue
(
uiNode_t
* node,
const
char
* text);
66
void
UI_Option_SetIconByName
(
uiNode_t
* node,
const
char
*
name
);
67
uiLocatedNode
Definition
ui_node_abstractnode.h:68
uiOptionNode
Definition
ui_node_option.h:30
uiOptionNode::doLayout
void doLayout(uiNode_t *node) override
Call to update the node layout. This common code revalidates the node tree.
Definition
ui_node_option.cpp:78
uiOptionNode::onPropertyChanged
void onPropertyChanged(uiNode_t *node, const value_t *property) override
Definition
ui_node_option.cpp:97
name
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
Definition
r_gl.h:110
MAX_VAR
#define MAX_VAR
Definition
shared.h:36
optionExtraData_t
Option definition.
Definition
ui_node_option.h:44
optionExtraData_t::childCount
int childCount
Definition
ui_node_option.h:56
optionExtraData_t::collapsed
bool collapsed
Definition
ui_node_option.h:52
optionExtraData_t::truncated
bool truncated
Definition
ui_node_option.h:55
optionExtraData_t::icon
uiSprite_t * icon
Definition
ui_node_option.h:48
optionExtraData_t::hovered
bool hovered
Definition
ui_node_option.h:57
optionExtraData_t::value
char value[MAX_VAR]
Definition
ui_node_option.h:46
optionExtraData_t::label
char label[MAX_VAR]
Definition
ui_node_option.h:45
optionExtraData_t::flipIcon
bool flipIcon
Definition
ui_node_option.h:49
uiBehaviour_t
node behaviour, how a node work
Definition
ui_behaviour.h:39
uiNode_t
Atomic structure used to define most of the UI.
Definition
ui_nodes.h:80
uiSprite_t
Definition
ui_sprite.h:41
value_t
Definition
scripts.h:167
ui_node_abstractnode.h
ui_optionBehaviour
const uiBehaviour_t * ui_optionBehaviour
Definition
ui_node_option.cpp:39
UI_AllocOptionNode
uiNode_t * UI_AllocOptionNode(const char *name, const char *label, const char *value)
Initializes an option with a very little set of values.
Definition
ui_node_option.cpp:126
UI_OptionUpdateCache
int UI_OptionUpdateCache(uiNode_t *option)
update option cache about child, according to collapse and visible status
Definition
ui_node_option.cpp:53
UI_Option_SetIconByName
void UI_Option_SetIconByName(uiNode_t *node, const char *name)
Definition
ui_node_option.cpp:142
UI_Option_SetLabel
void UI_Option_SetLabel(uiNode_t *node, const char *text)
Definition
ui_node_option.cpp:134
UI_RegisterOptionNode
void UI_RegisterOptionNode(uiBehaviour_t *behaviour)
Definition
ui_node_option.cpp:147
UI_Option_SetValue
void UI_Option_SetValue(uiNode_t *node, const char *text)
Definition
ui_node_option.cpp:138
ui_nodes.h
src
client
ui
node
ui_node_option.h
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0