UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ui_node_special.h
Go to the documentation of this file.
1 
5 /*
6 Copyright (C) 2002-2020 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 
29 class uiConFuncNode : public uiNode {
30  void onLoaded(uiNode_t* node) override;
31  void onWindowOpened(uiNode_t* node, linkedList_t* params) override;
32  void onWindowClosed(uiNode_t* node) override;
33  void clone(uiNode_t const* source, uiNode_t* clone) override;
34  void deleteNode(uiNode_t* node) override;
35 };
36 
37 class uiFuncNode : public uiNode {
38  void onLoaded(uiNode_t* node);
39 };
40 
41 class uiCvarNode : public uiNode {
42  void onWindowOpened(uiNode_t* node, linkedList_t* params);
43  void onWindowClosed(uiNode_t* node);
44  void clone(uiNode_t const* source, uiNode_t* clone);
45  void deleteNode(uiNode_t* node);
46 };
47 
48 void UI_RegisterConFuncNode(uiBehaviour_t* behaviour);
49 void UI_RegisterCvarFuncNode(uiBehaviour_t* behaviour);
50 void UI_RegisterFuncNode(uiBehaviour_t* behaviour);
51 void UI_RegisterNullNode(uiBehaviour_t* behaviour);
void UI_RegisterConFuncNode(uiBehaviour_t *behaviour)
void onLoaded(uiNode_t *node) override
Call after the script initialized the node.
void deleteNode(uiNode_t *node)
void onLoaded(uiNode_t *node)
Call after the script initialized the node.
void UI_RegisterCvarFuncNode(uiBehaviour_t *behaviour)
void UI_RegisterFuncNode(uiBehaviour_t *behaviour)
Atomic structure used to define most of the UI.
Definition: ui_nodes.h:80
void onWindowOpened(uiNode_t *node, linkedList_t *params) override
Callback every time the parent window is opened (pushed into the active window stack) ...
void deleteNode(uiNode_t *node) override
Cleanup tasks on removing a console function.
void onWindowClosed(uiNode_t *node)
Callback every time the parent window is closed (pop from the active window stack) ...
void UI_RegisterNullNode(uiBehaviour_t *behaviour)
node behaviour, how a node work
Definition: ui_behaviour.h:39
void clone(uiNode_t const *source, uiNode_t *clone) override
void onWindowClosed(uiNode_t *node) override
Callback every time the parent window is closed (pop from the active window stack) ...
void clone(uiNode_t const *source, uiNode_t *clone)
void onWindowOpened(uiNode_t *node, linkedList_t *params)