lib

KoChild Class Reference

#include <KoChild.h>

Inheritance diagram for KoChild:

KoDocumentChild KoViewChild

List of all members.


Detailed Description

KoChild is an abstract base class that represents the geometry associated with an embedded document.

In general it handles its position relative to the embedded document's parent.

In detail it handles size, matrix operations and can give you a clip region. It can deal with scaling, rotation etc. because it makes heavy usage of QWMatrix.

After applying the matrix, viewGeometry() applies zooming, but can be reimplemented to also apply e.g. some translation by the application (e.g. for centering the page).

See also:
KoDocumentChild KoViewChild

Definition at line 41 of file KoChild.h.


Public Types

enum  Gadget {
  NoGadget, TopLeft, TopMid, TopRight,
  MidLeft, MidRight, BottomLeft, BottomMid,
  BottomRight, Move
}

Signals

void changed (KoChild *thisChild)

Public Member Functions

 KoChild (QObject *parent=0, const char *name=0)
void setGeometry (const QRect &rect, bool noEmit=false)
QRect geometry () const
virtual QRegion region (const QWMatrix &=QWMatrix()) const
virtual QPointArray pointArray (const QWMatrix &matrix=QWMatrix()) const
QRect boundingRect () const
virtual void setScaling (double x, double y)
virtual double xScaling () const
virtual double yScaling () const
virtual void setShearing (double x, double y)
virtual double xShearing () const
virtual double yShearing () const
virtual void setRotation (double)
virtual double rotation () const
virtual void setRotationPoint (const QPoint &pos)
virtual QPoint rotationPoint () const
bool isRectangle () const
virtual void setClipRegion (QPainter &painter, bool combine=true)
virtual void transform (QPainter &painter)
virtual void setContentsPos (int x, int y)
virtual QRect contentRect () const
virtual QRegion frameRegion (const QWMatrix &matrix=QWMatrix(), bool solid=false) const
virtual QPointArray framePointArray (const QWMatrix &matrix=QWMatrix()) const
virtual QWMatrix matrix () const
void lock ()
void unlock ()
bool locked () const
virtual QPointArray oldPointArray (const QWMatrix &matrix)
virtual void setTransparent (bool transparent)
virtual bool isTransparent () const
virtual Gadget gadgetHitTest (const QPoint &p)

Protected Member Functions

virtual QPointArray pointArray (const QRect &r, const QWMatrix &matrix=QWMatrix()) const
virtual void updateMatrix ()

Member Enumeration Documentation

The gadget generally identifies where a child has been hit (generally by the mouse pointer).

Based on this information different actions can be taken, for example moving the child or opening a context menu. NoGadget means that this child has not been hit.

See also:
gadgetHitTest

Definition at line 55 of file KoChild.h.


Member Function Documentation

void KoChild::setGeometry ( const QRect &  rect,
bool  noEmit = false 
)

Sets a new geometry for this child document.

Use noEmit = true if you do not want the 'changed'-signal to be emitted

Definition at line 72 of file KoChild.cpp.

QRect KoChild::geometry (  )  const

Returns:
the rectangle that would be used to display this child document if the child is not rotated or subject to some other geometric transformation. The rectangle is in the coordinate system of the parent, using unzoomed coordinates in points.
See also:
setGeometry

Definition at line 92 of file KoChild.cpp.

QRegion KoChild::region ( const QWMatrix &  matrix = QWMatrix()  )  const [virtual]

Returns:
the region of this child part relative to the coordinate system of the parent. The region is transformed with the passed matrix.

Definition at line 97 of file KoChild.cpp.

QPointArray KoChild::pointArray ( const QWMatrix &  matrix = QWMatrix()  )  const [virtual]

Returns:
the polygon which surrounds the child part. The points are in coordinates of the parent. The points are transformed with the passed matrix.

Definition at line 102 of file KoChild.cpp.

QRect KoChild::boundingRect (  )  const

Tests whether the part contains a certain point.

The point is in the coordinate system of the parent.

Returns:
the effective bounding rect after all transformations. The coordinates of the rectangle are in the coordinate system of the parent.

Definition at line 112 of file KoChild.cpp.

void KoChild::setScaling ( double  x,
double  y 
) [virtual]

Scales the content of the child part.

However, that does not affect the size of the child part.

Definition at line 131 of file KoChild.cpp.

double KoChild::xScaling (  )  const [virtual]

Returns:
the x axis scaling of the child part

Definition at line 149 of file KoChild.cpp.

double KoChild::yScaling (  )  const [virtual]

Returns:
the y axis scaling of the child part

Definition at line 154 of file KoChild.cpp.

void KoChild::setShearing ( double  x,
double  y 
) [virtual]

Shears the content of the child part.

Definition at line 159 of file KoChild.cpp.

double KoChild::xShearing (  )  const [virtual]

Returns:
the x axis shearing of the child part

Definition at line 173 of file KoChild.cpp.

double KoChild::yShearing (  )  const [virtual]

Returns:
the y axis shearing of the child part

Definition at line 178 of file KoChild.cpp.

void KoChild::setRotation ( double  rot  )  [virtual]

Sets the angle of rotation.

Definition at line 183 of file KoChild.cpp.

double KoChild::rotation (  )  const [virtual]

Returns:
the angle of rotation

Definition at line 195 of file KoChild.cpp.

void KoChild::setRotationPoint ( const QPoint &  pos  )  [virtual]

Sets the center of the rotation to the point pos.

Definition at line 200 of file KoChild.cpp.

QPoint KoChild::rotationPoint (  )  const [virtual]

Returns:
the center of the rotation

Definition at line 212 of file KoChild.cpp.

bool KoChild::isRectangle (  )  const

Returns:
true if the child part is an orthogonal rectangle relative to its parents coordinate system.

Definition at line 117 of file KoChild.cpp.

void KoChild::setClipRegion ( QPainter &  painter,
bool  combine = true 
) [virtual]

Sets the clip region of the painter, so that only pixels of the child part can be drawn.

Parameters:
painter the painter do modify.
combine tells whether the new clip region is an intersection of the current region with the childs region or whether only the childs region is set.

Definition at line 122 of file KoChild.cpp.

void KoChild::transform ( QPainter &  painter  )  [virtual]

Transforms the painter (its worldmatrix and the clipping) in such a way that the painter can be passed to the child part for drawing.

Definition at line 217 of file KoChild.cpp.

void KoChild::setContentsPos ( int  x,
int  y 
) [virtual]

Sets the position of the content relative to the child frame.

This can be used to create a border between the frame border and the actual content.

Definition at line 227 of file KoChild.cpp.

QRect KoChild::contentRect (  )  const [virtual]

Returns:
the contents rectangle that is visible. This value depends on the scaling and the geometry. This is the value that is passed to KoDocument::paintContent.
See also:
xScaling geometry

Definition at line 233 of file KoChild.cpp.

QRegion KoChild::frameRegion ( const QWMatrix &  matrix = QWMatrix(),
bool  solid = false 
) const [virtual]

Returns:
the region of the child frame. If solid is set to true the complete area of the child region is returned, otherwise only the child border is returned.

Definition at line 244 of file KoChild.cpp.

QPointArray KoChild::framePointArray ( const QWMatrix &  matrix = QWMatrix()  )  const [virtual]

Returns:
the frame geometry including a border (6 pixels) as a point array with 4 points, one for each corner, transformed by given matrix.

Definition at line 239 of file KoChild.cpp.

QWMatrix KoChild::matrix (  )  const [virtual]

Returns:
the current transformation of this child as matrix. This includes translation, scale, rotation, shearing.
See also:
updateMatrix

Definition at line 291 of file KoChild.cpp.

void KoChild::lock (  ) 

Locks this child and stores the current transformation.

A locked child does not emit changed signals.

This is useful if a series of changes are done on this child and only the final result is of interest (GUI updating,...).

See also:
locked unlock

Definition at line 296 of file KoChild.cpp.

void KoChild::unlock (  ) 

Unlocks this child and emits a changed signal.

Definition at line 305 of file KoChild.cpp.

bool KoChild::locked (  )  const

If the child is locked, geometry changes (including scaling, rotation, .

..) are not backed up.

As long as this child is locked, the backed up geometry state can be recovered with oldPointArray.

Returns:
true when this child is locked.
See also:
locked unlock oldPointArray

Definition at line 314 of file KoChild.cpp.

QPointArray KoChild::oldPointArray ( const QWMatrix &  matrix  )  [virtual]

Returns:
the backed up geometry transformed by given matrix.

Definition at line 319 of file KoChild.cpp.

void KoChild::setTransparent ( bool  transparent  )  [virtual]

Marks this child as either transparent or not.

Parameters:
transparent set this child to transparent (true) or opaque (false).
See also:
isTransparent

Definition at line 329 of file KoChild.cpp.

bool KoChild::isTransparent (  )  const [virtual]

It might be interesting for view updates and repainting in general whether a child is transparent or not.

Returns:
true when this child is marked as transparent.

Definition at line 334 of file KoChild.cpp.

KoChild::Gadget KoChild::gadgetHitTest ( const QPoint &  p  )  [virtual]

Different actions are taken depending on where a child frame is hit.

Two gadgets are known: one for the border (5 pixels) and one for the inner area.

Returns:
the gadget identification for the hit area.
Parameters:
p the hit position.
See also:
Gadget

Definition at line 339 of file KoChild.cpp.

void KoChild::changed ( KoChild thisChild  )  [signal]

Emitted every time this child changes, but only if this child is not locked.

See also:
locked

QPointArray KoChild::pointArray ( const QRect &  r,
const QWMatrix &  matrix = QWMatrix() 
) const [protected, virtual]

Returns:
point array with the 4 corners of given rectangle, which is transformed by given matrix.
Parameters:
matrix the transformation of r.
r the rectangle for which the point array should be created.

Definition at line 256 of file KoChild.cpp.

void KoChild::updateMatrix (  )  [protected, virtual]

Stores the current transformation of this child into a matrix.

See also:
matrix

Definition at line 275 of file KoChild.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys