#ifndef CAM_CFG_WIDGET_H #define CAM_CFG_WIDGET_H #include #include #include #include #include #include #include /** \cond **/ class QHBoxLayout; class QComboBox; class QVBoxLayout; class QLabel; class QScrollArea; class QPushButton; class QTimer; class QGroupBox; class QTabWidget; /** \endcond **/ namespace icl{ /** \cond **/ class ICLWidget; class Grabber; class DoubleSlider; class BorderBox; class ImgParamWidget; /** \endcond **/ class CamCfgWidget : public QWidget{ Q_OBJECT public: CamCfgWidget(); public slots: void deviceChanged(const QString &text); void deviceChanged(int index); void formatChanged(const QString &text); void sizeChanged(const QString &text); void visImageParamChanged(int width, int height, int d, int fmt); void propertySliderChanged(const QString &id, double value); void propertyComboBoxChanged(const QString &text); void propertyButtonClicked(const QString &text); void startStopCapture(bool on); void updateImage(); void createGrabber(const QString &id); private: void updateSizeCombo(); void updateFormatCombo(); void fillLayout(QLayout *l, Grabber *dev); QVBoxLayout *m_poVTopLevelLayout; QHBoxLayout *m_poTopLevelLayout; ICLWidget *m_poICLWidget; QWidget *m_poHBoxWidget; QWidget *m_poCenterPanel, *m_poRightPanel; QVBoxLayout *m_poCenterPanelLayout, *m_poRightPanelLayout; QScrollArea *m_poPropertyScrollArea; QPushButton *m_poCaptureButton; QLabel *m_poFpsLabel; QWidget *m_poGrabButtonAndFpsLabelWidget; QHBoxLayout *m_poGrabButtonAndFpsLabelLayout; QTabWidget *m_poTabWidget; QComboBox *m_poDeviceCombo; QComboBox *m_poFormatCombo; QComboBox *m_poSizeCombo; QTimer *m_poTimer; QMutex m_oGrabberMutex; Grabber *m_poGrabber; // UnicapDevice m_oUnicapDevice; std::vector m_vecDeviceList; std::vector m_vecPWCDeviceList; ImgParamWidget *m_poImgParamWidget; bool m_bDisableSlots; bool m_bCapturing; Size m_oVideoSize; format m_eVideoFormat; icl::depth m_eVideoDepth; }; } #endif