19#ifndef STRAIGHT_CONNECTOR_H
20#define STRAIGHT_CONNECTOR_H
23#include "kivio_arrowhead.h"
24#include "kivio_connector_point.h"
25#include "kivio_custom_drag_data.h"
26#include "kivio_intra_stencil_data.h"
27#include "kiviostencilfactory.h"
28#include "kivio_point.h"
29#include "kivio_stencil.h"
36#include "kivio_1d_stencil.h"
39class KivioStraightConnector :
public Kivio1DStencil
42 KivioArrowHead *m_startAH;
43 KivioArrowHead *m_endAH;
45 bool loadArrowHeads(
const TQDomElement & );
46 TQDomElement saveArrowHeads( TQDomDocument & );
49 KivioStraightConnector();
50 virtual ~KivioStraightConnector();
52 virtual void setStartPoint(
double,
double );
53 virtual void setEndPoint(
double,
double );
55 virtual KivioCollisionType checkForCollision( KoPoint *,
double );
57 virtual KivioStencil* duplicate();
59 virtual void paint( KivioIntraStencilData * );
60 virtual void paintOutline( KivioIntraStencilData * );
62 virtual bool loadCustom(
const TQDomElement & );
63 virtual bool saveCustom( TQDomElement &, TQDomDocument & );
66 virtual void setStartAHType(
int i ) { m_startAH->setType(i); }
67 virtual void setStartAHWidth(
double f ) { m_startAH->setWidth(f); }
68 virtual void setStartAHLength(
double f ) { m_startAH->setLength(f); }
69 virtual void setEndAHType(
int i ) { m_endAH->setType(i); }
70 virtual void setEndAHWidth(
double f ) { m_endAH->setWidth(f); }
71 virtual void setEndAHLength(
double f ) { m_endAH->setLength(f); }
73 virtual int startAHType() {
return m_startAH->type(); }
74 virtual double startAHWidth() {
return m_startAH->width(); }
75 virtual double startAHLength() {
return m_startAH->length(); }
76 virtual int endAHType() {
return m_endAH->type(); }
77 virtual double endAHWidth() {
return m_endAH->width(); }
78 virtual double endAHLength() {
return m_endAH->length(); }
80 virtual bool hasTextBox()
const;
83class KIVIOPLUGINS_EXPORT KivioConnectorFactory :
public KivioStencilFactory
88 KivioConnectorFactory(TQObject *parent=0,
const char* name=0,
const TQStringList& args = TQStringList());
89 KivioStencil *NewStencil(
const TQString& name);
90 KivioStencil *NewStencil();
92 KivioStencilSpawnerInfo *GetSpawnerInfo();