00001 /******************************************************************************* 00002 * PainterPlugin.h 00003 * 00004 * (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: $ 00009 *******************************************************************************/ 00010 00011 #ifndef PainterPlugin_H 00012 #define PainterPlugin_H 00013 00014 #include <string> 00015 #include <QObject> 00016 00017 class QGLWidget; 00018 00024 class PainterPlugin: public QObject 00025 { 00026 Q_OBJECT 00027 00028 public: 00029 00031 PainterPlugin( ); 00032 00034 ~PainterPlugin(); 00035 00037 virtual void paint ( float next2DLayer ) = 0; 00038 00040 void setVisible ( bool visible ) { m_Visible = visible; } 00041 bool isVisible( ) { return m_Visible; } 00042 00044 void setName ( std::string name ) { m_Name = name; } 00045 std::string getName( ) { return m_Name; } 00046 00048 bool needsRedraw() { return m_NeedsRedraw; } 00049 void wasRedrawn() { m_NeedsRedraw = false; } 00050 00051 public slots: 00052 00054 virtual void nodeSelected() {}; 00055 00057 // virtual void processMessage ( Message* message UNUSED ) { } 00058 00060 virtual void nodeSelected( std::string nodeName ) {}; 00061 // TODO: vorher so: virtual void nodeSelected( std::string nodeName UNUSED) {}; 00062 00064 void setParent( QGLWidget* parentWidget ) { m_ParentWidget=parentWidget; } 00065 00066 protected: 00067 00069 void requestRedraw() { m_NeedsRedraw = true; } 00070 00071 QGLWidget* m_ParentWidget; 00072 00073 private: 00074 00075 bool m_Visible; 00076 00077 std::string m_Name; 00078 00079 bool m_NeedsRedraw; 00080 00081 }; 00082 00083 #endif