src/qvgui/qvdefaultgui.h

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007, 2008. 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 QVDEFAULTGUI_H
00026 #define QVDEFAULTGUI_H
00027 
00028 #include <QWidget>
00029 #include <QMap>
00030 #include <QCloseEvent>
00031 #include <QVGUI>
00032 
00033 #include <QToolBox>
00034 #include <QHBoxLayout>
00035 #include <QVBoxLayout>
00036 #include <QGroupBox>
00037 
00039 #include <QVImageCanvas>
00040 #include <QVCamera>
00041 #include <QVWorker>
00042 #include <qvgui/qvplot.h>
00043 
00044 class QVImageCanvas;
00045 
00129 class QVDefaultGUI: public QWidget, QVGUI
00130 {
00131         Q_OBJECT
00132 public:
00133         //Ui::QVisionForm form;
00134 
00138         QVDefaultGUI(QWidget *parent = 0);
00139         ~QVDefaultGUI();
00140 
00141         void closeEvent(QCloseEvent *event);
00142 
00145         void init();
00146 
00147         void show() { QWidget::show(); }
00148 
00149 signals:
00151         void closed();
00152 
00153 private:
00154         #ifndef DOXYGEN_IGNORE_THIS
00155         // Adds a new QVPropertyContainer, which double, integer and boolean properties will be added to the  interface to be
00156         // controlled in real time by the final user
00157         // the camera.
00158         // param name Identification name of the QVPropertyContainer in the interface
00159         // param object QVPropertyContainer object which property controls will be shown
00160         void add(QVWorker * worker);
00161 
00162         // Adds controls for a QVCamera object to the interface, allowing the user to control and inspect the state of
00163         // the camera.
00164         // param camera QVCamera object which will be controlled
00165         void add(QVCamera *camera);
00166 
00167         //bool setVisible(QVWorker *worker,QString prop_orig,float low=0.0,float high=255.0);
00168 
00169         QHBoxLayout *hboxlayout;
00170         QWidget *leftwidget;
00171         QToolBox *toolbox;
00172         QGroupBox *qgroupbox;
00173         QVBoxLayout *leftvboxlayout;
00174         QVBoxLayout *groupboxlayout;
00175         QList<QVImageCanvas*> qvimagecanvaslist;
00176         #endif
00177 };
00178 
00179 #endif