gwenhywfar 4.0.3

widget_be.h

Go to the documentation of this file.
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