gwenhywfar
4.3.1
|
00001 /*************************************************************************** 00002 begin : Wed Jan 20 2010 00003 copyright : (C) 2010 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * * 00008 * This library is free software; you can redistribute it and/or * 00009 * modify it under the terms of the GNU Lesser General Public * 00010 * License as published by the Free Software Foundation; either * 00011 * version 2.1 of the License, or (at your option) any later version. * 00012 * * 00013 * This library 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. See the GNU * 00016 * Lesser General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU Lesser General Public * 00019 * License along with this library; if not, write to the Free Software * 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00021 * MA 02111-1307 USA * 00022 * * 00023 ***************************************************************************/ 00024 00025 00026 #ifndef GWENHYWFAR_GUI_WIDGET_BE_H 00027 #define GWENHYWFAR_GUI_WIDGET_BE_H 00028 00029 00030 #include <gwenhywfar/tree.h> 00031 #include <gwenhywfar/inherit.h> 00032 00033 00034 typedef struct GWEN_WIDGET GWEN_WIDGET; 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 00040 00041 GWEN_TREE_FUNCTION_LIB_DEFS(GWEN_WIDGET, GWEN_Widget, GWENHYWFAR_API) 00042 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_WIDGET, GWENHYWFAR_API) 00043 00044 00045 #define GWEN_WIDGET_TEXTCOUNT 4 00046 #define GWEN_WIDGET_IMPLDATACOUNT 4 00047 00048 00049 typedef enum { 00050 GWEN_Widget_TypeUnknown=-1, 00051 GWEN_Widget_TypeNone=0, 00052 GWEN_Widget_TypeLabel=1, 00053 GWEN_Widget_TypePushButton, 00054 GWEN_Widget_TypeLineEdit, 00055 GWEN_Widget_TypeTextEdit, 00056 GWEN_Widget_TypeComboBox, 00057 GWEN_Widget_TypeRadioButton, 00058 GWEN_Widget_TypeProgressBar, 00059 GWEN_Widget_TypeGroupBox, 00060 GWEN_Widget_TypeHSpacer, 00061 GWEN_Widget_TypeVSpacer, 00062 GWEN_Widget_TypeHLayout, 00063 GWEN_Widget_TypeVLayout, 00064 GWEN_Widget_TypeGridLayout, 00065 GWEN_Widget_TypeListBox, 00066 GWEN_Widget_TypeDialog, 00067 GWEN_Widget_TypeTabBook, 00068 GWEN_Widget_TypeTabPage, 00069 GWEN_Widget_TypeCheckBox, 00070 GWEN_Widget_TypeWidgetStack, 00071 GWEN_Widget_TypeScrollArea, 00072 GWEN_Widget_TypeHLine, 00073 GWEN_Widget_TypeVLine, 00074 GWEN_Widget_TypeTextBrowser, 00075 GWEN_Widget_TypeSpinBox 00076 } GWEN_WIDGET_TYPE; 00077 00078 00079 00080 #ifdef __cplusplus 00081 } 00082 #endif 00083 00084 00085 00086 /* other gwen headers */ 00087 #include <gwenhywfar/dialog.h> 00088 00089 00090 00091 #ifdef __cplusplus 00092 extern "C" { 00093 #endif 00094 00095 00096 typedef int GWENHYWFAR_CB (*GWEN_WIDGET_SETINTPROPERTY_FN)(GWEN_WIDGET *w, 00097 GWEN_DIALOG_PROPERTY prop, 00098 int index, 00099 int value, 00100 int doSignal); 00101 00102 typedef int GWENHYWFAR_CB (*GWEN_WIDGET_GETINTPROPERTY_FN)(GWEN_WIDGET *w, 00103 GWEN_DIALOG_PROPERTY prop, 00104 int index, 00105 int defaultValue); 00106 00107 typedef int GWENHYWFAR_CB (*GWEN_WIDGET_SETCHARPROPERTY_FN)(GWEN_WIDGET *w, 00108 GWEN_DIALOG_PROPERTY prop, 00109 int index, 00110 const char *value, 00111 int doSignal); 00112 00113 typedef const char* GWENHYWFAR_CB (*GWEN_WIDGET_GETCHARPROPERTY_FN)(GWEN_WIDGET *w, 00114 GWEN_DIALOG_PROPERTY prop, 00115 int index, 00116 const char *defaultValue); 00117 00118 typedef int GWENHYWFAR_CB (*GWEN_WIDGET_ADDCHILDGUIWIDGET_FN)(GWEN_WIDGET *w, GWEN_WIDGET *wChild); 00119 00120 00121 00122 GWENHYWFAR_API 00123 void *GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index); 00124 00159 GWENHYWFAR_API 00160 void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr); 00161 00162 00163 GWENHYWFAR_API 00164 GWEN_DIALOG *GWEN_Widget_GetDialog(const GWEN_WIDGET *w); 00165 00166 GWENHYWFAR_API 00167 GWEN_DIALOG *GWEN_Widget_GetTopDialog(const GWEN_WIDGET *w); 00168 00169 GWENHYWFAR_API 00170 const char *GWEN_Widget_GetName(const GWEN_WIDGET *w); 00171 00172 GWENHYWFAR_API 00173 void GWEN_Widget_SetName(GWEN_WIDGET *w, const char *s); 00174 00179 GWENHYWFAR_API 00180 uint32_t GWEN_Widget_GetFlags(const GWEN_WIDGET *w); 00181 00182 GWENHYWFAR_API 00183 void GWEN_Widget_SetFlags(GWEN_WIDGET *w, uint32_t fl); 00184 00185 GWENHYWFAR_API 00186 void GWEN_Widget_AddFlags(GWEN_WIDGET *w, uint32_t fl); 00187 00188 GWENHYWFAR_API 00189 void GWEN_Widget_SubFlags(GWEN_WIDGET *w, uint32_t fl); 00190 00194 GWENHYWFAR_API 00195 GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w); 00196 00197 GWENHYWFAR_API 00198 void GWEN_Widget_SetType(GWEN_WIDGET *w, GWEN_WIDGET_TYPE t); 00199 00200 GWENHYWFAR_API 00201 int GWEN_Widget_GetColumns(const GWEN_WIDGET *w); 00202 00203 GWENHYWFAR_API 00204 void GWEN_Widget_SetColumns(GWEN_WIDGET *w, int i); 00205 00206 GWENHYWFAR_API 00207 int GWEN_Widget_GetRows(const GWEN_WIDGET *w); 00208 00209 GWENHYWFAR_API 00210 void GWEN_Widget_SetRows(GWEN_WIDGET *w, int i); 00211 00212 00213 00214 GWENHYWFAR_API 00215 int GWEN_Widget_GetGroupId(const GWEN_WIDGET *w); 00216 00217 GWENHYWFAR_API 00218 void GWEN_Widget_SetGroupId(GWEN_WIDGET *w, int i); 00219 00220 00221 GWENHYWFAR_API 00222 int GWEN_Widget_GetWidth(const GWEN_WIDGET *w); 00223 00224 GWENHYWFAR_API 00225 void GWEN_Widget_SetWidth(GWEN_WIDGET *w, int i); 00226 00227 GWENHYWFAR_API 00228 int GWEN_Widget_GetHeight(const GWEN_WIDGET *w); 00229 00230 GWENHYWFAR_API 00231 void GWEN_Widget_SetHeight(GWEN_WIDGET *w, int i); 00232 00233 00234 GWENHYWFAR_API 00235 const char *GWEN_Widget_GetText(const GWEN_WIDGET *w, int idx); 00236 00237 GWENHYWFAR_API 00238 void GWEN_Widget_SetText(GWEN_WIDGET *w, int idx, const char *s); 00239 00240 00241 00242 GWENHYWFAR_API 00243 const char *GWEN_Widget_GetIconFileName(const GWEN_WIDGET *w); 00244 00245 GWENHYWFAR_API 00246 void GWEN_Widget_SetIconFileName(GWEN_WIDGET *w, const char *s); 00247 00248 00249 GWENHYWFAR_API 00250 const char *GWEN_Widget_GetImageFileName(const GWEN_WIDGET *w); 00251 00252 GWENHYWFAR_API 00253 void GWEN_Widget_SetImageFileName(GWEN_WIDGET *w, const char *s); 00254 00255 00256 00257 GWENHYWFAR_API 00258 GWEN_WIDGET_TYPE GWEN_Widget_Type_fromString(const char *s); 00259 00260 GWENHYWFAR_API 00261 const char *GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t); 00262 00263 GWENHYWFAR_API 00264 uint32_t GWEN_Widget_Flags_fromString(const char *s); 00265 00266 00271 GWENHYWFAR_API 00272 GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, 00273 GWEN_WIDGET_SETINTPROPERTY_FN fn); 00274 00279 GWENHYWFAR_API 00280 GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, 00281 GWEN_WIDGET_GETINTPROPERTY_FN fn); 00282 00287 GWENHYWFAR_API 00288 GWEN_WIDGET_SETCHARPROPERTY_FN GWEN_Widget_SetSetCharPropertyFn(GWEN_WIDGET *w, 00289 GWEN_WIDGET_SETCHARPROPERTY_FN fn); 00290 00295 GWENHYWFAR_API 00296 GWEN_WIDGET_GETCHARPROPERTY_FN GWEN_Widget_SetGetCharPropertyFn(GWEN_WIDGET *w, 00297 GWEN_WIDGET_GETCHARPROPERTY_FN fn); 00301 GWENHYWFAR_API 00302 GWEN_WIDGET_ADDCHILDGUIWIDGET_FN GWEN_Widget_SetAddChildGuiWidgetFn(GWEN_WIDGET *w, 00303 GWEN_WIDGET_ADDCHILDGUIWIDGET_FN fn); 00304 00305 00306 00307 00308 GWENHYWFAR_API 00309 int GWEN_Widget_SetIntProperty(GWEN_WIDGET *w, 00310 GWEN_DIALOG_PROPERTY prop, 00311 int index, 00312 int value, 00313 int doSignal); 00314 00315 GWENHYWFAR_API 00316 int GWEN_Widget_GetIntProperty(GWEN_WIDGET *w, 00317 GWEN_DIALOG_PROPERTY prop, 00318 int index, 00319 int defaultValue); 00320 00321 GWENHYWFAR_API 00322 int GWEN_Widget_SetCharProperty(GWEN_WIDGET *w, 00323 GWEN_DIALOG_PROPERTY prop, 00324 int index, 00325 const char *value, 00326 int doSignal); 00327 00328 GWENHYWFAR_API 00329 const char* GWEN_Widget_GetCharProperty(GWEN_WIDGET *w, 00330 GWEN_DIALOG_PROPERTY prop, 00331 int index, 00332 const char *defaultValue); 00333 00334 GWENHYWFAR_API 00335 int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild); 00336 00337 00338 #ifdef __cplusplus 00339 } 00340 #endif 00341 00342 00343 #endif