18 #ifndef KIG_OBJECTS_OBJECT_IMP_H 19 #define KIG_OBJECTS_OBJECT_IMP_H 28 class TransformationImp;
53 class ObjectImpVisitor
56 virtual ~ObjectImpVisitor();
57 void visit(
const ObjectImp* imp );
58 virtual void visit(
const IntImp* imp );
59 virtual void visit(
const DoubleImp* imp );
60 virtual void visit(
const StringImp* imp );
61 virtual void visit(
const InvalidImp* imp );
62 virtual void visit(
const HierarchyImp* imp );
63 virtual void visit(
const TransformationImp* imp );
64 virtual void visit(
const TestResultImp* imp );
65 virtual void visit(
const LineImp* imp );
66 virtual void visit(
const PointImp* imp );
67 virtual void visit(
const TextImp* imp );
68 virtual void visit(
const AngleImp* imp );
69 virtual void visit(
const VectorImp* imp );
70 virtual void visit(
const LocusImp* imp );
71 virtual void visit(
const CircleImp* imp );
72 virtual void visit(
const ConicImp* imp );
73 virtual void visit(
const CubicImp* imp );
74 virtual void visit(
const SegmentImp* imp );
75 virtual void visit(
const RayImp* imp );
76 virtual void visit(
const ArcImp* imp );
77 virtual void visit(
const PolygonImp* imp );
80 typedef unsigned int uint;
90 const ObjectImpType* mparent;
91 const char* minternalname;
92 const char* mtranslatedname;
93 const char* mselectstatement;
94 const char* mselectnamestatement;
95 const char* mremoveastatement;
96 const char* maddastatement;
97 const char* mmoveastatement;
98 const char* mattachtothisstatement;
99 const char* mshowastatement;
100 const char* mhideastatement;
102 static StaticPrivate* sd();
111 static const ObjectImpType* typeFromInternalName(
const char* n );
134 const ObjectImpType* parent,
const char* internalname,
135 const char* translatedname,
136 const char* selectstatement,
137 const char* selectnamestatement,
138 const char* removeastatement,
139 const char* addastatement,
140 const char* moveastatement,
141 const char* attachtothisstatement,
142 const char* showastatement,
143 const char* hideastatement );
150 bool inherits(
const ObjectImpType* t )
const;
157 const char* internalName()
const;
161 TQString translatedName()
const;
167 const char* selectStatement()
const;
175 const char* selectNameStatement()
const;
181 TQString removeAStatement()
const;
186 TQString addAStatement()
const;
191 TQString moveAStatement()
const;
197 TQString attachToThisStatement()
const;
203 TQString showAStatement()
const;
209 TQString hideAStatement()
const;
227 static const ObjectImpType* stype();
229 virtual ~ObjectImp();
245 bool inherits(
const ObjectImpType* t )
const;
268 virtual ObjectImp* transform(
const Transformation& t )
const = 0;
270 virtual void draw( KigPainter& p )
const = 0;
271 virtual bool contains(
const Coordinate& p,
int width,
272 const KigWidget& si )
const = 0;
273 virtual bool inRect(
const Rect& r,
int width,
274 const KigWidget& si )
const = 0;
275 virtual Rect surroundingRect()
const = 0;
284 virtual const uint numberOfProperties()
const;
287 virtual const QCStringList properties()
const;
291 virtual const QCStringList propertiesInternalNames()
const;
292 virtual ObjectImp* property( uint which,
const KigDocument& d )
const;
296 virtual const ObjectImpType* impRequirementForProperty( uint which )
const;
300 virtual bool isPropertyDefinedOnOrThroughThisImp( uint which )
const;
302 virtual const char* iconForProperty( uint which )
const;
319 virtual const ObjectImpType* type()
const = 0;
320 virtual void visit( ObjectImpVisitor* vtor )
const = 0;
327 virtual ObjectImp* copy()
const = 0;
338 virtual bool canFillInNextEscape()
const;
339 virtual void fillInNextEscape( TQString& s,
const KigDocument& )
const;
348 virtual bool equals(
const ObjectImp& rhs )
const = 0;
358 virtual bool isCache()
const;
The Coordinate class is the basic class representing a 2D location by its x and y components...
Definition: coordinate.h:33