19 #include <QtGui/QWidget>
20 #include <QtGui/QPixmap>
21 #include <QtCore/QTimer>
22 #include <QtCore/QStringList>
63 virtual const QVector<DtModelKey>& selectedModelKeys()
const;
64 virtual QVector<DtModelKey>& selectedModelKeys();
66 virtual bool leftButtonClicked();
68 virtual double getDatabaseHeight(
double x,
double y)
const;
74 virtual void setActivateMap();
76 virtual void updateSelectedModelData();
80 virtual void setResetLabelPositions(
bool b);
85 virtual void removeFromPersistentData(
const QString& key);
89 virtual void applyOptions(
DtSymbol* s);
101 virtual bool startNullSelectionMode(
bool showHandCursor =
false);
104 virtual bool startNormalSelectionMode();
106 virtual bool startSymbolPointSelectionMode(
int selectionMode,
107 bool showHandCursor =
false,
bool reset =
false,
bool backup =
true,
bool force =
false);
109 virtual bool startSymbolRectangleSelectionMode(
int selectionMode,
110 bool showHandCursor =
false,
bool reset =
false,
bool backup =
true,
bool force =
false);
114 virtual bool startSelectionMode(
int selectionMode,
116 bool reset =
false,
bool backup =
true,
bool force =
false);
118 virtual void swapModelKeys(QVector<DtModelKey>& orig, QVector<DtModelKey>& save, QVector<DtModelKey>& display);
119 virtual int symbolSelectionMode()
const;
120 const DtPoint& lastSelectedPoint()
const;
133 virtual void setObjectSelectionMode(
const DtFilter* f = NULL,
bool swapKeys =
false);
136 virtual bool inObjectSelectionMode()
const;
140 virtual DtSymbol* symbolAtLocation(
const DtPoint& pnt)
const;
143 virtual bool event(QEvent*);
147 void leftDoubleClick();
150 void selectionChanged(
const QVector<DtModelKey>&);
151 void selectionUpdated(
const QVector<DtModelKey>&);
153 void databasePointSelected(
const DtPoint&);
163 void mouseSignal(QMouseEvent*,
const DtPoint&);
167 void keyboardSignal(QKeyEvent*);
172 void focusEventSignal(QEvent*);
173 void enterEventSignal(QEvent*);
174 void leaveEventSignal(QEvent*);
176 void dropEventSignal(QDropEvent*);
177 void dragEnterEventSignal(QDragEnterEvent*);
178 void dragLeaveEventSignal(QDragLeaveEvent*);
179 void dragMoveEventSignal(QDragMoveEvent*);
185 void selectedModelDataUpdated();
188 void aboutToDraw(QPainter* map);
191 void selectionModeChanged(
int iNewMode);
195 void frozenChanged(
bool);
199 virtual void zoomIn();
202 virtual void zoomOut();
204 virtual void drawRubberBands(QPainter* p);
206 virtual void clearSelection(
bool signal =
true);
207 virtual void changeSelection(
const QVector<DtModelKey>& d);
211 virtual bool addSelection(
const QVector<DtModelKey>& d);
215 virtual bool removeSelection(
const QVector<DtModelKey>& d);
217 virtual void setRightClickMaintainSelection(
bool b);
218 virtual bool rightClickMaintainSelection();
222 virtual void forcePersistentSymbol(
DtSymbol* s);
223 virtual void stopForcePersistentSymbol(
DtSymbol* s);
229 virtual bool dragStart();
233 virtual void dragComplete();
238 virtual void setFreezeSelection(
bool);
239 bool freezeSelection()
const;
255 virtual bool initObjectSelector(
const DtTMFactory* f);
257 virtual void updateSymbolSelection(Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState,
258 bool updateInternalSelection =
true);
259 virtual void updateSelectedSymbols(
const QVector<DtModelKey>& selectedKeys);
260 virtual void updatePersistentModelData();
262 virtual void highlightNoSymbols();
263 virtual void highlightSymbols(QVector<DtModelKey>* display = NULL);
266 virtual void mousePressEvent ( QMouseEvent * e );
267 virtual void mouseReleaseEvent ( QMouseEvent * e );
268 virtual void mouseMoveEvent ( QMouseEvent * e );
269 virtual void mouseDoubleClickEvent ( QMouseEvent * e );
270 virtual void keyPressEvent ( QKeyEvent * e );
271 virtual void keyReleaseEvent ( QKeyEvent * e );
272 virtual void wheelEvent ( QWheelEvent* e );
273 virtual void focusOutEvent ( QFocusEvent *e );
274 virtual void leaveEvent ( QEvent *e );
275 virtual void enterEvent ( QEvent *e );
278 virtual void mouseSelect( QMouseEvent * e );
279 virtual void mousePressSelect( QMouseEvent * e );
283 virtual void dragEnterEvent( QDragEnterEvent* e);
284 virtual void dragLeaveEvent( QDragLeaveEvent* e);
285 virtual void dragMoveEvent( QDragMoveEvent* e);
286 virtual void dropEvent( QDropEvent* e);