USGS

Isis 3.0 Developer's Reference (API)

Home

BandTool.h

Go to the documentation of this file.
00001 #ifndef BandTool_h
00002 #define BandTool_h
00003 
00004 #include "Tool.h"
00005 
00006 // FIXME: remove this include
00007 #include "Pvl.h"
00008 
00009 class QAction;
00010 class QComboBox;
00011 class QHBoxLayout;
00012 class QLabel;
00013 class QRadioButton;
00014 class QSpinBox;
00015 class QStackedWidget;
00016 
00017 namespace Isis {
00018   // FIXME: uncomment this and make p_pvl a Pvl * (make cc and op=, etc)
00019   //class Pvl;
00020 }
00021 
00022 namespace Isis {
00023   class ToolPad;
00032   class BandTool : public Tool {
00033       Q_OBJECT
00034 
00035     public:
00036       BandTool(QWidget *parent);
00037 
00038     protected:
00045       QString menuName() const {
00046         return "&View";
00047       };
00048       QAction *toolPadAction(ToolPad *pad);
00049       QWidget *createToolBarWidget(QStackedWidget *active);
00050       void updateTool();
00051 
00052     private slots:
00053       void changeView();
00054       void setList();
00055       void setBandBin(Pvl &pvl);
00056       void setDisplay();
00057       void copyLinkedViewports();
00058       void copyAllViewports();
00059 
00060     private:
00061       QRadioButton *p_rgbButton;
00062       QRadioButton *p_blackwhiteButton;
00063       QSpinBox *p_graySpin;
00064       QSpinBox *p_redSpin;
00065       QSpinBox *p_grnSpin;
00066       QSpinBox *p_bluSpin;
00067       QLabel *p_grayDisplay;
00068       QLabel *p_redDisplay;
00069       QLabel *p_greenDisplay;
00070       QLabel *p_blueDisplay;
00071       QComboBox *p_comboBox;
00072       QStackedWidget *p_stack; 
00073       QStackedWidget *p_stack2;
00074       CubeViewport *p_bandBinViewport;
00075 
00076       int p_bands;
00077       Pvl p_pvl;
00078       QStringList p_lineEditValueList;
00079   };
00080 };
00081 
00082 #endif