00001 /******************************************************************************* 00002 * ImageMessagesDisplay.h 00003 * 00004 * (C) 2006 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: ImageMessagesDisplay.h 23656 2008-03-30 18:21:56Z dgossow $ 00009 *******************************************************************************/ 00010 00011 #ifndef ImageMessagesDisplay_H 00012 #define ImageMessagesDisplay_H 00013 00014 #include <QGLWidget> 00015 #include <map> 00016 00017 #include "../../Workers/ImageSources/ImageSources.h" 00018 00019 class QLabel; 00020 class QGridLayout; 00021 class ImageM; 00022 class GLImageWidget; 00023 class QSpinBox; 00024 class QTimer; 00025 class QCheckBox; 00026 00027 00033 class ImageMessagesDisplay : public QGLWidget { 00034 00035 Q_OBJECT 00036 00037 public: 00038 00039 ImageMessagesDisplay( QWidget* parent = 0, 00040 ImageSources::SourceId sourceId = ImageSources::None, 00041 bool showGrabButton = false, bool showSelector = true ); 00042 ~ImageMessagesDisplay() {} 00043 00044 void updateImage(const unsigned char* image, unsigned width, unsigned height); 00045 00046 public slots: 00047 00048 // void processMessage( Message* message ); // TODO 00049 00050 void setSourceId( ImageSources::SourceId sourceId ); 00051 00053 void grabImage(); 00054 00055 void saveImage(); 00056 00057 void togglePoll( int checkState ); 00058 00059 void changePollInterval( int interval ); 00060 00061 public: 00062 00063 GLImageWidget* m_GlImageWidget; 00064 00065 private: 00066 00067 ImageSources::SourceId m_SourceId; // TODO evtl. loswerden oder mit ros topics umsetzen 00068 00069 QSpinBox* m_PollSpinBox; 00070 QTimer* m_PollTimer; 00071 00072 QCheckBox* m_YuvCheckBox; 00073 00074 }; 00075 00076 #endif