kig
object_calcer.cc
Go to the documentation of this file.
virtual bool isFreelyTranslatable() const
Returns whether this ObjectCalcer can be translated at any position in the coordinate plane...
Definition: object_calcer.cc:265
ObjectImp * switchImp(ObjectImp *newimp)
Set the ObjectImp of this ObjectConstCalcer to the given newimp.
Definition: object_calcer.cc:202
void move(const Coordinate &to, const KigDocument &doc)
This is the method that does the real moving work.
Definition: object_calcer.cc:296
Instances of this class represent a certain ObjectImp type.
Definition: object_imp.h:95
const ObjectImp * imp() const
Returns the ObjectImp of this ObjectCalcer.
Definition: object_calcer.cc:65
void setImp(ObjectImp *newimp)
Set the ObjectImp of this ObjectConstCalcer to the given newimp.
Definition: object_calcer.cc:241
virtual Coordinate moveReferencePoint() const
In order to support simultaneously moving objects that are in different locations, we need for each object a location that it is assumed to be at, at the moment the moving starts.
Definition: object_calcer.cc:270
virtual void move(const Coordinate &to, const KigDocument &doc)
This is the method that does the real moving work.
Definition: object_calcer.cc:276
void setParents(const std::vector< ObjectCalcer * > np)
Set the parents of this ObjectTypeCalcer to np.
Definition: object_calcer.cc:246
virtual bool isDefinedOnOrThrough(const ObjectImp *o, const Args &parents) const =0
Supposing that parents would be given as parents to this type's calc function, this function returns ...
virtual const ObjectImpType * impRequirementForProperty(int which) const
Definition: object_imp.cc:76
virtual ObjectImp * property(int which, const KigDocument &d) const
Definition: object_imp.cc:70
int getPropLid(int propgid) const
mp: The following three methods (getPropLid, getPropGid, getPropName) deal with the properties of Obj...
Definition: object_imp.cc:347
std::vector< ObjectCalcer * > parents() const
Returns the parent ObjectCalcer's of this ObjectCalcer.
Definition: object_calcer.cc:176
virtual std::vector< ObjectCalcer * > movableParents() const
Moving an object most of the time signifies invoking changes in some of its parents.
Definition: object_calcer.cc:316
Coordinate moveReferencePoint() const
In order to support simultaneously moving objects that are in different locations, we need for each object a location that it is assumed to be at, at the moment the moving starts.
Definition: object_calcer.cc:291
void calc(const KigDocument &doc)
Makes the ObjectCalcer recalculate its ObjectImp from its parents.
Definition: object_calcer.cc:70
ObjectPropertyCalcer(ObjectCalcer *parent, int propid, bool islocal)
Construct a new ObjectPropertyCalcer, that will get the property from parent with number propid...
Definition: object_calcer.cc:147
virtual const QByteArrayList propertiesInternalNames() const
Definition: object_imp.cc:63
static const ObjectImpType * stype()
The ObjectImpType representing the base ObjectImp class.
Definition: object_imp.cc:284
bool isDefinedOnOrThrough(const ObjectCalcer *o) const
If this ObjectCalcer represents a curve, return true if the given point is by construction on this cu...
Definition: object_calcer.cc:331
virtual ObjectImp * calc(const Args &parents, const KigDocument &d) const =0
virtual std::vector< ObjectCalcer * > movableParents(const ObjectTypeCalcer &ourobj) const
Definition: object_type.cc:118
The Coordinate class is the basic class representing a 2D location by its x and y components...
Definition: coordinate.h:33
void calc(const KigDocument &doc)
Makes the ObjectCalcer recalculate its ObjectImp from its parents.
Definition: object_calcer.cc:183
std::vector< ObjectCalcer * > movableParents() const
Moving an object most of the time signifies invoking changes in some of its parents.
Definition: object_calcer.cc:321
bool canMove() const
Returns whether this ObjectCalcer supports moving.
Definition: object_calcer.cc:281
const ObjectImpType * impRequirement(ObjectCalcer *o, const std::vector< ObjectCalcer * > &os) const
An ObjectCalcer expects its parents to have an ObjectImp of a certain type.
Definition: object_calcer.cc:228
const ObjectImp * imp() const
Returns the ObjectImp of this ObjectCalcer.
Definition: object_calcer.cc:100
An ObjectCalcer is an object that represents an algorithm for calculating an ObjectImp from other Obj...
Definition: object_calcer.h:66
std::vector< ObjectCalcer * > parents() const
Returns the parent ObjectCalcer's of this ObjectCalcer.
Definition: object_calcer.cc:74
ObjectTypeCalcer(const ObjectType *type, const std::vector< ObjectCalcer * > &parents, bool sort=true)
Construct a new ObjectTypeCalcer with a given type and parents.
Definition: object_calcer.cc:43
virtual bool isPropertyDefinedOnOrThroughThisImp(int which) const
Definition: object_imp.cc:326
virtual bool canMove(const ObjectTypeCalcer &ourobj) const
Definition: object_type.cc:46
The ObjectType class is a thing that represents the "behaviour" for a certain type.
Definition: object_type.h:32
virtual const Coordinate moveReferencePoint(const ObjectTypeCalcer &ourobj) const
Definition: object_type.cc:102
ObjectConstCalcer(ObjectImp *imp)
Construct a new ObjectConstCalcer with the given imp as the stored ObjectImp.
Definition: object_calcer.cc:55
const ObjectImp * imp() const
Returns the ObjectImp of this ObjectCalcer.
Definition: object_calcer.cc:171
virtual void move(ObjectTypeCalcer &ourobj, const Coordinate &to, const KigDocument &d) const
Definition: object_type.cc:56
virtual bool canMove() const
Returns whether this ObjectCalcer supports moving.
Definition: object_calcer.cc:260
bool isDefinedOnOrThrough(const ObjectCalcer *o) const
If this ObjectCalcer represents a curve, return true if the given point is by construction on this cu...
Definition: object_calcer.cc:338
virtual const ObjectImpType * impRequirement(const ObjectImp *o, const Args &parents) const =0
Supposing that parents would be given as parents to this type's calc function, this function returns ...
KigDocument is the class holding the real data in a Kig document.
Definition: kig_document.h:36
bool isFreelyTranslatable() const
Returns whether this ObjectCalcer can be translated at any position in the coordinate plane...
Definition: object_calcer.cc:286
virtual const ObjectImp * imp() const =0
Returns the ObjectImp of this ObjectCalcer.
std::vector< ObjectCalcer * > parents() const
Returns the parent ObjectCalcer's of this ObjectCalcer.
Definition: object_calcer.cc:105
std::vector< ObjectCalcer * > children() const
Returns the child ObjectCalcer's of this ObjectCalcer.
Definition: object_calcer.cc:209
bool isDefinedOnOrThrough(const ObjectCalcer *o) const
If this ObjectCalcer represents a curve, return true if the given point is by construction on this cu...
Definition: object_calcer.cc:326
void calc(const KigDocument &doc)
Makes the ObjectCalcer recalculate its ObjectImp from its parents.
Definition: object_calcer.cc:32
void addChild(ObjectCalcer *c)
a calcer should call this to register itself as a child of this calcer.
Definition: object_calcer.cc:110
The ObjectImp class represents the behaviour of an object after it is calculated. ...
Definition: object_imp.h:226
void delChild(ObjectCalcer *c)
a calcer should call this in its destructor, to inform its parent that it is no longer a child of thi...
Definition: object_calcer.cc:116
const ObjectImpType * impRequirement(ObjectCalcer *o, const std::vector< ObjectCalcer * > &os) const
An ObjectCalcer expects its parents to have an ObjectImp of a certain type.
Definition: object_calcer.cc:221
const ObjectImpType * impRequirement(ObjectCalcer *o, const std::vector< ObjectCalcer * > &os) const
An ObjectCalcer expects its parents to have an ObjectImp of a certain type.
Definition: object_calcer.cc:214
virtual bool isFreelyTranslatable(const ObjectTypeCalcer &ourobj) const
Definition: object_type.cc:51
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:12:05 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:12:05 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.