1#ifndef _KIVIO_1D_STENCIL_H
2#define _KIVIO_1D_STENCIL_H
11#include <koffice_export.h>
13#include "kivio_stencil.h"
14#include "kivio_text_style.h"
17class KivioConnectorPoint;
18class KivioCustomDragData;
21class KivioIntraStencilData;
25class KIVIO_EXPORT Kivio1DStencil :
public KivioStencil
28 TQPtrList <KivioConnectorPoint> *m_pConnectorPoints;
30 KivioConnectorPoint *m_pStart, *m_pEnd;
31 KivioConnectorPoint *m_pLeft, *m_pRight;
32 KivioConnectorPoint *m_pTextConn;
34 double m_connectorWidth;
38 KivioFillStyle *m_pFillStyle;
39 KivioLineStyle *m_pLineStyle;
40 KivioTextStyle *m_pTextStyle;
43 bool boolAllTrue(
bool *,
int );
44 bool boolContainsFalse(
bool *,
int );
46 virtual TQDomElement createRootElement( TQDomDocument & );
48 virtual bool saveCustom( TQDomElement &, TQDomDocument & );
49 TQDomElement saveConnectors( TQDomDocument &doc );
50 TQDomElement saveProperties( TQDomDocument &doc );
52 virtual bool loadCustom(
const TQDomElement & );
53 bool loadConnectors(
const TQDomElement & );
54 bool loadProperties(
const TQDomElement & );
57 void copyBasicInto( Kivio1DStencil * );
58 void drawText( KivioIntraStencilData * );
62 virtual ~Kivio1DStencil();
64 virtual bool connected();
67 virtual void setFGColor( TQColor c );
68 virtual TQColor fgColor();
72 virtual void setBGColor( TQColor c );
73 virtual TQColor bgColor();
75 virtual void setText(
const TQString & t ) { m_pTextStyle->setText(t); }
76 virtual TQString text() {
return m_pTextStyle->text(); }
78 virtual void setTextColor( TQColor c ) { m_pTextStyle->setColor(c); }
79 virtual TQColor textColor() {
return m_pTextStyle->color(); }
81 virtual TQFont textFont() {
return m_pTextStyle->font(); }
82 virtual void setTextFont(
const TQFont &f ) { m_pTextStyle->setFont(f); }
84 virtual int hTextAlign() {
return m_pTextStyle->hTextAlign(); }
85 virtual int vTextAlign() {
return m_pTextStyle->vTextAlign(); }
87 virtual void setHTextAlign(
int i) { m_pTextStyle->setHTextAlign(i); }
88 virtual void setVTextAlign(
int i) { m_pTextStyle->setVTextAlign(i); }
92 virtual void setLineWidth(
double f );
93 virtual double lineWidth();
95 virtual void setLinePattern(
int p);
96 virtual int linePattern();
98 virtual void setFillPattern(
int p);
99 virtual int fillPattern();
102 virtual void setX(
double );
103 virtual void setY(
double );
104 virtual void setPosition(
double,
double );
108 virtual void setStartPoint(
double,
double );
109 virtual void setEndPoint(
double,
double );
113 virtual void paint( KivioIntraStencilData * );
114 virtual void paintOutline( KivioIntraStencilData * );
115 virtual void paintConnectorTargets( KivioIntraStencilData * );
116 virtual void paintSelectionHandles( KivioIntraStencilData * );
120 virtual KivioCollisionType checkForCollision( KoPoint *,
double );
124 virtual void customDrag( KivioCustomDragData * );
128 virtual void updateGeometry();
129 virtual void updateConnectorPoints( KivioConnectorPoint *,
double,
double );
133 virtual bool loadXML(
const TQDomElement & );
134 virtual TQDomElement saveXML( TQDomDocument & );
138 virtual KivioStencil* duplicate();
142 virtual void searchForConnections( KivioPage * );
143 virtual void searchForConnections( KivioPage *pPage,
double threshold );
147 virtual int resizeHandlePositions();
149 virtual void disconnectFromTargets();
150 virtual KivioLineStyle lineStyle();
151 virtual void setLineStyle(KivioLineStyle ls);
153 virtual void setCustomIDPoint(
int customID,
const KoPoint& point, KivioPage* page);
154 virtual KoPoint customIDPoint(
int customID);