46 QString name()
const {
return mName; }
47 virtual QPointF pixelPoint()
const;
57 QSet<QCPItemPosition*> mChildren;
90 virtual ~QCPItemPosition();
93 PositionType type()
const {
return mPositionType; }
94 QCPItemAnchor *parentAnchor()
const {
return mParentAnchor; }
95 double key()
const {
return mKey; }
96 double value()
const {
return mValue; }
97 QPointF coords()
const {
return QPointF(mKey, mValue); }
98 QCPAxis *keyAxis()
const {
return mKeyAxis.data(); }
99 QCPAxis *valueAxis()
const {
return mValueAxis.data(); }
101 virtual QPointF pixelPoint()
const;
104 void setType(PositionType type);
105 bool setParentAnchor(QCPItemAnchor *parentAnchor,
bool keepPixelPosition=
false);
106 void setCoords(
double key,
double value);
107 void setCoords(
const QPointF &coords);
110 void setPixelPoint(
const QPointF &pixelPoint);
114 PositionType mPositionType;
115 QPointer<QCPAxis> mKeyAxis, mValueAxis;
116 QPointer<QCPAxisRect> mAxisRect;
118 QCPItemAnchor *mParentAnchor;
124 Q_DISABLE_COPY(QCPItemPosition)
133 Q_PROPERTY(
bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect)
134 Q_PROPERTY(
QCPAxisRect* clipAxisRect READ clipAxisRect WRITE setClipAxisRect)
135 Q_PROPERTY(
bool selectable READ selectable WRITE setSelectable)
136 Q_PROPERTY(
bool selected READ selected WRITE setSelected)
143 bool clipToAxisRect()
const {
return mClipToAxisRect; }
145 bool selectable()
const {
return mSelectable; }
146 bool selected()
const {
return mSelected; }
149 void setClipToAxisRect(
bool clip);
151 void setSelectable(
bool selectable);
152 void setSelected(
bool selected);
155 virtual double selectTest(
const QPointF &pos,
bool onlySelectable, QVariant *details=0)
const = 0;
158 QList<QCPItemPosition*>
positions()
const {
return mPositions; }
159 QList<QCPItemAnchor*>
anchors()
const {
return mAnchors; }
160 QCPItemPosition *position(
const QString &name)
const;
161 QCPItemAnchor *anchor(
const QString &name)
const;
162 bool hasAnchor(
const QString &name)
const;
165 void selectionChanged(
bool selected);
169 bool mClipToAxisRect;
170 QPointer<QCPAxisRect> mClipAxisRect;
171 QList<QCPItemPosition*> mPositions;
172 QList<QCPItemAnchor*> mAnchors;
173 bool mSelectable, mSelected;
177 virtual QRect clipRect()
const;
178 virtual void applyDefaultAntialiasingHint(
QCPPainter *painter)
const;
181 virtual void selectEvent(QMouseEvent *event,
bool additive,
const QVariant &details,
bool *selectionStateChanged);
182 virtual void deselectEvent(
bool *selectionStateChanged);
185 virtual QPointF anchorPixelPoint(
int anchorId)
const;
188 double distSqrToLine(
const QPointF &start,
const QPointF &end,
const QPointF &point)
const;
189 double rectSelectTest(
const QRectF &rect,
const QPointF &pos,
bool filledRect)
const;
190 QCPItemPosition *createPosition(
const QString &name);
191 QCPItemAnchor *createAnchor(
const QString &name,
int anchorId);
197 friend class QCPItemAnchor;