00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
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
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