kivio
sml_connector.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SML_CONNECTOR_H
00020 #define SML_CONNECTOR_H
00021
00022
00023 #include "kivio_arrowhead.h"
00024 #include "kivio_connector_point.h"
00025 #include "kivio_custom_drag_data.h"
00026 #include "kivio_intra_stencil_data.h"
00027 #include "kiviostencilfactory.h"
00028 #include "kivio_text_style.h"
00029 #include "kivio_point.h"
00030 #include "kivio_stencil.h"
00031
00032 class KivioPage;
00033 class KivioShape;
00034 #include <qstringlist.h>
00035 #include <qcolor.h>
00036 #include <qdom.h>
00037
00038 #include "kivio_1d_stencil.h"
00039
00040
00041 class KivioSMLConnector : public Kivio1DStencil
00042 {
00043 private:
00044 bool loadPath(const QString &file);
00045
00046 KivioShape *m_shape;
00047 QPtrList<KivioConnectorPoint> m_PointList;
00048
00049 QString m_name;
00050 protected:
00051
00052 KivioArrowHead *m_startAH;
00053 KivioArrowHead *m_endAH;
00054
00055 bool loadArrowHeads( const QDomElement & );
00056 QDomElement saveArrowHeads( QDomDocument & );
00057 virtual bool loadCustom( const QDomElement & );
00058 virtual bool saveCustom( QDomElement &, QDomDocument & );
00059
00060 public:
00061 KivioSMLConnector(const QString& name);
00062 virtual ~KivioSMLConnector();
00063
00064 virtual void setStartPoint( double, double );
00065 virtual void setEndPoint( double, double );
00066
00067 virtual KivioCollisionType checkForCollision( KivioPoint *, double );
00068
00069 virtual KivioStencil* duplicate();
00070
00071 virtual void paint( KivioIntraStencilData * );
00072 virtual void paintOutline( KivioIntraStencilData * );
00073
00074
00075
00076
00077 virtual void setStartAHType( int i ) { m_startAH->setType(i); }
00078 virtual void setStartAHWidth( double f ) { m_startAH->setWidth(f); }
00079 virtual void setStartAHLength( double f ) { m_startAH->setLength(f); }
00080 virtual void setEndAHType( int i ) { m_endAH->setType(i); }
00081 virtual void setEndAHWidth( double f ) { m_endAH->setWidth(f); }
00082 virtual void setEndAHLength( double f ) { m_endAH->setLength(f); }
00083
00084 virtual int startAHType() { return m_startAH->type(); }
00085 virtual double startAHWidth() { return m_startAH->width(); }
00086 virtual double startAHLength() { return m_startAH->length(); }
00087 virtual int endAHType() { return m_endAH->type(); }
00088 virtual double endAHWidth() { return m_endAH->width(); }
00089 virtual double endAHLength() { return m_endAH->length(); }
00090
00091 };
00092
00093 class KivioSMLConnectorFactory : public KivioStencilFactory
00094 {
00095 Q_OBJECT
00096 public:
00097 KivioSMLConnectorFactory(QObject *parent=0, const char* name=0, const QStringList& args = QStringList());
00098 KivioStencil *NewStencil(const QString& name);
00099 KivioStencil *NewStencil();
00100 QPixmap *GetIcon();
00101 KivioStencilSpawnerInfo *GetSpawnerInfo();
00102 };
00103 #endif
00104
|