gwenhywfar 4.0.3
|
00001 /*************************************************************************** 00002 begin : Fri Jan 22 2010 00003 copyright : (C) 2010 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * Please see toplevel file COPYING for license details * 00008 ***************************************************************************/ 00009 00010 #ifndef CPPDIALOG_HPP 00011 #define CPPDIALOG_HPP 00012 00013 #include <gwenhywfar/dialog_be.h> 00014 00015 #include <list> 00016 #include <string> 00017 00018 class CppDialog; 00019 00020 00030 class CppDialog { 00031 friend class CppDialogLinker; 00032 00033 private: 00034 GWEN_DIALOG_SETINTPROPERTY_FN _setIntPropertyFn; 00035 GWEN_DIALOG_GETINTPROPERTY_FN _getIntPropertyFn; 00036 GWEN_DIALOG_SETCHARPROPERTY_FN _setCharPropertyFn; 00037 GWEN_DIALOG_GETCHARPROPERTY_FN _getCharPropertyFn; 00038 00039 public: 00040 CppDialog(GWEN_DIALOG *dlg); 00041 virtual ~CppDialog(); 00042 00043 GWEN_DIALOG *getCInterface(); 00044 00045 static CppDialog *getDialog(GWEN_DIALOG *dlg); 00046 00047 protected: 00048 GWEN_DIALOG *_dialog; 00049 00050 CppDialog(); 00051 00052 int emitSignal(GWEN_DIALOG_EVENTTYPE t, const char *sender); 00053 00054 GWEN_WIDGET_TREE *getWidgets() const; 00055 00056 GWEN_WIDGET *findWidgetByName(const char *name); 00057 00058 GWEN_WIDGET *findWidgetByImplData(int index, void *ptr); 00059 00060 00061 virtual int setIntProperty(GWEN_WIDGET *w, 00062 GWEN_DIALOG_PROPERTY prop, 00063 int index, 00064 int value, 00065 int doSignal); 00066 00067 virtual int getIntProperty(GWEN_WIDGET *w, 00068 GWEN_DIALOG_PROPERTY prop, 00069 int index, 00070 int defaultValue); 00071 00072 virtual int setCharProperty(GWEN_WIDGET *w, 00073 GWEN_DIALOG_PROPERTY prop, 00074 int index, 00075 const char *value, 00076 int doSignal); 00077 00078 virtual const char *getCharProperty(GWEN_WIDGET *w, 00079 GWEN_DIALOG_PROPERTY prop, 00080 int index, 00081 const char *defaultValue); 00082 00083 }; 00084 00085 00086 00087 00088 #endif /* CPPDIALOG_HPP */ 00089 00090