blob: b14b12127dd6ee8ded57d5050b3a88c95eb1ee90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
#ifndef KSPREAD_HANDLER_H
#define KSPREAD_HANDLER_H
#include <KoContainerHandler.h>
#include <qpoint.h>
#include <KoQueryTrader.h>
class QWidget;
enum HandlerType
{
Part,
Chart,
Picture
};
namespace KSpread
{
class View;
/**
* This event handler is used to insert a new part. The event handler
* takes care of selecting the rectangle at which the new
* part will appear.
*/
class InsertHandler : public KoEventHandler
{
Q_OBJECT
public:
InsertHandler( View* view, QWidget* widget );
~InsertHandler();
virtual HandlerType getType() = 0;
protected:
bool eventFilter( QObject*, QEvent* );
virtual void insertObject( QRect ) = 0;
View* m_view;
QPoint m_geometryStart;
QPoint m_geometryEnd;
bool m_started;
bool m_clicked;
};
class InsertPartHandler : public InsertHandler
{
public:
InsertPartHandler( View* view, QWidget* widget, const KoDocumentEntry& entry );
virtual ~InsertPartHandler();
HandlerType getType() { return Part; }
private:
void insertObject( QRect );
KoDocumentEntry m_entry;
};
class InsertChartHandler : public InsertHandler
{
public:
InsertChartHandler( View* view, QWidget* widget, const KoDocumentEntry& entry );
virtual ~InsertChartHandler();
HandlerType getType() { return Chart; }
private:
void insertObject( QRect );
KoDocumentEntry m_entry;
};
class InsertPictureHandler : public InsertHandler
{
public:
InsertPictureHandler( View* view, QWidget* widget, const KURL &);
virtual ~InsertPictureHandler();
HandlerType getType() { return Picture; }
private:
void insertObject( QRect );
KURL m_file;
};
} // namespace KSpread
#endif
|