fox16/cppdialog.hpp

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