Menu

[557893]: / mapeditor.h  Maximize  Restore  History

Download this file

161 lines (127 with data), 5.3 kB

  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
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#ifndef MAPEDITOR_H
#define MAPEDITOR_H
#include <QGraphicsView>
#include <QItemSelectionModel>
#include <QLineEdit>
#include <QPropertyAnimation>
#include "attribute.h"
#include "xlink.h"
#include "ornamentedobj.h"
#include "settings.h"
#include "vymmodel.h"
class XLinkItem;
/*! \brief Main widget in vym to display and edit a map */
class MapEditor : public QGraphicsView {
Q_OBJECT
public:
MapEditor(VymModel *vm);
~MapEditor();
VymModel* getModel();
QGraphicsScene * getScene();
Q_PROPERTY(QPointF scrollBarPos READ getScrollBarPos WRITE setScrollBarPos)
protected:
QPointF scrollBarPos;
QPointF scrollBarPosTarget;
QPropertyAnimation scrollBarPosAnimation;
public:
void scrollTo (const QModelIndex &index);
void setScrollBarPosTarget (const QRectF &rect); //! ensureVisible of rect
QPointF getScrollBarPosTarget ();
void setScrollBarPos (const QPointF &p);
QPointF getScrollBarPos();
Q_PROPERTY(qreal zoomFactor READ getZoomFactor WRITE setZoomFactor)
protected:
qreal zoomFactor;
qreal zoomFactorTarget;
QPropertyAnimation zoomAnimation;
public:
void setZoomFactorTarget (const qreal &zf);
qreal getZoomFactorTarget();
void setZoomFactor (const qreal &zf);
qreal getZoomFactor();
public:
void print(); //!< Print the map
QRectF getTotalBBox(); //!< Bounding box of all items in map
QImage getImage (QPointF &offset); //!< Get a pixmap of the map
void setAntiAlias (bool); //!< Set or unset antialiasing
void setSmoothPixmap(bool); //!< Set or unset smoothing of pixmaps
public slots:
void autoLayout(); //!< Auto layout of map by using collision detection
public:
TreeItem *findMapItem (QPointF p,TreeItem *exclude); //! find item in map at position p. Ignore item exclude
AttributeTable* attributeTable(); // FIXME-3
void testFunction1(); // just testing new stuff
void testFunction2(); // just testing new stuff
protected:
BranchItem* getBranchDirectAbove(BranchItem *bi); //! get branch direct above bi (in TreeView)
BranchItem* getBranchAbove(BranchItem *bi); //! get branch above bi (in TreeView)
BranchItem* getBranchDirectBelow(BranchItem *bi); //! bet branch direct below bi (in TreeView)
BranchItem* getBranchBelow(BranchItem *bi); //! bet branch below bi (in TreeView)
BranchItem* getLeftBranch(BranchItem *bi); //! bet branch left of bi (in TreeView)
BranchItem* getRightBranch(BranchItem *bi); //! bet branch right of bi (in TreeView)
public slots:
void cursorUp();
void cursorDown();
void cursorLeft();
void cursorRight();
void cursorFirst();
void cursorLast();
void editHeading();
void editHeadingFinished();
private:
bool editingHeading;
QLineEdit *lineEdit;
protected:
virtual void contextMenuEvent ( QContextMenuEvent *e );
virtual void keyPressEvent(QKeyEvent*);
virtual void keyReleaseEvent(QKeyEvent*);
virtual void mousePressEvent(QMouseEvent*);
virtual void mouseMoveEvent(QMouseEvent*);
virtual void mouseReleaseEvent(QMouseEvent*);
virtual void mouseDoubleClickEvent(QMouseEvent*);
virtual void wheelEvent(QWheelEvent*);
virtual void focusOutEvent (QFocusEvent*);
virtual void resizeEvent( QResizeEvent * );
void dragEnterEvent (QDragEnterEvent *);
void dragMoveEvent (QDragMoveEvent *);
void dragLeaveEvent (QDragLeaveEvent *);
void dropEvent (QDropEvent *);
private:
QGraphicsScene *mapScene;
VymModel *model; //!< Vym Map, includding several mapCenters
bool adjustCanvasRequested; // collect requests until end of user event
BranchObj *editingBO; // entering Text into BO
QCursor HandOpenCursor; // cursor while moving canvas view
QCursor PickColorCursor; // cursor while picking color
QCursor CopyCursor; // cursor while picking color
QCursor XLinkCursor; // cursor while picking color
bool pickingColor;
bool drawingLink; // true while creating a link
bool copyingObj; // true while modModeCopy
bool objectMoved; // true if object was not clicked, but moved with mouse
Link* tmpLink;
MapObj* movingObj; // moving a MapObj
QPointF movingObj_orgPos; // org. pos of mouse before move
QPointF movingObj_orgRelPos; // org. relative pos of mouse before move
QPointF movingObj_start; // rel. pos of mouse to absPos
QPointF movingCont_start; // inital pos of moving Content or
QPointF movingVec; // how far has Content moved
QPointF contextMenuPos; // position where context event was triggered
AttributeTable *attrTable;
bool printFrame; // Print frame around map
bool printFooter; // Print footer below map
QPoint exportOffset; // set before export, used in save
//////////// Selection related
signals:
void selectionChanged(const QItemSelection &, const QItemSelection &);
private:
QList <QGraphicsPolygonItem*> selPolyList;
QColor selectionColor;
public slots:
void updateSelection(QItemSelection ,QItemSelection); // update selection
void updateData (const QModelIndex&); // update data
public:
void setSelectionColor (QColor c);
QColor getSelectionColor ();
};
#endif
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.