Scribus
Open source desktop publishing at your fingertips
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
canvasmode_editspiral.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
canvasmode_editspiral.h - description
17
-------------------
18
begin : Wed Jan 27 2011
19
copyright : (C) 2011 by Franz Schmid
20
email : Franz.Schmid@altmuehlnet.de
21
***************************************************************************/
22
23
#ifndef CANVAS_MODE_EDITSPIRAL_H
24
#define CANVAS_MODE_EDITSPIRAL_H
25
26
#include <QObject>
27
#include <QTime>
28
29
#include "canvasmode.h"
30
#include "fpointarray.h"
31
#include "ui/spiralvectordialog.h"
32
#include "undotransaction.h"
33
34
class
PageItem
;
35
class
ScribusMainWindow
;
36
class
ScribusView
;
37
38
39
// This class encapsulate the old code for mouse interaction from scribusview.cpp
40
41
class
CanvasMode_EditSpiral
:
public
CanvasMode
42
{
43
Q_OBJECT
44
public
:
45
explicit
CanvasMode_EditSpiral
(
ScribusView
* view);
46
virtual
~
CanvasMode_EditSpiral
() {}
47
48
virtual
void
enterEvent(QEvent *);
49
virtual
void
leaveEvent(QEvent *);
50
51
virtual
void
activate
(
bool
);
52
virtual
void
deactivate
(
bool
);
53
virtual
void
mouseDoubleClickEvent(QMouseEvent *m);
54
virtual
void
mouseReleaseEvent(QMouseEvent *m);
55
virtual
void
mouseMoveEvent(QMouseEvent *m);
56
virtual
void
mousePressEvent(QMouseEvent *m);
57
virtual
void
drawControls
(QPainter* p);
58
void
drawControlsSpiral(QPainter* pp,
PageItem
* currItem);
59
60
private
:
61
62
typedef
enum
63
{
64
noPointDefined,
65
useControlStart,
66
useControlEnd,
67
} eSpiralPoint;
68
69
inline
bool
GetItem(
PageItem
** pi);
70
QPointF getSegment(
double
angle);
71
double
computeRealAngle(
double
angle,
bool
fromDia);
72
73
double
Mxp, Myp;
74
ScribusMainWindow
* m_ScMW;
75
QPointF startPoint;
76
QPointF endPoint;
77
double
startAngle;
78
double
endAngle;
79
eSpiralPoint m_arcPoint;
80
SpiralVectorDialog
* VectorDialog;
81
UndoTransaction
m_transaction;
82
83
int
m_blockUpdateFromItem;
84
void
blockUpdateFromItem(
bool
block) {
if
(block) ++m_blockUpdateFromItem;
else
--m_blockUpdateFromItem; }
85
bool
updateFromItemBlocked() {
return
(m_blockUpdateFromItem > 0); }
86
87
public
slots:
88
void
updateFromItem();
89
90
private
slots:
91
void
endEditing(
bool
active);
92
void
endEditing();
93
void
applyValues(
double
start,
double
end,
double
factor);
94
};
95
96
97
#endif
CanvasMode_EditSpiral::activate
virtual void activate(bool)
Definition:
canvasmode_editspiral.cpp:113
UndoTransaction
Definition:
undotransaction.h:45
ScribusMainWindow
This Class is the base class for your application. It sets up the main window and providing a menubar...
Definition:
scribus.h:123
CanvasMode
Definition:
canvasmode.h:72
CanvasMode_EditSpiral
Definition:
canvasmode_editspiral.h:41
SpiralVectorDialog
Definition:
spiralvectordialog.h:40
CanvasMode_EditSpiral::drawControls
virtual void drawControls(QPainter *p)
Definition:
canvasmode_editspiral.cpp:63
PageItem
Definition:
pageitem.h:92
ScribusView
Definition:
scribusview.h:87
CanvasMode_EditSpiral::deactivate
virtual void deactivate(bool)
Definition:
canvasmode_editspiral.cpp:253
scribus
canvasmode_editspiral.h
Generated on Tue Sep 29 2015 09:14:55 for Scribus by
1.8.9.1