gwenhywfar 4.0.3

w_spinbox.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin       : Mon Feb 15 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 
00011 #include <gwen-gui-cpp/cppwidget.hpp>
00012 
00013 
00014 class Qt4_W_SpinBox: public Qt4_W_Widget {
00015 public:
00016   Qt4_W_SpinBox(GWEN_WIDGET *w):Qt4_W_Widget(w) {
00017   }
00018 
00019 
00020 
00021   ~Qt4_W_SpinBox() {
00022   }
00023 
00024 
00025 
00026   virtual int setup() {
00027     QSpinBox *qw;
00028     uint32_t flags;
00029     GWEN_WIDGET *wParent;
00030     QSizePolicy::Policy hpolicy=QSizePolicy::Minimum;
00031     QSizePolicy::Policy vpolicy=QSizePolicy::Minimum;
00032     QT4_GuiDialog *qtDialog;
00033 
00034     flags=GWEN_Widget_GetFlags(_widget);
00035     wParent=GWEN_Widget_Tree_GetParent(_widget);
00036 
00037     qw=new QSpinBox();
00038 
00039     /* handle flags */
00040     if (flags & GWEN_WIDGET_FLAGS_FILLX)
00041       hpolicy=QSizePolicy::Expanding;
00042     if (flags & GWEN_WIDGET_FLAGS_FILLY)
00043       vpolicy=QSizePolicy::Expanding;
00044     qw->setSizePolicy(hpolicy, vpolicy);
00045 
00046     GWEN_Widget_SetImplData(_widget, QT4_DIALOG_WIDGET_REAL, (void*) qw);
00047 
00048     qtDialog=dynamic_cast<QT4_GuiDialog*>(getDialog());
00049     assert(qtDialog);
00050 
00051     qw->connect(qw, SIGNAL(valueChanged(int)),
00052                 qtDialog->getMainWindow(),
00053                 SLOT(slotValueChanged()));
00054 
00055 
00056     if (wParent)
00057       GWEN_Widget_AddChildGuiWidget(wParent, _widget);
00058     return 0;
00059   }
00060 
00061 
00062 
00063   int setIntProperty(GWEN_DIALOG_PROPERTY prop,
00064                      int index,
00065                      int value,
00066                      int doSignal) {
00067     QSpinBox *qw;
00068 
00069     qw=(QSpinBox*) GWEN_Widget_GetImplData(_widget, QT4_DIALOG_WIDGET_REAL);
00070     assert(qw);
00071 
00072     switch(prop) {
00073     case GWEN_DialogProperty_Value:
00074       qw->setValue(value);
00075       return 0;
00076 
00077     case GWEN_DialogProperty_MinValue:
00078       qw->setMinimum(value);
00079       return 0;
00080 
00081     case GWEN_DialogProperty_MaxValue:
00082       qw->setMaximum(value);
00083       return 0;
00084 
00085     default:
00086       return Qt4_W_Widget::setIntProperty(prop, index, value, doSignal);
00087     }
00088   };
00089 
00090 
00091 
00092   int getIntProperty(GWEN_DIALOG_PROPERTY prop,
00093                      int index,
00094                      int defaultValue) {
00095     QSpinBox *qw;
00096 
00097     qw=(QSpinBox*) GWEN_Widget_GetImplData(_widget, QT4_DIALOG_WIDGET_REAL);
00098     assert(qw);
00099 
00100     switch(prop) {
00101     case GWEN_DialogProperty_Value:
00102       return qw->value();
00103 
00104     case GWEN_DialogProperty_MinValue:
00105       return qw->minimum();
00106 
00107     case GWEN_DialogProperty_MaxValue:
00108       return qw->maximum();
00109 
00110     default:
00111       return Qt4_W_Widget::getIntProperty(prop, index, defaultValue);
00112     }
00113   };
00114 
00115 
00116 };
00117 
00118 
00119 
00120 
00121 
00122 
00123