USGS

Isis 3.0 Developer's Reference (API)

Home

MdiCubeViewport.h

Go to the documentation of this file.
00001 #ifndef MdiCubeViewport_h
00002 #define MdiCubeViewport_h
00003 
00026 #include "CubeViewport.h"
00027 
00028 #include <QMetaType>
00029 
00030 
00031 class QPaintEvent;
00032 template < class T > class QList;
00033 
00034 namespace Isis {
00035   class Cube;
00036   class Tool;
00037   class ViewportBuffer;
00038 
00053   class MdiCubeViewport : public CubeViewport {
00054       Q_OBJECT
00055 
00056     public:
00057       MdiCubeViewport(Cube *cube, Isis::CubeDataThread * cdt = 0,
00058                       QWidget *parent = 0);
00059       ~MdiCubeViewport();
00060 
00061       void forceAbstract() {}
00062 
00064       bool isLinked() const {
00065         return p_linked;
00066       };
00067 
00068       void registerTool(Tool *tool);
00069       void paintEvent(QPaintEvent *e);
00070       void restretch(ViewportBuffer *buffer);
00071 
00072 
00073     signals:
00074       void linkChanging(bool);
00075       void requestRestretch(MdiCubeViewport *, int);
00076 
00077 
00078     public slots:
00079       void setLinked(bool b);
00080       void viewGray(int band);
00081       void viewRGB(int red, int green, int blue);
00082 
00083 
00084     private:
00085       bool p_linked;
00086       QList<Tool *> p_toolList;
00087 
00088   };
00089 }
00090 
00091 Q_DECLARE_METATYPE(Isis::MdiCubeViewport *);
00092 
00093 #endif