20#ifndef KIVIO_PY_STENCIL_H
21#define KIVIO_PY_STENCIL_H
27#include "kivio_stencil.h"
40class KivioPyStencilSpawner;
45class KivioPyStencil :
public KivioStencil
48friend class KivioPyStencilSpawner;
52 virtual ~KivioPyStencil();
55 virtual bool loadXML(
const TQDomElement & );
56 virtual TQDomElement saveXML( TQDomDocument & );
57 virtual void loadConnectorTargetListXML(
const TQDomElement & );
59 virtual void updateGeometry();
60 virtual KivioStencil *duplicate();
61 virtual KivioCollisionType checkForCollision( KoPoint *pPoint,
double );
62 virtual int resizeHandlePositions();
64 virtual void paint( KivioIntraStencilData * );
65 virtual void paintOutline( KivioIntraStencilData * );
66 virtual void paint( KivioIntraStencilData * ,
bool outlined);
67 virtual void paintConnectorTargets( KivioIntraStencilData * );
68 virtual KivioConnectorTarget *connectToTarget( KivioConnectorPoint *p,
double threshHold );
69 virtual KivioConnectorTarget *connectToTarget( KivioConnectorPoint *p,
int targetID );
71 virtual int generateIds(
int );
73 virtual TQColor fgColor();
74 virtual void setFGColor( TQColor );
76 virtual void setBGColor( TQColor );
77 virtual TQColor bgColor();
79 virtual void setLineWidth(
double );
80 virtual double lineWidth();
83 virtual TQColor textColor();
84 virtual void setTextColor( TQColor );
86 virtual TQFont textFont();
87 virtual void setTextFont(
const TQFont & );
89 virtual int hTextAlign();
90 virtual int vTextAlign();
92 virtual void setHTextAlign(
int);
93 virtual void setVTextAlign(
int);
95 virtual void setText(
const TQString & );
96 virtual TQString text();
100 PyObject *vars, *globals;
102 double old_x, old_y, old_w, old_h;
104 virtual void rescaleShapes( PyObject * );
109 virtual void setStyle( KivioIntraStencilData *d, PyObject *style,
int &fillStyle );
110 TQColor readColor( PyObject *color );
113 TQPtrList<KivioConnectorTarget> *m_pConnectorTargets;
118 int init( TQString initCode);
120 int runPython(TQString code);
121 double getDoubleFromDict( PyObject *dict,
const char* key );
122 TQString getStringFromDict( PyObject *dict,
const char* key );
124 void PyDebug( PyObject * );
129 #define KivioPyStencil KivioStencil