USGS

Isis 3.0 Object Programmers' Reference

Home

StretchType.h

00001 #ifndef STRETCHTYPE_H
00002 #define STRETCHTYPE_H
00003 
00004 #include <QWidget>
00005 
00006 namespace Isis {
00007   class Stretch;
00008   class Cube;
00009   class Histogram;
00010 }
00011 
00012 class QTableWidget;
00013 class QGridLayout;
00014 
00015 
00016 namespace Isis {
00017   class HistogramWidget;
00018 
00038   class StretchType : public QWidget {
00039       Q_OBJECT
00040 
00041     public:
00042       StretchType(const Histogram &hist, const Stretch &stretch,
00043                   const QString &name, const QColor &color);
00044 
00045       virtual ~StretchType();
00046 
00047       virtual Stretch getStretch();
00053       virtual void setStretch(Stretch) = 0;
00054 
00055       virtual void setHistogram(const Histogram &);
00056 
00057 
00058     protected: // methods
00059       QTableWidget *createStretchTable();
00060 
00061     protected slots:
00062       void updateGraph();
00063       void updateTable();
00064 
00065     protected: // data
00066       QGridLayout *p_mainLayout; 
00067       Histogram *p_cubeHist; 
00068       QTableWidget *p_table; 
00069       HistogramWidget *p_graph; 
00070       Stretch *p_stretch; 
00071 
00072 
00073     signals:
00075       void stretchChanged();
00076 
00077 
00078     private slots:
00079       void savePairs();
00080   };
00081 };
00082 
00083 
00084 #endif