kivio
tool_connector.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SML_TOOL_CONNECTOR_H
00020 #define SML_TOOL_CONNECTOR_H
00021
00022 #include "kivio_mousetool.h"
00023 #include <KoPoint.h>
00024
00025 class QMouseEvent;
00026 class QCursor;
00027
00028 class KToggleAction;
00029
00030 class KivioView;
00031 class KivioPage;
00032 class KivioSMLConnector;
00033 class KivioCustomDragData;
00034
00035 class SMLConnector : public Kivio::MouseTool
00036 { Q_OBJECT
00037 public:
00038 SMLConnector( KivioView* view );
00039 ~SMLConnector();
00040
00041 virtual bool processEvent( QEvent* );
00042
00043 void connector(QRect);
00044
00045 public slots:
00046 virtual void setActivated(bool a);
00047
00048 signals:
00049 void operationDone();
00050
00051 protected:
00052 void mousePress(QMouseEvent *);
00053 void mouseMove(QMouseEvent *);
00054 void mouseRelease(QMouseEvent *);
00055
00056 bool startRubberBanding(QMouseEvent*);
00057 void continueRubberBanding(QMouseEvent *);
00058 void endRubberBanding(QMouseEvent *);
00059
00060
00061
00062 QPoint m_startPoint, m_releasePoint;
00063
00064
00065 enum
00066 {
00067 stmNone,
00068 stmDrawRubber
00069 };
00070
00071 private:
00072
00073 int m_mode;
00074 QCursor* m_pConnectorCursor1;
00075 QCursor* m_pConnectorCursor2;
00076 KivioSMLConnector* m_pStencil;
00077 KoPoint startPoint;
00078 KivioCustomDragData* m_pDragData;
00079
00080 KToggleAction* m_connectorAction;
00081 };
00082
00083 #endif
00084
00085
|