kig
#include <object_calcer.h>
Public Types | |
typedef myboost::intrusive_ptr < ObjectConstCalcer > | shared_ptr |
Public Types inherited from ObjectCalcer | |
typedef myboost::intrusive_ptr < ObjectCalcer > | shared_ptr |
Public Member Functions | |
ObjectConstCalcer (ObjectImp *imp) | |
~ObjectConstCalcer () | |
void | calc (const KigDocument &doc) |
const ObjectImp * | imp () const |
const ObjectImpType * | impRequirement (ObjectCalcer *o, const std::vector< ObjectCalcer * > &os) const |
bool | isDefinedOnOrThrough (const ObjectCalcer *o) const |
std::vector< ObjectCalcer * > | parents () const |
void | setImp (ObjectImp *newimp) |
ObjectImp * | switchImp (ObjectImp *newimp) |
Public Member Functions inherited from ObjectCalcer | |
virtual | ~ObjectCalcer () |
void | addChild (ObjectCalcer *c) |
virtual bool | canMove () const |
std::vector< ObjectCalcer * > | children () const |
void | delChild (ObjectCalcer *c) |
virtual bool | isFreelyTranslatable () const |
virtual std::vector < ObjectCalcer * > | movableParents () const |
virtual void | move (const Coordinate &to, const KigDocument &doc) |
virtual Coordinate | moveReferencePoint () const |
Additional Inherited Members | |
Protected Member Functions inherited from ObjectCalcer | |
ObjectCalcer () | |
void | deref () |
void | ref () |
Protected Attributes inherited from ObjectCalcer | |
std::vector< ObjectCalcer * > | mchildren |
int | refcount |
Detailed Description
This is an ObjectCalcer that keeps an ObjectImp, and never calculates a new one.
It is a trivial, but very useful ObjectCalcer. It is used often in Kig, for holding data to be used by other ObjectCalcer's.
Definition at line 232 of file object_calcer.h.
Member Typedef Documentation
Definition at line 237 of file object_calcer.h.
Constructor & Destructor Documentation
ObjectConstCalcer::ObjectConstCalcer | ( | ObjectImp * | imp | ) |
Construct a new ObjectConstCalcer with the given imp as the stored ObjectImp.
This class takes ownership of the imp you pass it, it should have been constructed using new, and this class is responsible for deleting it.
Definition at line 55 of file object_calcer.cc.
ObjectConstCalcer::~ObjectConstCalcer | ( | ) |
Definition at line 60 of file object_calcer.cc.
Member Function Documentation
|
virtual |
Makes the ObjectCalcer recalculate its ObjectImp from its parents.
Implements ObjectCalcer.
Definition at line 70 of file object_calcer.cc.
|
virtual |
Returns the ObjectImp of this ObjectCalcer.
Implements ObjectCalcer.
Definition at line 65 of file object_calcer.cc.
|
virtual |
An ObjectCalcer expects its parents to have an ObjectImp of a certain type.
This method returns the ObjectImpType that o
should have. os
is a list of all the parents in order, and o
is part of it. This method will return the ObjectImpType that the parent should at least be. For example, a Translated object can translate any sort of object, so it will return ObjectImp::stype() here ( the topmost ObjectImpType, that all other ObjectImpType's inherit ).
Implements ObjectCalcer.
Definition at line 221 of file object_calcer.cc.
|
virtual |
If this ObjectCalcer represents a curve, return true if the given point is by construction on this curve.
If this ObjectCalcer represents a point, return true if this point is by construction on the given curve.
Implements ObjectCalcer.
Definition at line 326 of file object_calcer.cc.
|
virtual |
Returns the parent ObjectCalcer's of this ObjectCalcer.
Implements ObjectCalcer.
Definition at line 74 of file object_calcer.cc.
void ObjectConstCalcer::setImp | ( | ObjectImp * | newimp | ) |
Set the ObjectImp of this ObjectConstCalcer to the given newimp.
The old one will be deleted.
Definition at line 241 of file object_calcer.cc.
Set the ObjectImp of this ObjectConstCalcer to the given newimp.
The old one will not be deleted, but returned.
Definition at line 202 of file object_calcer.cc.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:12:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.