46 QString name()
const {
return mName; }
47 virtual QPointF pixelPoint()
const;
57 QSet<QCPItemPosition*> mChildren;
94 virtual ~QCPItemPosition();
97 PositionType type()
const {
return mPositionType; }
98 QCPItemAnchor *parentAnchor()
const {
return mParentAnchor; }
99 double key()
const {
return mKey; }
100 double value()
const {
return mValue; }
101 QPointF coords()
const {
return QPointF(mKey, mValue); }
102 QCPAxis *keyAxis()
const {
return mKeyAxis.data(); }
103 QCPAxis *valueAxis()
const {
return mValueAxis.data(); }
105 virtual QPointF pixelPoint()
const;
108 void setType(PositionType type);
109 bool setParentAnchor(QCPItemAnchor *parentAnchor,
bool keepPixelPosition=
false);
110 void setCoords(
double key,
double value);
111 void setCoords(
const QPointF &coords);
114 void setPixelPoint(
const QPointF &pixelPoint);
118 PositionType mPositionType;
119 QPointer<QCPAxis> mKeyAxis, mValueAxis;
120 QPointer<QCPAxisRect> mAxisRect;
122 QCPItemAnchor *mParentAnchor;
128 Q_DISABLE_COPY(QCPItemPosition)
137 Q_PROPERTY(
bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect)
138 Q_PROPERTY(
QCPAxisRect* clipAxisRect READ clipAxisRect WRITE setClipAxisRect)
139 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable NOTIFY selectableChanged)
140 Q_PROPERTY(
bool selected READ selected WRITE setSelected NOTIFY selectionChanged)
147 bool clipToAxisRect()
const {
return mClipToAxisRect; }
149 bool selectable()
const {
return mSelectable; }
150 bool selected()
const {
return mSelected; }
153 void setClipToAxisRect(
bool clip);
155 Q_SLOT
void setSelectable(
bool selectable);
156 Q_SLOT
void setSelected(
bool selected);
159 virtual double selectTest(
const QPointF &pos,
bool onlySelectable, QVariant *details=0)
const = 0;
162 QList<QCPItemPosition*>
positions()
const {
return mPositions; }
163 QList<QCPItemAnchor*>
anchors()
const {
return mAnchors; }
164 QCPItemPosition *position(
const QString &name)
const;
165 QCPItemAnchor *anchor(
const QString &name)
const;
166 bool hasAnchor(
const QString &name)
const;
169 void selectionChanged(
bool selected);
170 void selectableChanged(
bool selectable);
174 bool mClipToAxisRect;
175 QPointer<QCPAxisRect> mClipAxisRect;
176 QList<QCPItemPosition*> mPositions;
177 QList<QCPItemAnchor*> mAnchors;
178 bool mSelectable, mSelected;
182 virtual QRect clipRect()
const;
183 virtual void applyDefaultAntialiasingHint(
QCPPainter *painter)
const;
186 virtual void selectEvent(QMouseEvent *event,
bool additive,
const QVariant &details,
bool *selectionStateChanged);
187 virtual void deselectEvent(
bool *selectionStateChanged);
190 virtual QPointF anchorPixelPoint(
int anchorId)
const;
193 double distSqrToLine(
const QPointF &start,
const QPointF &end,
const QPointF &point)
const;
194 double rectSelectTest(
const QRectF &rect,
const QPointF &pos,
bool filledRect)
const;
195 QCPItemPosition *createPosition(
const QString &name);
196 QCPItemAnchor *createAnchor(
const QString &name,
int anchorId);
202 friend class QCPItemAnchor;