Scribus
Open source desktop publishing at your fingertips
canvasmode_nodeedit.h
1 /*
2  For general Scribus (>=1.3.2) copyright and licensing information please refer
3  to the COPYING file provided with the program. Following this notice may exist
4  a copyright and/or license notice that predates the release of Scribus 1.3.2
5  for which a new license (GPL+exception) is in place.
6  */
7 /***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15 
16 
17 
18 #ifndef CANVAS_MODE_NODEEDIT_H
19 #define CANVAS_MODE_NODEEDIT_H
20 
21 #include "canvasmode.h"
22 
23 #include <QTransform>
24 #include <QRect>
25 
26 class QPainter;
27 
28 class PageItem;
29 class RectSelect;
30 class ScribusMainWindow;
31 
32 class SCRIBUS_API CanvasMode_NodeEdit : public CanvasMode
33 {
34 public:
35  explicit CanvasMode_NodeEdit (ScribusView* view);
36 
37  virtual void activate(bool fromgesture);
38  virtual void deactivate(bool forGesture);
39 
40  virtual void enterEvent(QEvent *);
41  virtual void leaveEvent(QEvent *);
42 
43  virtual void mouseDoubleClickEvent(QMouseEvent *m);
44  virtual void mouseReleaseEvent(QMouseEvent *m);
45  virtual void mouseMoveEvent(QMouseEvent *m);
46  virtual void mousePressEvent(QMouseEvent *m);
47 
48  virtual void keyPressEvent(QKeyEvent *e);
49  virtual void keyReleaseEvent(QKeyEvent *e);
50 
51  virtual bool handleKeyEvents() { return true; }
52 
53 
57  virtual void drawControls(QPainter* p);
58 
59 
60  virtual ~CanvasMode_NodeEdit() {};
61 
62 
63 private:
64  inline bool GetItem(PageItem** pi);
65  void handleNodeEditPress(QMouseEvent*, QRect);
66  void handleNodeEditDrag(QMouseEvent*, PageItem*);
67  bool handleNodeEditMove(QMouseEvent*, QRect, PageItem*, QTransform);
68 
69  ScribusMainWindow* m_ScMW;
70 
71  RectSelect* m_rectangleSelect;
72  int Mxp, Myp, Dxp, Dyp, GxM, GyM;
73  bool MoveGX, MoveGY;
74 };
75 
76 
77 #endif
virtual void deactivate(bool forGesture)
Definition: canvasmode.h:91
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition: scribus.h:123
virtual void drawControls(QPainter *p)
Definition: canvasmode.h:121
Definition: canvasmode.h:72
Definition: pageitem.h:92
Definition: canvasgesture_rectselect.h:48
Definition: scribusview.h:87
Definition: canvasmode_nodeedit.h:32
virtual void activate(bool fromGesture)
Definition: canvasmode.h:86