blob: 9be162092ed352d5bcf90e2d3e654372378bea55 (
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
|
// Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
// SPDX-License-Identifier: BSD-3-Clause
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMap>
#include "qtcanvas.h"
class QtVariantProperty;
class QtProperty;
class QtBrowserIndex;
class CanvasView : public QtCanvasView
{
Q_OBJECT
public:
CanvasView(QWidget *parent = 0)
: QtCanvasView(parent), moving(0) { }
CanvasView(QtCanvas *canvas, QWidget *parent = 0)
: QtCanvasView(canvas, parent), moving(0) { }
signals:
void itemClicked(QtCanvasItem *item);
void itemMoved(QtCanvasItem *item);
protected:
void contentsMousePressEvent(QMouseEvent *event);
void contentsMouseDoubleClickEvent(QMouseEvent *event);
void contentsMouseMoveEvent(QMouseEvent* event);
private:
void handleMouseClickEvent(QMouseEvent *event);
QPoint moving_start;
QtCanvasItem *moving;
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
private slots:
void newRectangle();
void newEllipse();
void newLine();
void newText();
void deleteObject();
void clearAll();
void fillView();
void itemClicked(QtCanvasItem *item);
void itemMoved(QtCanvasItem *item);
void valueChanged(QtProperty *property, const QVariant &value);
private:
QtCanvasItem *addRectangle();
QtCanvasItem *addEllipse();
QtCanvasItem *addLine();
QtCanvasItem *addText();
void addProperty(QtVariantProperty *property, const QString &id);
void updateExpandState();
QAction *deleteAction;
class QtVariantPropertyManager *variantManager;
class QtTreePropertyBrowser *propertyEditor;
CanvasView *canvasView;
QtCanvas *canvas;
QtCanvasItem *currentItem;
QMap<QtProperty *, QString> propertyToId;
QMap<QString, QtVariantProperty *> idToProperty;
QMap<QString, bool> idToExpanded;
};
#endif
|