PARP Research Group University of Murcia, Spain


src/qvgui/qvparamwidget.h

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007, 2008, 2009. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00024 
00025 #ifndef QVPARAMWIDGET_H
00026 #define QVPARAMWIDGET_H
00027 
00028 #include <QWidget>
00029 #include <QToolButton>
00030 #include <QComboBox>
00031 #include <QLineEdit>
00032 
00033 #include <QVWorker>
00034 #include <QVIndexedStringList>
00035 
00036 class QLineEdit;
00037 class QSlider;
00038 class QwtSlider;
00039 class QCheckBox;
00040 class QLabel;
00041 
00042 #ifndef DOXYGEN_IGNORE_THIS
00043 
00051 class QVIntParamWidget: public QWidget
00052         {
00053         Q_OBJECT
00054         public:
00065                 QVIntParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00066 
00067         signals:
00070                 void valueChanged(int);
00071 
00072         private slots:
00073                 void setValue();
00074 
00075         private:
00076                 int value,min,max;
00077                 QVPropertyContainer *orig_holder,*gui_holder;
00078                 QString property, info;
00079                 QLineEdit *lineedit;
00080                 QSlider *slider;
00081         };
00082 
00090 class QVDoubleParamWidget: public QWidget
00091         {
00092         Q_OBJECT
00093         public:
00104                 QVDoubleParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00105 
00106         signals:
00109                 void valueChanged(double);
00110 
00111         private slots:
00112                 void setValue();
00113 
00114         private:
00115                 double value,min,max;
00116                 QVPropertyContainer *orig_holder,*gui_holder;
00117                 QString property, info;
00118                 QLineEdit *lineedit;
00119                 QwtSlider *qwtslider;
00120         };
00121 
00122 
00130 class QVBoolParamWidget: public QWidget
00131         {
00132                 Q_OBJECT
00133         public: 
00144                 QVBoolParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00145         
00146         signals:
00149                 void valueChanged(bool);
00150 
00151         private slots:
00152                 void setValue();
00153         
00154         private:
00155                 bool value;
00156                 QVPropertyContainer *orig_holder,*gui_holder;
00157                 QString property, info;
00158                 QCheckBox *checkbox;
00159         };
00160 
00168 class QVStringParamWidget: public QWidget
00169         {
00170         Q_OBJECT
00171         public:
00182                 QVStringParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00183 
00184         signals:
00187                 void valueChanged(QString);
00188 
00189         private slots:
00190                 void setValue();
00191 
00192         private:
00193                 QString value;
00194                 QVPropertyContainer *orig_holder,*gui_holder;
00195                 QString property, info;
00196                 QLineEdit *lineedit;
00197         };
00198 
00206 class QVStringListParamWidget: public QWidget
00207         {
00208         Q_OBJECT
00209         public:
00220                 QVStringListParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00221 
00222         signals:
00225                 void valueChanged(QVIndexedStringList);
00226 
00227         private slots:
00228                 void setValue();
00229 
00230         private:
00231                 QVIndexedStringList value;
00232                 QVPropertyContainer *orig_holder,*gui_holder;
00233                 QString property, info;
00234                 QComboBox *combobox;
00235         };
00236 
00237 
00245 class QVWorkerTriggerWidget: public QWidget
00246         {
00247         Q_OBJECT
00248 
00249         public:
00254                 QVWorkerTriggerWidget(QVWorker *worker, const QString triggername, QWidget *parent = 0);
00255 
00256         signals:
00259                 void valueChanged(QString);
00260 
00261         private slots:
00262                 void setValue();
00263 
00264         private:
00265                 QVWorker *worker;
00266                 QString triggername;
00267                 QToolButton *toolbutton;
00268         };
00269 
00270 #include <QColor>
00271 class QVColorParamWidget: public QWidget
00272         {
00273         Q_OBJECT
00274         public:
00285                 QVColorParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00286 
00287         signals:
00290                 void valueChanged(QColor);
00291 
00292         private slots:
00293                 void setValue();
00294 
00295         private:
00296                 QColor value;
00297                 QVPropertyContainer *orig_holder,*gui_holder;
00298                 QString property, info;
00299                 QLineEdit *lineeditR, *lineeditG, *lineeditB;
00300                 QSlider *sliderR, *sliderG, *sliderB;
00301         };
00302 
00303 #include <QSize>
00304 class QVSizeParamWidget: public QWidget
00305         {
00306         Q_OBJECT
00307         public:
00308                 QVSizeParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00309 
00310         signals:
00311                 void valueChanged(QSize);
00312 
00313         private slots:
00314                 void setValue();
00315 
00316         private:
00317                 QSize value;
00318                 //int value;
00319                 QVPropertyContainer *orig_holder,*gui_holder;
00320                 QString property;
00321                 QLineEdit *lineWidth, *lineHeight;
00322                 //QSlider *slider;
00323         };
00324 
00325 #include <QPoint>
00326 class QVPointParamWidget: public QWidget
00327         {
00328         Q_OBJECT
00329         public:
00330                 QVPointParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00331 
00332         signals:
00333                 void valueChanged(QPoint);
00334 
00335         private slots:
00336                 void setValue();
00337 
00338         private:
00339                 QPoint value;
00340                 //int value;
00341                 QVPropertyContainer *orig_holder,*gui_holder;
00342                 QString property;
00343                 QLineEdit *lineX, *lineY;
00344                 //QSlider *slider;
00345         };
00346 
00347 #include <ipp.h>
00348 class QVIppiMaskSizeParamWidget: public QWidget
00349         {
00350         Q_OBJECT
00351         public:
00362                 QVIppiMaskSizeParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00363 
00364         signals:
00367                 void valueChanged(IppiMaskSize);
00368 
00369         private slots:
00370                 void setValue();
00371 
00372         private:
00373                 IppiMaskSize value;
00374                 QVPropertyContainer *orig_holder,*gui_holder;
00375                 QString property;
00376                 QComboBox *combobox;
00377         };
00378 
00379 class QVIppCmpOpParamWidget: public QWidget
00380         {
00381         Q_OBJECT
00382         public:
00393                 QVIppCmpOpParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00394 
00395         signals:
00398                 void valueChanged(IppCmpOp);
00399 
00400         private slots:
00401                 void setValue();
00402 
00403         private:
00404                 IppCmpOp value;
00405                 QVPropertyContainer *orig_holder,*gui_holder;
00406                 QString property;
00407                 QComboBox *combobox;
00408         };
00409 
00410 
00411 class QVIppRoundModeParamWidget: public QWidget
00412         {
00413         Q_OBJECT
00414         public:
00425                 QVIppRoundModeParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00426 
00427         signals:
00430                 void valueChanged(IppRoundMode);
00431 
00432         private slots:
00433                 void setValue();
00434 
00435         private:
00436                 IppRoundMode value;
00437                 QVPropertyContainer *orig_holder,*gui_holder;
00438                 QString property;
00439                 QComboBox *combobox;
00440         };
00441 
00443 
00444 
00445 
00453 class QVOutputIntParamWidget: public QWidget
00454         {
00455         Q_OBJECT
00456         public:
00467                 QVOutputIntParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00468 
00469         private slots:
00470                 void update();
00471 
00472         private:
00473                 int value;
00474                 QVPropertyContainer *orig_holder,*gui_holder;
00475                 QString property, info;
00476                 QLabel *label;
00477         };
00478 
00486 class QVOutputDoubleParamWidget: public QWidget
00487         {
00488         Q_OBJECT
00489         public:
00500                 QVOutputDoubleParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00501 
00502         private slots:
00503                 void update();
00504 
00505         private:
00506                 double value;
00507                 QVPropertyContainer *orig_holder,*gui_holder;
00508                 QString property, info;
00509                 QLabel *label;
00510         };
00511 
00519 class QVOutputBoolParamWidget: public QWidget
00520         {
00521         Q_OBJECT
00522         public:
00533                 QVOutputBoolParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00534 
00535         private slots:
00536                 void update();
00537 
00538         private:
00539                 bool value;
00540                 QVPropertyContainer *orig_holder,*gui_holder;
00541                 QString property, info;
00542                 QLabel *label;
00543         };
00544 
00552 class QVOutputStringParamWidget: public QWidget
00553         {
00554         Q_OBJECT
00555         public:
00566                 QVOutputStringParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00567 
00568         private slots:
00569                 void update();
00570 
00571         private:
00572                 QString value;
00573                 QVPropertyContainer *orig_holder,*gui_holder;
00574                 QString property, info;
00575                 QLabel *label;
00576         };
00577 
00585 class QVOutputStringListParamWidget: public QWidget
00586         {
00587         Q_OBJECT
00588         public:
00599                 QVOutputStringListParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00600 
00601         private slots:
00602                 void update();
00603 
00604         private:
00605                 QVIndexedStringList value;
00606                 QVPropertyContainer *orig_holder,*gui_holder;
00607                 QString property, info;
00608                 QLabel *label;
00609         };
00610 
00618 class QVOutputColorParamWidget: public QWidget
00619         {
00620         Q_OBJECT
00621         public:
00632                 QVOutputColorParamWidget(QVPropertyContainer *orig_holder, QVPropertyContainer *gui_holder, const QString property, QWidget *parent = 0);
00633 
00634         private slots:
00635                 void update();
00636 
00637         private:
00638                 QColor value;
00639                 QVPropertyContainer *orig_holder,*gui_holder;
00640                 QString property, info;
00641                 QLabel *label;
00642         };
00643 
00644 #endif
00645 #endif
00646 



QVision framework. PARP research group, copyright 2007, 2008.