Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef BlinkTool_h 00002 #define BlinkTool_h 00003 00004 // This is the only include allowed in this file! 00005 #include "Tool.h" 00006 00007 class QDoubleSpinBox; 00008 class QDialog; 00009 class QToolButton; 00010 class QSplitter; 00011 class QMenu; 00012 class QVBoxLayout; 00013 class QHBoxLayout; 00014 class QPushButton; 00015 class QAction; 00016 class QListWidget; 00017 class QListWidgetItem; 00018 00019 namespace Isis { 00026 class BlinkTool : public Tool { 00027 Q_OBJECT 00028 00029 public: 00030 BlinkTool(QWidget *parent); 00031 void addTo(QMenu *menu); 00032 void addToPermanent(QToolBar *perm); 00033 void writeSettings(); 00034 void readSettings(); 00035 00036 00037 protected: 00044 QString menuName() const { 00045 return "&Options"; 00046 }; 00047 void updateTool(); 00048 bool eventFilter(QObject *o, QEvent *e); 00049 00050 private slots: 00051 void toggleLink(QListWidgetItem *item); 00052 void reverse(); 00053 void stop(); 00054 void start(); 00055 void advance(); 00056 void timeout(); 00057 void updateWindow(); 00058 00059 private: 00060 QAction *p_action; 00061 QWidget *p_blinkWindow; 00062 QListWidget *p_listWidget; 00063 QDoubleSpinBox *p_timeBox; 00064 bool p_timerOn; 00065 QDialog *p_dialog; 00066 }; 00067 }; 00068 00069 #endif 00070