00001 /* 00002 ClanGUI, copyrights by various people. Have a look in the CREDITS file. 00003 00004 This sourcecode is distributed using the Library GNU Public Licence, 00005 version 2 or (at your option) any later version. Please read LICENSE 00006 for details. 00007 */ 00008 00009 #include "../API/GUI/component_type.h" 00010 00011 class CL_ComponentType_Label : public CL_ComponentType 00012 { 00013 public: 00014 CL_ComponentType_Label() : CL_ComponentType(false) 00015 { 00016 options.insert("text"); 00017 options.insert("x"); 00018 options.insert("y"); 00019 options.insert("width"); 00020 options.insert("height"); 00021 options.insert("visible"); 00022 options.insert("enabled"); 00023 } 00024 }; 00025 00026 class CL_ComponentType_Button : public CL_ComponentType 00027 { 00028 public: 00029 CL_ComponentType_Button() : CL_ComponentType(false) 00030 { 00031 options.insert("text"); 00032 options.insert("x"); 00033 options.insert("y"); 00034 options.insert("width"); 00035 options.insert("height"); 00036 options.insert("visible"); 00037 options.insert("enabled"); 00038 options.insert("togglemode"); 00039 } 00040 }; 00041 00042 class CL_ComponentType_Frame : public CL_ComponentType 00043 { 00044 public: 00045 CL_ComponentType_Frame() : CL_ComponentType(true) 00046 { 00047 options.insert("x"); 00048 options.insert("y"); 00049 options.insert("width"); 00050 options.insert("height"); 00051 options.insert("visible"); 00052 options.insert("enabled"); 00053 options.insert("surface"); 00054 options.insert("mode"); 00055 } 00056 }; 00057 00058 class CL_ComponentType_Window : public CL_ComponentType 00059 { 00060 public: 00061 CL_ComponentType_Window() : CL_ComponentType(true) 00062 { 00063 options.insert("x"); 00064 options.insert("y"); 00065 options.insert("width"); 00066 options.insert("height"); 00067 options.insert("visible"); 00068 options.insert("enabled"); 00069 } 00070 }; 00071 00072 class CL_ComponentType_ComboBox : public CL_ComponentType 00073 { 00074 public: 00075 CL_ComponentType_ComboBox() : CL_ComponentType(false) 00076 { 00077 options.insert("x"); 00078 options.insert("y"); 00079 options.insert("width"); 00080 options.insert("height"); 00081 options.insert("visible"); 00082 options.insert("enabled"); 00083 options.insert("value"); 00084 } 00085 }; 00086 00087 class CL_ComponentType_Inputbox : public CL_ComponentType 00088 { 00089 public: 00090 CL_ComponentType_Inputbox() : CL_ComponentType(false) 00091 { 00092 options.insert("x"); 00093 options.insert("y"); 00094 options.insert("width"); 00095 options.insert("height"); 00096 options.insert("visible"); 00097 options.insert("enabled"); 00098 options.insert("passwordmode"); 00099 options.insert("readonly"); 00100 options.insert("maxlength"); 00101 } 00102 }; 00103 00104 class CL_ComponentType_Listbox : public CL_ComponentType 00105 { 00106 public: 00107 CL_ComponentType_Listbox() : CL_ComponentType(false) 00108 { 00109 options.insert("x"); 00110 options.insert("y"); 00111 options.insert("width"); 00112 options.insert("height"); 00113 options.insert("visible"); 00114 options.insert("enabled"); 00115 options.insert("item"); 00116 } 00117 }; 00118 00119 class CL_ComponentType_ScrollBar : public CL_ComponentType 00120 { 00121 public: 00122 CL_ComponentType_ScrollBar() : CL_ComponentType(false) 00123 { 00124 options.insert("x"); 00125 options.insert("y"); 00126 options.insert("width"); 00127 options.insert("height"); 00128 options.insert("visible"); 00129 options.insert("enabled"); 00130 options.insert("min"); 00131 options.insert("max"); 00132 options.insert("orientation"); 00133 options.insert("value"); 00134 } 00135 }; 00136 00137 class CL_ComponentType_ProgressBar : public CL_ComponentType 00138 { 00139 public: 00140 CL_ComponentType_ProgressBar() : CL_ComponentType(false) 00141 { 00142 options.insert("x"); 00143 options.insert("y"); 00144 options.insert("width"); 00145 options.insert("height"); 00146 options.insert("steps"); 00147 options.insert("enabled"); 00148 options.insert("value"); 00149 } 00150 }; 00151 00152 class CL_ComponentType_MenuBar : public CL_ComponentType 00153 { 00154 public: 00155 CL_ComponentType_MenuBar() : CL_ComponentType(true) 00156 { 00157 options.insert("x"); 00158 options.insert("y"); 00159 options.insert("width"); 00160 options.insert("height"); 00161 options.insert("visible"); 00162 options.insert("enabled"); 00163 } 00164 }; 00165 00166 class CL_ComponentType_PopupMenu : public CL_ComponentType 00167 { 00168 public: 00169 CL_ComponentType_PopupMenu() : CL_ComponentType(true) 00170 { 00171 options.insert("x"); 00172 options.insert("y"); 00173 options.insert("width"); 00174 options.insert("height"); 00175 options.insert("visible"); 00176 options.insert("enabled"); 00177 } 00178 }; 00179 00180 class CL_ComponentType_MenuItem : public CL_ComponentType 00181 { 00182 public: 00183 CL_ComponentType_MenuItem() : CL_ComponentType(true) 00184 { 00185 options.insert("text"); 00186 options.insert("separator"); 00187 options.insert("enabled"); 00188 options.insert("checked"); 00189 options.insert("surface"); 00190 } 00191 }; 00192 00193 class CL_ComponentType_CheckBox : public CL_ComponentType 00194 { 00195 public: 00196 CL_ComponentType_CheckBox() : CL_ComponentType(false) 00197 { 00198 options.insert("x"); 00199 options.insert("y"); 00200 options.insert("value"); 00201 options.insert("visible"); 00202 options.insert("enabled"); 00203 options.insert("text"); 00204 } 00205 }; 00206 class CL_ComponentType_Dialog : public CL_ComponentType 00207 { 00208 public: 00209 CL_ComponentType_Dialog() : CL_ComponentType(false) 00210 { 00211 options.insert("x"); 00212 options.insert("y"); 00213 options.insert("width"); 00214 options.insert("height"); 00215 } 00216 }; 00217 00218 class CL_ComponentType_FileDialog : public CL_ComponentType 00219 { 00220 public: 00221 CL_ComponentType_FileDialog() : CL_ComponentType(true) 00222 { 00223 options.insert("x"); 00224 options.insert("y"); 00225 options.insert("width"); 00226 options.insert("height"); 00227 options.insert("visible"); 00228 options.insert("enabled"); 00229 options.insert("surface"); 00230 options.insert("mode"); 00231 options.insert("okx"); 00232 options.insert("oky"); 00233 options.insert("okwidth"); 00234 options.insert("okheight"); 00235 options.insert("cancelx"); 00236 options.insert("cancely"); 00237 options.insert("cancelwidth"); 00238 options.insert("cancelheight"); 00239 } 00240 }; 00241 00242 // TODO: 00243 // Add missing component-types 00244
1.2.6 written by Dimitri van Heesch,
© 1997-2001