lib Library API Documentation

KoRuler Class Reference

KoRuler is the horizontal or vertical ruler, to be used around the drawing area of most KOffice programs. More...

#include <koRuler.h>

Inheritance diagram for KoRuler:

Inheritance graph
[legend]
Collaboration diagram for KoRuler:

Collaboration graph
[legend]
List of all members.

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 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)
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 = 1
static const int F_INDENTS = 2
static const int F_HELPLINES = 4
static const int F_NORESIZE = 8

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

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.


Constructor & Destructor Documentation

KoRuler::KoRuler QWidget _parent,
QWidget _canvas,
Orientation  _orientation,
const KoPageLayout _layout,
int  _flags,
KoUnit::Unit  _unit,
KoTabChooser *  _tabChooser = 0L
 

Create a ruler TODO document params.

Definition at line 81 of file koRuler.cc.

References doubleClicked(), and openPageLayoutDia().


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 1019 of file koRuler.cc.

References KoUnit::unit().

void KoRuler::setUnit KoUnit::Unit  unit  ) 
 

Set the unit to be used.

Definition at line 1024 of file koRuler.cc.

void KoRuler::setZoom const double &  zoom = 1.0  ) 
 

Set the zoom of the ruler (default value of 1.0 is 100%).

Definition at line 1032 of file koRuler.cc.

const double& KoRuler::zoom  )  const [inline]
 

Returns:
the current zoom level

Definition at line 138 of file koRuler.h.

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 1184 of file koRuler.cc.

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 1087 of file koRuler.cc.

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 154 of file koRuler.cc.

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 1096 of file koRuler.cc.

void KoRuler::setLeftIndent double  _left  )  [inline]
 

Set the [paragraph] left indent to the specified position (in the current unit).

Definition at line 170 of file koRuler.h.

void KoRuler::setFirstIndent double  _first  )  [inline]
 

Set the [paragraph] first-line left indent to the specified position (in the current unit) This indent is cumulated with the left or right margin, depending on the [paragraph] direction.

Definition at line 177 of file koRuler.h.

void KoRuler::setRightIndent double  _right  ) 
 

Set the [paragraph] right indent to the specified position (in the current unit).

Definition at line 1117 of file koRuler.cc.

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 1123 of file koRuler.cc.

void KoRuler::setTabList const KoTabulatorList tabList  ) 
 

Set the list of tabulators to show in the ruler.

Definition at line 977 of file koRuler.cc.

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 1104 of file koRuler.cc.

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 1056 of file koRuler.cc.

void KoRuler::changeFlags int  _flags  ) 
 

Change the flag (i.e.

activate or deactivate certain features of KoRuler)

Definition at line 1129 of file koRuler.cc.

void KoRuler::setGridSize double  newGridSize  )  [inline]
 

Set the size of the grid used for tabs positioning, size in pt.

default value is 0. 0 means no grid.

Definition at line 222 of file koRuler.h.

int KoRuler::flags  )  const
 

Returns:
the current flags

Definition at line 1134 of file koRuler.cc.

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 1139 of file koRuler.cc.

void KoRuler::setPageLayoutMenuItemEnabled bool  b  ) 
 

Enable or disable the "Page Layout" menu item.

Definition at line 148 of file koRuler.cc.

QSize KoRuler::minimumSizeHint  )  const [virtual]
 

Reimplemented from QWidget.

Definition at line 1166 of file koRuler.cc.

Referenced by sizeHint().

QSize KoRuler::sizeHint  )  const [virtual]
 

Reimplemented from QWidget.

Definition at line 1179 of file koRuler.cc.

References minimumSizeHint().

void KoRuler::openPageLayoutDia  )  [signal]
 

Old signal, kept for compatibility.

Use doubleClicked instead.

Referenced by KoRuler().

void KoRuler::doubleClicked  )  [signal]
 

This signal is emitted when double-clicking the ruler (or an indent).

Referenced by KoRuler().

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:
KDE Logo
This file is part of the documentation for lib Library Version 1.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Feb 13 09:41:18 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003