lib

KoRuler Class Reference

#include <KoRuler.h>

List of all members.


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 
)

Create a ruler TODO document params.

Definition at line 82 of file KoRuler.cpp.


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  ) 

Set the unit to be used.

Definition at line 1037 of file KoRuler.cpp.

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]

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 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]

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 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  ) 

Set the list of tabulators to show in the ruler.

Definition at line 990 of file KoRuler.cpp.

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]

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 1147 of file KoRuler.cpp.

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  ) 

Enable or disable the "Page Layout" menu item.

Definition at line 149 of file KoRuler.cpp.

QSize KoRuler::minimumSizeHint (  )  const [virtual]

Reimplemented from QWidget.

Definition at line 1179 of file KoRuler.cpp.

QSize KoRuler::sizeHint (  )  const [virtual]

Reimplemented from QWidget.

Definition at line 1191 of file KoRuler.cpp.

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:
KDE Home | KDE Accessibility Home | Description of Access Keys