|
Isis 3.0 Object Programmers' Reference |
Home |
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