• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdeedu
  • Sitemap
  • Contact Us
 

kig

ObjectType Class Reference

#include <object_type.h>

Inheritance diagram for ObjectType:

Inheritance graph
[legend]

List of all members.


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 ~ObjectType ()
virtual bool inherits (int type) const
virtual ObjectImp * calc (const Args &parents, const KigDocument &d) const =0
virtual bool canMove (const ObjectTypeCalcer &ourobj) const
virtual bool isFreelyTranslatable (const ObjectTypeCalcer &ourobj) const
virtual std::vector
< ObjectCalcer * > 
movableParents (const ObjectTypeCalcer &ourobj) const
virtual const Coordinate moveReferencePoint (const ObjectTypeCalcer &ourobj) const
virtual void move (ObjectTypeCalcer &ourobj, const Coordinate &to, const KigDocument &d) const
const char * fullName () const
virtual const ObjectImpType * impRequirement (const ObjectImp *o, const Args &parents) const =0
virtual bool isDefinedOnOrThrough (const ObjectImp *o, const Args &parents) const =0
virtual const ObjectImpType * resultId () const =0
virtual std::vector
< ObjectCalcer * > 
sortArgs (const std::vector< ObjectCalcer * > &args) const =0
virtual Args sortArgs (const Args &args) const =0
virtual bool isTransform () const
virtual QStringList specialActions () const
virtual void executeAction (int i, ObjectHolder &o, ObjectTypeCalcer &t, KigPart &d, KigWidget &w, NormalMode &m) const

Protected Member Functions

 ObjectType (const char fulltypename[])

Member Enumeration Documentation

anonymous enum

Enumerator:
ID_ConstrainedPointType 
ID_LocusType 
ID_FixedPointType 

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

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

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.

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.

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.

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

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.

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, 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]

Implemented in ArgsParserObjectType, LocusType, CopyObjectType, CursorPointType, MeasureTransportType, PolygonBNPType, PolygonBCVType, GenericTextType, PythonCompileType, and PythonExecuteType.

virtual Args ObjectType::sortArgs ( const Args &  args  )  const [pure virtual]

Implemented in ArgsParserObjectType, LocusType, CopyObjectType, CursorPointType, MeasureTransportType, PolygonBNPType, PolygonBCVType, GenericTextType, PythonCompileType, and PythonExecuteType.

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.

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.

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.


The documentation for this class was generated from the following files:
  • object_type.h
  • object_type.cc

kig

Skip menu "kig"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members

kdeedu

Skip menu "kdeedu"
  • kalzium
  • kanagram
  • kig
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
Generated for kdeedu by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal