kig
ObjectType Class Reference
#include <object_type.h>

Detailed Description
The ObjectType class is a thing that represents the "behaviour" for a certain type.This basically means that it decides what ObjectImp the object gets in the calc() function, how the object move()'s etc.
Definition at line 32 of file object_type.h.
Public Types | |
| enum | { ID_ConstrainedPointType, ID_LocusType, ID_FixedPointType } |
Public Member Functions | |
| virtual ObjectImp * | calc (const Args &parents, const KigDocument &d) const =0 |
| virtual bool | canMove (const ObjectTypeCalcer &ourobj) const |
| virtual void | executeAction (int i, ObjectHolder &o, ObjectTypeCalcer &t, KigPart &d, KigWidget &w, NormalMode &m) const |
| const char * | fullName () const |
| virtual const ObjectImpType * | impRequirement (const ObjectImp *o, const Args &parents) const =0 |
| virtual bool | inherits (int type) const |
| virtual bool | isDefinedOnOrThrough (const ObjectImp *o, const Args &parents) const =0 |
| virtual bool | isFreelyTranslatable (const ObjectTypeCalcer &ourobj) const |
| virtual bool | isTransform () const |
| virtual std::vector < ObjectCalcer * > | movableParents (const ObjectTypeCalcer &ourobj) const |
| virtual void | move (ObjectTypeCalcer &ourobj, const Coordinate &to, const KigDocument &d) const |
| virtual const Coordinate | moveReferencePoint (const ObjectTypeCalcer &ourobj) const |
| virtual const ObjectImpType * | resultId () const =0 |
| virtual Args | sortArgs (const Args &args) const =0 |
| virtual std::vector < ObjectCalcer * > | sortArgs (const std::vector< ObjectCalcer * > &args) const =0 |
| virtual QStringList | specialActions () const |
| virtual | ~ObjectType () |
Protected Member Functions | |
| ObjectType (const char fulltypename[]) | |
Member Enumeration Documentation
| anonymous enum |
Definition at line 40 of file object_type.h.
Constructor & Destructor Documentation
| ObjectType::ObjectType | ( | const char | fulltypename[] | ) | [protected] |
Definition at line 38 of file object_type.cc.
| ObjectType::~ObjectType | ( | ) | [virtual] |
Definition at line 34 of file object_type.cc.
Member Function Documentation
| virtual ObjectImp* ObjectType::calc | ( | const Args & | parents, | |
| const KigDocument & | d | |||
| ) | const [pure virtual] |
Implemented in AngleType, HalfAngleType, ArcBTPType, ArcBCPAType, ConicArcBCTPType, ConicArcB5PType, ObjectABType, ObjectLPType, CocConicType, CocCubicType, CocCurveType, CircleBPRType, CircleBTPType, ConicB5PType, ConicBAAPType, ConicBFFPType, ConicBDFPType, ParabolaBTPType, EquilateralHyperbolaB4PType, ConicPolarPointType, ConicPolarLineType, ConicDirectrixType, ConicAsymptoteType, ConicRadicalType, CubicB9PType, CubicNodeB6PType, CubicCuspB4PType, VerticalCubicB4PType, ConicLineIntersectionType, ConicLineOtherIntersectionType, CubicLineOtherIntersectionType, CubicLineTwoIntersectionType, CircleCircleOtherIntersectionType, LineLineIntersectionType, LineCubicIntersectionType, CircleCircleIntersectionType, ArcLineIntersectionType, CircularInversionType, InvertPointType, InvertLineType, InvertSegmentType, InvertCircleType, InvertArcType, LineByVectorType, HalflineByVectorType, LocusType, CopyObjectType, FixedPointType, RelativePointType, CursorPointType, ConstrainedPointType, MeasureTransportType, MeasureTransportTypeOld, PointByCoordsType, TriangleB3PType, PolygonBNPType, PolygonBCVType, PolygonLineIntersectionType, PolygonPolygonIntersectionType, PolygonVertexType, PolygonSideType, ConvexHullType, TangentConicType, TangentArcType, TangentCubicType, TangentCurveType, AreParallelType, AreOrthogonalType, AreCollinearType, ContainsTestType, InPolygonTestType, ConvexPolygonTestType, SameDistanceType, VectorEqualityTestType, ExistenceTestType, GenericTextType, TranslatedType, PointReflectionType, LineReflectionType, RotationType, ScalingOverCenterType, ScalingOverCenter2Type, ScalingOverLineType, ScalingOverLine2Type, ProjectiveRotationType, HarmonicHomologyType, AffinityB2TrType, AffinityGI3PType, ProjectivityB2QuType, ProjectivityGI4PType, CastShadowType, ApplyTransformationObjectType, SimilitudeType, VectorSumType, PythonCompileType, and PythonExecuteType.
| bool ObjectType::canMove | ( | const ObjectTypeCalcer & | ourobj | ) | const [virtual] |
Reimplemented in ObjectABType, FixedPointType, RelativePointType, CursorPointType, ConstrainedPointType, TriangleB3PType, PolygonBNPType, PolygonBCVType, and GenericTextType.
Definition at line 44 of file object_type.cc.
| void ObjectType::executeAction | ( | int | i, | |
| ObjectHolder & | o, | |||
| ObjectTypeCalcer & | t, | |||
| KigPart & | d, | |||
| KigWidget & | w, | |||
| NormalMode & | m | |||
| ) | const [virtual] |
execute the i 'th action from the specialActions above.
Reimplemented in AngleType, ConicRadicalType, SegmentABType, FixedPointType, ConstrainedPointType, GenericTextType, TextType, and NumericTextType.
Definition at line 94 of file object_type.cc.
| const char * ObjectType::fullName | ( | ) | const |
Definition at line 29 of file object_type.cc.
| virtual const ObjectImpType* ObjectType::impRequirement | ( | const ObjectImp * | o, | |
| const Args & | parents | |||
| ) | const [pure virtual] |
Supposing that parents would be given as parents to this type's calc function, this function returns the ObjectImp id that o should at least have.
( o should be part of parents )
Implemented in ArcBTPType, ArcBCPAType, ArgsParserObjectType, LocusType, CopyObjectType, CursorPointType, MeasureTransportType, PolygonBNPType, PolygonBCVType, GenericTextType, PythonCompileType, and PythonExecuteType.
| bool ObjectType::inherits | ( | int | type | ) | const [virtual] |
Reimplemented in ArcBTPType, ArcBCPAType, LocusType, CopyObjectType, FixedPointType, and ConstrainedPointType.
Definition at line 62 of file object_type.cc.
| virtual bool ObjectType::isDefinedOnOrThrough | ( | const ObjectImp * | o, | |
| const Args & | parents | |||
| ) | const [pure virtual] |
Supposing that parents would be given as parents to this type's calc function, this function returns whether the returned ObjectImp will be, by construction, on o ( if o is a curve ), or through o ( if o is a point ).
Implemented in ArgsParserObjectType, CopyObjectType, CursorPointType, MeasureTransportType, PolygonBNPType, PolygonBCVType, GenericTextType, PythonCompileType, and PythonExecuteType.
| bool ObjectType::isFreelyTranslatable | ( | const ObjectTypeCalcer & | ourobj | ) | const [virtual] |
Reimplemented in ObjectABType, FixedPointType, RelativePointType, ConstrainedPointType, TriangleB3PType, PolygonBNPType, PolygonBCVType, and GenericTextType.
Definition at line 49 of file object_type.cc.
| bool ObjectType::isTransform | ( | ) | const [virtual] |
is this object type a transformation type.
We want to know this cause transform types are shown separately in an object's RMB menu.
Reimplemented in TranslatedType, PointReflectionType, LineReflectionType, RotationType, ScalingOverCenterType, ScalingOverCenter2Type, ScalingOverLineType, ScalingOverLine2Type, ProjectiveRotationType, HarmonicHomologyType, AffinityB2TrType, AffinityGI3PType, ProjectivityB2QuType, ProjectivityGI4PType, CastShadowType, ApplyTransformationObjectType, and SimilitudeType.
Definition at line 84 of file object_type.cc.
| std::vector< ObjectCalcer * > ObjectType::movableParents | ( | const ObjectTypeCalcer & | ourobj | ) | const [virtual] |
Reimplemented in ObjectABType, FixedPointType, RelativePointType, ConstrainedPointType, TriangleB3PType, PolygonBNPType, PolygonBCVType, and GenericTextType.
Definition at line 116 of file object_type.cc.
| void ObjectType::move | ( | ObjectTypeCalcer & | ourobj, | |
| const Coordinate & | to, | |||
| const KigDocument & | d | |||
| ) | const [virtual] |
Reimplemented in ObjectABType, FixedPointType, RelativePointType, CursorPointType, ConstrainedPointType, TriangleB3PType, PolygonBNPType, PolygonBCVType, and GenericTextType.
Definition at line 54 of file object_type.cc.
| const Coordinate ObjectType::moveReferencePoint | ( | const ObjectTypeCalcer & | ourobj | ) | const [virtual] |
Reimplemented in ObjectABType, FixedPointType, RelativePointType, ConstrainedPointType, TriangleB3PType, PolygonBNPType, PolygonBCVType, and GenericTextType.
Definition at line 100 of file object_type.cc.
| virtual const ObjectImpType* ObjectType::resultId | ( | ) | const [pure virtual] |
returns the ObjectImp id of the ObjectImp's produced by this ObjectType.
if the ObjectType can return different sorts of ObjectImp's, it should return the biggest common id, or ID_AnyImp.
Implemented in AngleType, HalfAngleType, ArcBTPType, ArcBCPAType, ConicArcBCTPType, ConicArcB5PType, CocConicType, CocCubicType, CocCurveType, CircleBCPType, CircleBPRType, CircleBTPType, ConicB5PType, ConicBAAPType, ConicBFFPType, ConicBDFPType, ParabolaBTPType, EquilateralHyperbolaB4PType, ConicPolarPointType, ConicPolarLineType, ConicDirectrixType, ParabolaBDPType, ConicAsymptoteType, ConicRadicalType, CubicB9PType, CubicNodeB6PType, CubicCuspB4PType, VerticalCubicB4PType, ConicLineIntersectionType, ConicLineOtherIntersectionType, CubicLineOtherIntersectionType, CubicLineTwoIntersectionType, CircleCircleOtherIntersectionType, LineLineIntersectionType, LineCubicIntersectionType, CircleCircleIntersectionType, ArcLineIntersectionType, CircularInversionType, InvertPointType, InvertLineType, InvertSegmentType, InvertCircleType, InvertArcType, SegmentABType, LineABType, RayABType, LinePerpendLPType, LineParallelLPType, LineByVectorType, HalflineByVectorType, LocusType, CopyObjectType, FixedPointType, RelativePointType, CursorPointType, ConstrainedPointType, MidPointType, MeasureTransportType, MeasureTransportTypeOld, PointByCoordsType, TriangleB3PType, PolygonBNPType, PolygonBCVType, PolygonLineIntersectionType, PolygonPolygonIntersectionType, PolygonVertexType, PolygonSideType, ConvexHullType, TangentConicType, TangentArcType, TangentCubicType, TangentCurveType, AreParallelType, AreOrthogonalType, AreCollinearType, ContainsTestType, InPolygonTestType, ConvexPolygonTestType, SameDistanceType, VectorEqualityTestType, ExistenceTestType, GenericTextType, TranslatedType, PointReflectionType, LineReflectionType, RotationType, ScalingOverCenterType, ScalingOverCenter2Type, ScalingOverLineType, ScalingOverLine2Type, ProjectiveRotationType, HarmonicHomologyType, AffinityB2TrType, AffinityGI3PType, ProjectivityB2QuType, ProjectivityGI4PType, CastShadowType, ApplyTransformationObjectType, SimilitudeType, VectorType, VectorSumType, PythonCompileType, and PythonExecuteType.
| virtual std::vector<ObjectCalcer*> ObjectType::sortArgs | ( | const std::vector< ObjectCalcer * > & | args | ) | const [pure virtual] |
| QStringList ObjectType::specialActions | ( | ) | const [virtual] |
return i18n'd names for the special actions.
Reimplemented in AngleType, ConicRadicalType, SegmentABType, FixedPointType, ConstrainedPointType, GenericTextType, TextType, and NumericTextType.
Definition at line 89 of file object_type.cc.
The documentation for this class was generated from the following files:
KDE 4.2 API Reference