karbon
vselecttool.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __VSELECTTOOL_H__
00021 #define __VSELECTTOOL_H__
00022
00023 #include <kdialogbase.h>
00024 #include <klocale.h>
00025
00026 #include "vtool.h"
00027
00028 class KarbonView;
00029
00030 class VSelectOptionsWidget : public KDialogBase
00031 {
00032 Q_OBJECT
00033
00034 public:
00035 VSelectOptionsWidget( KarbonPart* part );
00036
00037 public slots:
00038 void modeChange( int mode );
00039
00040 private:
00041 KarbonPart* m_part;
00042 };
00043
00044 class VSelectTool : public VTool
00045 {
00046 Q_OBJECT
00047
00048 public:
00049 VSelectTool( KarbonView *view );
00050 virtual ~VSelectTool();
00051
00052 virtual void setup(KActionCollection *collection);
00053 virtual bool showDialog() const;
00054 virtual QString uiname() { return i18n( "Select Tool" ); }
00055 virtual enumToolType toolType() { return TOOL_SELECT; }
00056 virtual QString statusText();
00057 virtual uint priority() { return 0; }
00058 virtual QString contextHelp();
00059
00060 virtual void refreshUnit();
00061
00062 virtual void activate();
00063
00064 protected:
00065 virtual void draw();
00066
00067 virtual void setCursor() const;
00068
00069 virtual void mouseButtonPress();
00070 virtual void rightMouseButtonPress();
00071 virtual void mouseButtonRelease();
00072 virtual void rightMouseButtonRelease();
00073 virtual void mouseDrag();
00074 virtual void mouseDragRelease();
00075 virtual void mouseDragCtrlPressed();
00076 virtual void mouseDragCtrlReleased();
00077 virtual void mouseDragShiftPressed();
00078 virtual void mouseDragShiftReleased();
00079 virtual void arrowKeyReleased( Qt::Key );
00080 virtual bool keyReleased( Qt::Key );
00081
00082 virtual void cancel();
00083
00084 protected slots:
00085 void updateStatusBar() const;
00086
00087 private:
00088 enum { normal, moving, scaling, rotating } m_state;
00089 bool m_lock;
00090
00091 bool m_add;
00092 double m_s1;
00093 double m_s2;
00094 double m_distx;
00095 double m_disty;
00096 KoPoint m_sp;
00097 KoPoint m_current;
00098
00099 VHandleNode m_activeNode;
00100
00101 void recalc();
00102
00103
00104 VObjectList m_objects;
00105
00106 VSelectOptionsWidget *m_optionsWidget;
00107 };
00108
00109 #endif
00110
|