USGS

Isis 3.0 Developer's Reference (API)

Home

TabBar.h

Go to the documentation of this file.
00001 #ifndef TabBar_H
00002 #define TabBar_H
00003 
00026 // QToolBar is the parent of this class, and should be the ONLY include
00027 // in this file.  Do not add any other includes to this header file!
00028 #include <QToolBar>
00029 
00030 class QWidget;
00031 template< class A > class QVector;
00032 
00033 namespace Isis
00034 {
00035   class Tab;
00036 
00053   class TabBar : public QToolBar
00054   {
00055       Q_OBJECT
00056 
00057     public:
00058       TabBar();
00059       virtual ~TabBar();
00060 
00061       virtual void addTab(Tab * newTab);
00062       const int curSelectedTab() const;
00063       void setRadioStyle(const bool & radioStyle);
00064       bool radioStyle();
00065       const int size() const;
00066 
00067       void setSelected(const int & index, const bool & status);
00068       bool isSelected(const int & index);
00069       bool noneSelected();
00070       void setEnabled(bool);
00071 
00072     
00073     private slots:
00074       void tabClicked(const int & index);
00075 
00076 
00077     private:
00078       // functions
00079       bool noOthersInGrpSelected(const int & index) const;
00080       void deselectOthersInGrp(const int & index);
00081 
00082 
00083     private:
00084       // data
00085       QVector< Tab * > * tabs;
00086       bool radioStyleTabs;
00087   };
00088 }
00089 
00090 #endif