lib Library API Documentation

KoChild Class Reference

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

#include <koChild.h>

Inheritance diagram for KoChild:

Inheritance graph
[legend]
Collaboration diagram for KoChild:

Collaboration graph
[legend]
List of all members.

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)
virtual void setGeometry (const QRect &rect, bool noEmit=false)
virtual QRect geometry () const
virtual QRegion region (const QWMatrix &=QWMatrix()) const
virtual QPointArray pointArray (const QWMatrix &matrix=QWMatrix()) const
virtual bool contains (const QPoint &) const
virtual QRect boundingRect (const QWMatrix &matrix=QWMatrix()) 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
virtual 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, bool solid=false) const
virtual QPointArray framePointArray (const QWMatrix &matrix=QWMatrix()) const
virtual QWMatrix matrix () const
virtual void lock ()
virtual 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, const QWMatrix &matrix)

Protected Member Functions

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

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 documents 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.

See also:
KoDocumentChild

Definition at line 36 of file koChild.h.


Member Enumeration Documentation

enum KoChild::Gadget
 

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 50 of file koChild.h.


Member Function Documentation

void KoChild::setGeometry const QRect rect,
bool  noEmit = false
[virtual]
 

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.cc.

References changed(), framePointArray(), and updateMatrix().

Referenced by KoDocumentChild::load(), and KoDocumentChild::setDocument().

QRect KoChild::geometry  )  const [virtual]
 

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.
See also:
setGeometry

Definition at line 92 of file koChild.cc.

Referenced by KoDocumentChild::save().

QRegion KoChild::region const QWMatrix = 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.cc.

References pointArray().

Referenced by contains(), frameRegion(), and setClipRegion().

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.cc.

Referenced by boundingRect(), framePointArray(), gadgetHitTest(), and region().

bool KoChild::contains const QPoint  )  const [virtual]
 

Tests whether the part contains a certain point.

The point is in the coordinate system of the parent.

Definition at line 107 of file koChild.cc.

References region().

Referenced by gadgetHitTest().

QRect KoChild::boundingRect const QWMatrix matrix = QWMatrix()  )  const [virtual]
 

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.cc.

References pointArray().

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.cc.

References changed(), and framePointArray().

double KoChild::xScaling  )  const [virtual]
 

Returns:
the x axis scaling of the child part

Definition at line 149 of file koChild.cc.

Referenced by KoDocument::paintChild().

double KoChild::yScaling  )  const [virtual]
 

Returns:
the y axis scaling of the child part

Definition at line 154 of file koChild.cc.

Referenced by KoDocument::paintChild().

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

Shears the content of the child part.

Definition at line 159 of file koChild.cc.

References changed(), framePointArray(), and updateMatrix().

double KoChild::xShearing  )  const [virtual]
 

Returns:
the x axis shearing of the child part

Definition at line 173 of file koChild.cc.

double KoChild::yShearing  )  const [virtual]
 

Returns:
the y axis shearing of the child part

Definition at line 178 of file koChild.cc.

void KoChild::setRotation double   )  [virtual]
 

Sets the angle of rotation.

Definition at line 183 of file koChild.cc.

References changed(), framePointArray(), and updateMatrix().

double KoChild::rotation  )  const [virtual]
 

Returns:
the angle of rotation

Definition at line 195 of file koChild.cc.

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

Sets the center of the rotation to the point pos.

Definition at line 200 of file koChild.cc.

References changed(), framePointArray(), and updateMatrix().

QPoint KoChild::rotationPoint  )  const [virtual]
 

Returns:
the center of the rotation

Definition at line 212 of file koChild.cc.

bool KoChild::isRectangle  )  const [virtual]
 

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

Definition at line 117 of file koChild.cc.

Referenced by KoView::partActivateEvent().

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:
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.cc.

References region().

Referenced by transform().

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.cc.

References setClipRegion().

Referenced by KoDocument::paintChild().

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.cc.

QRect KoChild::contentRect  )  const [virtual]
 

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

Definition at line 233 of file koChild.cc.

Referenced by KoDocument::paintChild().

QRegion KoChild::frameRegion const QWMatrix matrix,
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.cc.

References framePointArray(), and region().

Referenced by gadgetHitTest(), KoView::hitTest(), KoView::partActivateEvent(), and KoView::partSelectEvent().

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.cc.

References pointArray().

Referenced by frameRegion(), lock(), setGeometry(), setRotation(), setRotationPoint(), setScaling(), and setShearing().

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 289 of file koChild.cc.

void KoChild::lock  )  [virtual]
 

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 294 of file koChild.cc.

References framePointArray().

void KoChild::unlock  )  [virtual]
 

Unlocks this child and emits a changed signal.

Definition at line 303 of file koChild.cc.

References changed().

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 312 of file koChild.cc.

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

Returns:
the backed up geometry transformed by given matrix.

Definition at line 317 of file koChild.cc.

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 327 of file koChild.cc.

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 332 of file koChild.cc.

Referenced by KoDocument::paintChild(), and KoView::partActivateEvent().

KoChild::Gadget KoChild::gadgetHitTest const QPoint p,
const QWMatrix matrix
[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.
matrix the transformation for p.
See also:
Gadget

Definition at line 337 of file koChild.cc.

References contains(), frameRegion(), and pointArray().

void KoChild::changed KoChild thisChild  )  [signal]
 

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

See also:
locked

Referenced by setGeometry(), setRotation(), setRotationPoint(), setScaling(), setShearing(), and unlock().

QPointArray KoChild::pointArray const QRect r,
const QWMatrix matrix
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 254 of file koChild.cc.

void KoChild::updateMatrix  )  [protected, virtual]
 

Stores the current transformation of this child into a matrix.

See also:
matrix

Definition at line 273 of file koChild.cc.

Referenced by KoDocumentChild::setDocument(), setGeometry(), setRotation(), setRotationPoint(), and setShearing().


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:40:46 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003