lib
KoRuler Class Reference
#include <KoRuler.h>
Detailed Description
KoRuler is the horizontal or vertical ruler, to be used around the drawing area of most KOffice programs.It shows the graduated ruler with numbering, in any of the base units (like mm/pt/inch), and supports zooming, tabulators, paragraph indents, showing the mouse position, etc.
It also offers a popupmenu upon right-clicking, for changing the unit, the page layout, or removing a tab.
Definition at line 101 of file KoRuler.h.
Signals | |
void | newPageLayout (const KoPageLayout &) |
void | newLeftIndent (double) |
void | newFirstIndent (double) |
void | newRightIndent (double) |
void | openPageLayoutDia () |
void | doubleClicked () |
void | doubleClicked (double ptPos) |
void | tabListChanged (const KoTabulatorList &) |
void | unitChanged (KoUnit::Unit) |
void | addGuide (const QPoint &, bool, int) |
void | moveGuide (const QPoint &, bool, int) |
void | addHelpline (const QPoint &, bool) |
void | moveHelpLines (const QPoint &, bool) |
Public Member Functions | |
KoRuler (QWidget *_parent, QWidget *_canvas, Orientation _orientation, const KoPageLayout &_layout, int _flags, KoUnit::Unit _unit, KoTabChooser *_tabChooser=0L) | |
~KoRuler () | |
void | setUnit (const QString &unit) KDE_DEPRECATED |
void | setUnit (KoUnit::Unit unit) |
void | setZoom (const double &zoom=1.0) |
const double & | zoom () const |
void | setPageLayout (const KoPageLayout &_layout) |
void | showMousePos (bool _showMPos) |
void | setMousePos (int mx, int my) |
void | setOffset (int _diffx, int _diffy) |
void | setLeftIndent (double _left) |
void | setFirstIndent (double _first) |
void | setRightIndent (double _right) |
void | setDirection (bool rtl) |
void | setTabList (const KoTabulatorList &tabList) |
void | setFrameStartEnd (int _frameStart, int _frameEnd) |
void | setReadWrite (bool _readWrite) |
void | changeFlags (int _flags) |
void | setGridSize (double newGridSize) |
int | flags () const |
bool | doubleClickedIndent () const |
void | setPageLayoutMenuItemEnabled (bool b) |
virtual QSize | minimumSizeHint () const |
virtual QSize | sizeHint () const |
Static Public Attributes | |
static const int | F_TABS |
static const int | F_INDENTS |
static const int | F_HELPLINES |
static const int | F_NORESIZE |
Protected Types | |
enum | Action { A_NONE, A_BR_LEFT, A_BR_RIGHT, A_BR_TOP, A_BR_BOTTOM, A_LEFT_INDENT, A_FIRST_INDENT, A_TAB, A_RIGHT_INDENT, A_HELPLINES } |
Protected Slots | |
void | slotMenuActivated (int i) |
void | pageLayoutDia () |
void | rbRemoveTab () |
Protected Member Functions | |
void | drawContents (QPainter *_painter) |
void | drawHorizontal (QPainter *_painter) |
void | drawVertical (QPainter *_painter) |
void | drawTabs (QPainter &_painter) |
void | mousePressEvent (QMouseEvent *e) |
void | mouseReleaseEvent (QMouseEvent *e) |
void | mouseMoveEvent (QMouseEvent *e) |
void | mouseDoubleClickEvent (QMouseEvent *) |
void | resizeEvent (QResizeEvent *e) |
void | handleDoubleClick () |
double | makeIntern (double _v) |
double | zoomIt (const double &value) const |
int | zoomIt (const int &value) const |
unsigned int | zoomIt (const unsigned int &value) const |
double | unZoomIt (const double &value) const |
int | unZoomIt (const int &value) const |
unsigned int | unZoomIt (const unsigned int &value) const |
void | setupMenu () |
void | uncheckMenu () |
void | searchTab (int mx) |
void | drawLine (int oldX, int newX) |
Friends | |
class | KoRulerPrivate |
Constructor & Destructor Documentation
KoRuler::KoRuler | ( | QWidget * | _parent, | |
QWidget * | _canvas, | |||
Orientation | _orientation, | |||
const KoPageLayout & | _layout, | |||
int | _flags, | |||
KoUnit::Unit | _unit, | |||
KoTabChooser * | _tabChooser = 0L | |||
) |
Member Function Documentation
void KoRuler::setUnit | ( | const QString & | unit | ) |
Set the unit to be used.
The unit is specified using text as defined in KoUnit, for example "mm", "pt" or "inch".
- Deprecated:
- You should use the KoUnit::Unit variant instead.
Definition at line 1032 of file KoRuler.cpp.
void KoRuler::setUnit | ( | KoUnit::Unit | unit | ) |
void KoRuler::setZoom | ( | const double & | zoom = 1.0 |
) |
Set the zoom of the ruler (default value of 1.0 is 100%).
Definition at line 1045 of file KoRuler.cpp.
const double& KoRuler::zoom | ( | ) | const [inline] |
void KoRuler::setPageLayout | ( | const KoPageLayout & | _layout | ) |
Set the page layout, see KoPageLayout.
This defines the size of the page and the margins, from which the size of the ruler is deducted.
Definition at line 1196 of file KoRuler.cpp.
void KoRuler::showMousePos | ( | bool | _showMPos | ) |
Call showMousePos(true) if the ruler should indicate the position of the mouse.
This is usually only the case for drawing applications, so it is not enabled by default.
Definition at line 1100 of file KoRuler.cpp.
void KoRuler::setMousePos | ( | int | mx, | |
int | my | |||
) |
Set the position of the mouse, to update the indication in the ruler.
This is only effective if showMousePos(true) was called previously. The position to give is not zoomed, it's in real pixel coordinates!
Definition at line 155 of file KoRuler.cpp.
void KoRuler::setOffset | ( | int | _diffx, | |
int | _diffy | |||
) |
Set a global offset to the X and Y coordinates.
Usually the main drawing area is a QScrollView, and this is called with contentsX() and contentsY(), each time those values change.
Definition at line 1109 of file KoRuler.cpp.
void KoRuler::setLeftIndent | ( | double | _left | ) | [inline] |
void KoRuler::setFirstIndent | ( | double | _first | ) | [inline] |
void KoRuler::setRightIndent | ( | double | _right | ) |
Set the [paragraph] right indent to the specified position (in the current unit).
Definition at line 1130 of file KoRuler.cpp.
void KoRuler::setDirection | ( | bool | rtl | ) |
Set the [paragraph] direction.
By default (rtl=false), the left indent is on the left, and the right indent is on the right ;) If rtl=true, it's the opposite.
Definition at line 1136 of file KoRuler.cpp.
void KoRuler::setTabList | ( | const KoTabulatorList & | tabList | ) |
void KoRuler::setFrameStartEnd | ( | int | _frameStart, | |
int | _frameEnd | |||
) |
Set the start and the end of the current 'frame', i.e.
the part of the page in which we are currently working. See KWord frames for an example where this is used. The tab positions and paragraph indents then become relative to the beginning of the frame, and the ruler goes from frameStart to frameEnd instead of using the page margins. _frameStart
et _frameEnd
are in pixel coordinates.
Definition at line 1117 of file KoRuler.cpp.
void KoRuler::setReadWrite | ( | bool | _readWrite | ) |
KoRuler is in "read write" mode by default.
Use setReadWrite(false) to use it in read-only mode.
Definition at line 1069 of file KoRuler.cpp.
void KoRuler::changeFlags | ( | int | _flags | ) |
Change the flag (i.e.
activate or deactivate certain features of KoRuler)
Definition at line 1142 of file KoRuler.cpp.
void KoRuler::setGridSize | ( | double | newGridSize | ) | [inline] |
int KoRuler::flags | ( | ) | const |
bool KoRuler::doubleClickedIndent | ( | ) | const |
- Returns:
- whether the current doubleClicked() signal was triggered by the user double-clicking on an indent (BCI).
It returns false if the user just double-clicked on an "empty" part of the ruler.
This method is strictly provided for use in a slot connected to the doubleClicked() signal; calling it at any other time results in undefined behavior.
Definition at line 1152 of file KoRuler.cpp.
void KoRuler::setPageLayoutMenuItemEnabled | ( | bool | b | ) |
QSize KoRuler::minimumSizeHint | ( | ) | const [virtual] |
QSize KoRuler::sizeHint | ( | ) | const [virtual] |
void KoRuler::openPageLayoutDia | ( | ) | [signal] |
Old signal, kept for compatibility.
Use doubleClicked instead.
void KoRuler::doubleClicked | ( | ) | [signal] |
This signal is emitted when double-clicking the ruler (or an indent).
void KoRuler::doubleClicked | ( | double | ptPos | ) | [signal] |
This signal is emitted when double-clicking a tab.
The documentation for this class was generated from the following files: