00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef koRuler_h
00026 #define koRuler_h
00027
00028 #include <QWidget>
00029
00030 #include <koffice_export.h>
00031 #include <KoUnit.h>
00032
00033 class QPainter;
00034 class QPaintEvent;
00035
00036 class KoViewConverter;
00037
00038 class KoRulerPrivate;
00039
00040 class KOFFICEUI_EXPORT KoRuler : public QWidget
00041 {
00042 Q_OBJECT
00043 public:
00044 KoRuler(QWidget* parent, Qt::Orientation orientation, KoViewConverter* viewConverter);
00045 ~KoRuler();
00046
00048 KoUnit::Unit unit() const;
00049
00051 double rulerLength() const;
00052
00054 Qt::Orientation orientation() const;
00055
00056 virtual QSize minimumSizeHint() const;
00057 virtual QSize sizeHint() const;
00058
00059 public Q_SLOTS:
00061 void setUnit(KoUnit::Unit unit);
00062
00067 void setOffset(int offset);
00068
00070 void setRulerLength(double length);
00071
00076 void setActiveRange(double start, double end);
00077
00082 void setShowMousePosition(bool show);
00083
00089 void updateMouseCoordinate(int coordinate);
00090
00091 protected:
00092 virtual void paintEvent(QPaintEvent* event);
00093
00095 double numberStepForUnit() const;
00096
00097 private:
00098 KoRulerPrivate* d;
00099 };
00100
00101 #endif