00001
00002
00003
00004
00005
00006
00007 #ifndef STATUS_BAR_H
00008 #define STATUS_BAR_H
00009
00010 #include <QComboBox>
00011 #include <QObject>
00012 #include "StatusBarMode.h"
00013
00014 class QFrame;
00015 class QStatusBar;
00016 class QTextEdit;
00017 class QTimer;
00018
00021 class StatusBar : public QObject
00022 {
00023 Q_OBJECT;
00024
00025 public:
00027 StatusBar(QStatusBar &statusBar);
00028 ~StatusBar();
00029
00031 void setCoordinates (const QString &coordsScreen,
00032 const QString &coordsGraph,
00033 const QString &resolutionGraph);
00034
00036 void setStatusBarMode (StatusBarMode statusBarMode);
00037
00039 void showTemporaryMessage(const QString &message);
00040
00042 StatusBarMode statusBarMode() const { return m_statusBarMode; }
00043
00045 void wakeUp ();
00046
00047 public slots:
00049 void slotZoom(int);
00050
00051 private slots:
00053 void slotComboUnits (const QString &);
00054
00056 void slotComboZoom (const QString &);
00057
00060 void slotStatusBarChanged(const QString &message);
00061
00063 void slotTimeout();
00064
00065 signals:
00067 void signalZoom (int);
00068
00069 private:
00070 StatusBar();
00071
00072 void createGroupUnits ();
00073 void createZoom ();
00074 void updateCoordsText ();
00075
00076 enum StatusBarUnits {
00077 STATUS_BAR_UNITS_COORDS_SCREEN,
00078 STATUS_BAR_UNITS_COORDS_GRAPH,
00079 STATUS_BAR_UNITS_RESOLUTION_GRAPH
00080 };
00081
00082 QStatusBar &m_statusBar;
00083
00084 QComboBox *m_cmbZoom;
00085
00086 QFrame *m_groupUnits;
00087 QComboBox *m_cmbUnits;
00088 QTextEdit *m_editCoords;
00089
00090 QString m_coordsScreen;
00091 QString m_coordsGraph;
00092 QString m_resolutionGraph;
00093
00094 StatusBarMode m_statusBarMode;
00095
00096 QTimer *m_timer;
00097 };
00098
00099 #endif // STATUS_BAR_H