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 // The only includes allowed in this file are the direct parents of this class!
00027 #include "CubeViewport.h"
00028 // There are absolutely no exceptions to this.
00029 
00030 
00031 
00032 class QPaintEvent;
00033 template < class T > class QList;
00034 
00035 namespace Isis {
00036   class Cube;
00037   class Tool;
00038   class ViewportBuffer;
00039 
00052   class MdiCubeViewport : public CubeViewport {
00053       Q_OBJECT
00054 
00055     public:
00056       MdiCubeViewport(Cube *cube, Isis::CubeDataThread * cdt = 0,
00057                       QWidget *parent = 0);
00058       ~MdiCubeViewport();
00059 
00060       void forceAbstract() {}
00061 
00063       bool isLinked() const {
00064         return p_linked;
00065       };
00066 
00067       void registerTool(Tool *tool);
00068       void paintEvent(QPaintEvent *e);
00069       void restretch(ViewportBuffer *buffer);
00070 
00071 
00072     signals:
00073       void linkChanging(bool);
00074       void requestRestretch(MdiCubeViewport *, int);
00075 
00076 
00077     public slots:
00078       void setLinked(bool b);
00079       void viewGray(int band);
00080       void viewRGB(int red, int green, int blue);
00081 
00082 
00083     private:
00084       bool p_linked;
00085       QList<Tool *> p_toolList;
00086 
00087   };
00088 }
00089 
00090 #endif