00001 00005 /* 00006 Copyright (C) 2002-2010 UFO: Alien Invasion. 00007 00008 This program is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU General Public License 00010 as published by the Free Software Foundation; either version 2 00011 of the License, or (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 00017 See the GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 00023 */ 00024 00025 #ifndef CLIENT_UI_UI_NODE_OPTION_H 00026 #define CLIENT_UI_UI_NODE_OPTION_H 00027 00028 #include "../ui_nodes.h" 00029 00030 void UI_RegisterOptionNode(struct uiBehaviour_s *behaviour); 00031 00032 extern const struct uiBehaviour_s *ui_optionBehaviour; 00033 00034 #define OPTIONEXTRADATA_TYPE optionExtraData_t 00035 #define OPTIONEXTRADATA(node) UI_EXTRADATA(node, OPTIONEXTRADATA_TYPE) 00036 #define OPTIONEXTRADATACONST(node) UI_EXTRADATACONST(node, OPTIONEXTRADATA_TYPE) 00037 00039 typedef struct optionExtraData_s { 00040 char label[MAX_VAR]; 00041 char value[MAX_VAR]; 00043 struct uiIcon_s *icon; 00045 /* status */ 00046 qboolean collapsed; 00048 /* cache */ 00049 qboolean truncated; 00050 int childCount; 00051 qboolean hovered; 00053 } optionExtraData_t; 00054 00055 int UI_OptionUpdateCache(struct uiNode_s* option); 00056 00057 #endif