12 #ifndef SYMBOLSELECTOR_H
13 #define SYMBOLSELECTOR_H
15 #include <QtCore/QObject>
16 #include <QtCore/QVector>
22 #include <QtCore/QPoint>
23 #include <QtCore/QSize>
24 #include <QtGui/QPaintDevice>
25 #include <QtCore/QObject>
26 #include <QtCore/QList>
67 virtual void draw(QPainter* dc);
70 virtual void setSelectorType(DtSelectorType type);
73 virtual DtSelectorType selectorType();
76 virtual QPoint firstEdgeWindowPoint();
79 virtual QPoint secondEdgeWindowPoint();
82 virtual DtPoint firstEdgePoint();
85 virtual DtPoint secondEdgePoint();
88 virtual bool selectionInProgress();
97 virtual QVector<DtModelKey>& selectedModelKeys();
103 virtual void setSelectionMode(
int mode);
104 virtual int selectionMode()
const;
107 virtual void clear();
110 virtual void selectSymbols(
DtModelDataIter *iter, Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState) = 0;
113 virtual void highlightSymbols(QVector<DtModelKey>* display = NULL) = 0;
115 virtual void highlightNoSymbols();
121 virtual void setSelectedKeys(
const QVector<DtModelKey>& keys);
123 virtual void setRightClickMaintainsSelection(
bool b);
124 virtual bool rightClickMaintainsSelection()
const;
126 virtual bool keepUnknownKeys()
const;
131 virtual void startSelection(
const QPoint& pnt);
134 virtual void updateLocation(
const QPoint& pnt);
137 virtual void endSelection(Qt::KeyboardModifiers keyState, Qt::MouseButtons mouseState);
141 virtual void drawRect(QPainter* paint);
144 virtual void drawCircle(QPainter* paint);
147 virtual void drawCirclePoints(QPainter* paint);
150 virtual QPoint getWindowPoint(
const DtPoint& p);
154 virtual void merge(
const QVector<DtModelKey>& keys, QVector<DtModelKey>& result);
178 #endif //SYMBOLSELECTOR_H