QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
An annotation item that embedds a designer form showing the feature attribute. More...
#include <qgshtmlannotationitem.h>
Public Member Functions | |
QgsHtmlAnnotationItem (QgsMapCanvas *canvas, QgsVectorLayer *vlayer=nullptr, bool hasFeature=false, int feature=0) | |
~QgsHtmlAnnotationItem () | |
QString | htmlPage () const |
QSizeF | minimumFrameSize () const override |
void | paint (QPainter *painter) override |
function to be implemented by derived classes More... | |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) override |
paint function called by map canvas More... | |
void | readXML (const QDomDocument &doc, const QDomElement &itemElem) override |
void | setHTMLPage (const QString &htmlFile) |
void | setMapPosition (const QgsPoint &pos) override |
Reimplemented from QgsAnnotationItem. More... | |
QgsVectorLayer * | vectorLayer () const |
void | writeXML (QDomDocument &doc) const override |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const QObject *receiver, const char *method) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Public Member Functions inherited from QgsAnnotationItem | |
QgsAnnotationItem (QgsMapCanvas *mapCanvas) | |
virtual | ~QgsAnnotationItem () |
void | _readXML (const QDomDocument &doc, const QDomElement &annotationElem) |
void | _writeXML (QDomDocument &doc, QDomElement &itemElem) const |
QRectF | boundingRect () const override |
default implementation for canvas items More... | |
Qt::CursorShape | cursorShapeForAction (MouseMoveAction moveAction) const |
Returns suitable cursor shape for mouse move action. More... | |
QColor | frameBackgroundColor () const |
double | frameBorderWidth () const |
QColor | frameColor () const |
QSizeF | frameSize () const |
QgsPoint | mapPosition () const override |
Returns the map position of the annotation, if it is attached to a fixed map position. More... | |
QgsCoordinateReferenceSystem | mapPositionCrs () const override |
Returns the CRS of the map position. More... | |
bool | mapPositionFixed () const override |
Returns true if the annotation is attached to a fixed map position, or false if the annotation uses a position relative to the current map extent. More... | |
const QgsMarkerSymbolV2 * | markerSymbol () const |
QgsAnnotationItem::MouseMoveAction | moveActionForPosition (QPointF pos) const |
Returns the mouse move behaviour for a given position. More... | |
QPointF | offsetFromReferencePoint () const |
virtual QPointF | relativePosition () const override |
Returns the relative position of the annotation, if it is not attached to a fixed map position. More... | |
virtual double | scaleFactor () const override |
Returns a scaling factor which should be applied to painters before rendering the item. More... | |
void | setFrameBackgroundColor (const QColor &c) |
void | setFrameBorderWidth (double w) |
void | setFrameColor (const QColor &c) |
void | setFrameSize (QSizeF size) |
virtual void | setItemData (int role, const QVariant &value) override |
deprecated - do not use More... | |
virtual void | setMapPositionCrs (const QgsCoordinateReferenceSystem &crs) |
Sets the CRS of the map position. More... | |
void | setMapPositionFixed (bool fixed) |
void | setMarkerSymbol (QgsMarkerSymbolV2 *symbol) |
Set symbol that is drawn on map position. More... | |
void | setOffsetFromReferencePoint (QPointF offset) |
virtual bool | showItem () const override |
Returns true if the annotation should be shown. More... | |
void | updatePosition () override |
called on changed extent or resize event to update position of the item More... | |
Public Member Functions inherited from QgsMapCanvasItem | |
QgsRectangle | rect () const |
returns canvas item rectangle in map units More... | |
Q_DECL_DEPRECATED void | setPanningOffset (QPoint point) |
sets current offset, to be called from QgsMapCanvas More... | |
void | setRect (const QgsRectangle &r, bool resetRotation=true) |
sets canvas item rectangle in map units More... | |
QPointF | toCanvasCoordinates (const QgsPoint &point) const |
transformation from map coordinates to screen coordinates More... | |
QgsPoint | toMapCoordinates (QPoint point) const |
transformation from screen coordinates to map coordinates More... | |
Public Member Functions inherited from QGraphicsItem | |
QGraphicsItem (QGraphicsItem *parent) | |
virtual | ~QGraphicsItem () |
bool | acceptDrops () const |
Qt::MouseButtons | acceptedMouseButtons () const |
bool | acceptHoverEvents () const |
bool | acceptsHoverEvents () const |
bool | acceptTouchEvents () const |
virtual void | advance (int phase) |
virtual QRectF | boundingRect () const=0 |
QRegion | boundingRegion (const QTransform &itemToDeviceTransform) const |
qreal | boundingRegionGranularity () const |
CacheMode | cacheMode () const |
QList< QGraphicsItem * > | childItems () const |
QList< QGraphicsItem * > | children () const |
QRectF | childrenBoundingRect () const |
void | clearFocus () |
QPainterPath | clipPath () const |
virtual bool | collidesWithItem (const QGraphicsItem *other, Qt::ItemSelectionMode mode) const |
virtual bool | collidesWithPath (const QPainterPath &path, Qt::ItemSelectionMode mode) const |
QList< QGraphicsItem * > | collidingItems (Qt::ItemSelectionMode mode) const |
QGraphicsItem * | commonAncestorItem (const QGraphicsItem *other) const |
virtual bool | contains (const QPointF &point) const |
QCursor | cursor () const |
QVariant | data (int key) const |
QTransform | deviceTransform (const QTransform &viewportTransform) const |
qreal | effectiveOpacity () const |
void | ensureVisible (const QRectF &rect, int xmargin, int ymargin) |
void | ensureVisible (qreal x, qreal y, qreal w, qreal h, int xmargin, int ymargin) |
bool | filtersChildEvents () const |
GraphicsItemFlags | flags () const |
QGraphicsItem * | focusItem () const |
QGraphicsItem * | focusProxy () const |
void | grabKeyboard () |
void | grabMouse () |
QGraphicsEffect * | graphicsEffect () const |
QGraphicsItemGroup * | group () const |
bool | handlesChildEvents () const |
bool | hasCursor () const |
bool | hasFocus () const |
void | hide () |
Qt::InputMethodHints | inputMethodHints () const |
void | installSceneEventFilter (QGraphicsItem *filterItem) |
bool | isActive () const |
bool | isAncestorOf (const QGraphicsItem *child) const |
bool | isBlockedByModalPanel (QGraphicsItem **blockingPanel) const |
bool | isClipped () const |
bool | isEnabled () const |
bool | isObscured () const |
bool | isObscured (const QRectF &rect) const |
bool | isObscured (qreal x, qreal y, qreal w, qreal h) const |
virtual bool | isObscuredBy (const QGraphicsItem *item) const |
bool | isPanel () const |
bool | isSelected () const |
bool | isUnderMouse () const |
bool | isVisible () const |
bool | isVisibleTo (const QGraphicsItem *parent) const |
bool | isWidget () const |
bool | isWindow () const |
QTransform | itemTransform (const QGraphicsItem *other, bool *ok) const |
QPointF | mapFromItem (const QGraphicsItem *item, const QPointF &point) const |
QPolygonF | mapFromItem (const QGraphicsItem *item, const QRectF &rect) const |
QPolygonF | mapFromItem (const QGraphicsItem *item, const QPolygonF &polygon) const |
QPainterPath | mapFromItem (const QGraphicsItem *item, const QPainterPath &path) const |
QPointF | mapFromItem (const QGraphicsItem *item, qreal x, qreal y) const |
QPolygonF | mapFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const |
QPointF | mapFromParent (const QPointF &point) const |
QPolygonF | mapFromParent (const QRectF &rect) const |
QPolygonF | mapFromParent (const QPolygonF &polygon) const |
QPainterPath | mapFromParent (const QPainterPath &path) const |
QPointF | mapFromParent (qreal x, qreal y) const |
QPolygonF | mapFromParent (qreal x, qreal y, qreal w, qreal h) const |
QPolygonF | mapFromScene (const QPolygonF &polygon) const |
QPointF | mapFromScene (const QPointF &point) const |
QPolygonF | mapFromScene (const QRectF &rect) const |
QPainterPath | mapFromScene (const QPainterPath &path) const |
QPointF | mapFromScene (qreal x, qreal y) const |
QPolygonF | mapFromScene (qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectFromItem (const QGraphicsItem *item, const QRectF &rect) const |
QRectF | mapRectFromItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectFromParent (const QRectF &rect) const |
QRectF | mapRectFromParent (qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectFromScene (qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectFromScene (const QRectF &rect) const |
QRectF | mapRectToItem (const QGraphicsItem *item, const QRectF &rect) const |
QRectF | mapRectToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectToParent (const QRectF &rect) const |
QRectF | mapRectToParent (qreal x, qreal y, qreal w, qreal h) const |
QRectF | mapRectToScene (const QRectF &rect) const |
QRectF | mapRectToScene (qreal x, qreal y, qreal w, qreal h) const |
QPointF | mapToItem (const QGraphicsItem *item, const QPointF &point) const |
QPolygonF | mapToItem (const QGraphicsItem *item, const QRectF &rect) const |
QPolygonF | mapToItem (const QGraphicsItem *item, const QPolygonF &polygon) const |
QPainterPath | mapToItem (const QGraphicsItem *item, const QPainterPath &path) const |
QPointF | mapToItem (const QGraphicsItem *item, qreal x, qreal y) const |
QPolygonF | mapToItem (const QGraphicsItem *item, qreal x, qreal y, qreal w, qreal h) const |
QPointF | mapToParent (const QPointF &point) const |
QPolygonF | mapToParent (const QRectF &rect) const |
QPainterPath | mapToParent (const QPainterPath &path) const |
QPointF | mapToParent (qreal x, qreal y) const |
QPolygonF | mapToParent (qreal x, qreal y, qreal w, qreal h) const |
QPolygonF | mapToParent (const QPolygonF &polygon) const |
QPolygonF | mapToScene (const QRectF &rect) const |
QPainterPath | mapToScene (const QPainterPath &path) const |
QPointF | mapToScene (qreal x, qreal y) const |
QPolygonF | mapToScene (qreal x, qreal y, qreal w, qreal h) const |
QPolygonF | mapToScene (const QPolygonF &polygon) const |
QPointF | mapToScene (const QPointF &point) const |
QMatrix | matrix () const |
void | moveBy (qreal dx, qreal dy) |
qreal | opacity () const |
virtual QPainterPath | opaqueArea () const |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)=0 |
QGraphicsItem * | panel () const |
PanelModality | panelModality () const |
QGraphicsItem * | parentItem () const |
QGraphicsObject * | parentObject () const |
QGraphicsWidget * | parentWidget () const |
QPointF | pos () const |
void | removeSceneEventFilter (QGraphicsItem *filterItem) |
void | resetMatrix () |
void | resetTransform () |
void | rotate (qreal angle) |
qreal | rotation () const |
void | scale (qreal sx, qreal sy) |
qreal | scale () const |
QGraphicsScene * | scene () const |
QRectF | sceneBoundingRect () const |
QMatrix | sceneMatrix () const |
QPointF | scenePos () const |
QTransform | sceneTransform () const |
void | scroll (qreal dx, qreal dy, const QRectF &rect) |
void | setAcceptDrops (bool on) |
void | setAcceptedMouseButtons (QFlags< Qt::MouseButton > buttons) |
void | setAcceptHoverEvents (bool enabled) |
void | setAcceptsHoverEvents (bool enabled) |
void | setAcceptTouchEvents (bool enabled) |
void | setActive (bool active) |
void | setBoundingRegionGranularity (qreal granularity) |
void | setCacheMode (CacheMode mode, const QSize &logicalCacheSize) |
void | setCursor (const QCursor &cursor) |
void | setData (int key, const QVariant &value) |
void | setEnabled (bool enabled) |
void | setFiltersChildEvents (bool enabled) |
void | setFlag (GraphicsItemFlag flag, bool enabled) |
void | setFlags (QFlags< QGraphicsItem::GraphicsItemFlag > flags) |
void | setFocus (Qt::FocusReason focusReason) |
void | setFocusProxy (QGraphicsItem *item) |
void | setGraphicsEffect (QGraphicsEffect *effect) |
void | setGroup (QGraphicsItemGroup *group) |
void | setHandlesChildEvents (bool enabled) |
void | setInputMethodHints (QFlags< Qt::InputMethodHint > hints) |
void | setMatrix (const QMatrix &matrix, bool combine) |
void | setOpacity (qreal opacity) |
void | setPanelModality (PanelModality panelModality) |
void | setParentItem (QGraphicsItem *newParent) |
void | setPos (const QPointF &pos) |
void | setPos (qreal x, qreal y) |
void | setRotation (qreal angle) |
void | setScale (qreal factor) |
void | setSelected (bool selected) |
void | setToolTip (const QString &toolTip) |
void | setTransform (const QTransform &matrix, bool combine) |
void | setTransformations (const QList< QGraphicsTransform * > &transformations) |
void | setTransformOriginPoint (qreal x, qreal y) |
void | setTransformOriginPoint (const QPointF &origin) |
void | setVisible (bool visible) |
void | setX (qreal x) |
void | setY (qreal y) |
void | setZValue (qreal z) |
virtual QPainterPath | shape () const |
void | shear (qreal sh, qreal sv) |
void | show () |
void | stackBefore (const QGraphicsItem *sibling) |
QGraphicsObject * | toGraphicsObject () |
const QGraphicsObject * | toGraphicsObject () const |
QString | toolTip () const |
QGraphicsItem * | topLevelItem () const |
QGraphicsWidget * | topLevelWidget () const |
QTransform | transform () const |
QList< QGraphicsTransform * > | transformations () const |
QPointF | transformOriginPoint () const |
void | translate (qreal dx, qreal dy) |
virtual int | type () const |
void | ungrabKeyboard () |
void | ungrabMouse () |
void | unsetCursor () |
void | update (qreal x, qreal y, qreal width, qreal height) |
void | update (const QRectF &rect) |
QGraphicsWidget * | window () const |
qreal | x () const |
qreal | y () const |
qreal | zValue () const |
Additional Inherited Members | |
Public Types inherited from QgsAnnotationItem | |
enum | MouseMoveAction { NoAction, MoveMapPosition, MoveFramePosition, ResizeFrameUp, ResizeFrameDown, ResizeFrameLeft, ResizeFrameRight, ResizeFrameLeftUp, ResizeFrameRightUp, ResizeFrameLeftDown, ResizeFrameRightDown } |
Static Public Member Functions inherited from QObject | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QGraphicsItem | |
typedef | GraphicsItemFlags |
Protected Member Functions inherited from QObject | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Protected Member Functions inherited from QgsAnnotationItem | |
void | drawFrame (QPainter *p) const |
Draws the annotation frame to a destination painter. More... | |
void | drawMarkerSymbol (QPainter *p) const |
Draws the map position marker symbol to a destination painter. More... | |
void | drawSelectionBoxes (QPainter *p) const |
Draws selection handles around the item. More... | |
QPointF | pointOnLineWithDistance (QPointF startPoint, QPointF directionPoint, double distance) const |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point. More... | |
double | scaledSymbolSize () const |
Returns the symbol size scaled in (mapcanvas) pixels. More... | |
QLineF | segment (int index) const |
Returns frame width in painter units. More... | |
void | updateBalloon () |
Check where to attach the balloon connection between frame and map point. More... | |
void | updateBoundingRect () |
Protected Member Functions inherited from QgsMapCanvasItem | |
QgsMapCanvasItem (QgsMapCanvas *mapCanvas) | |
protected constructor: cannot be constructed directly More... | |
virtual | ~QgsMapCanvasItem () |
bool | setRenderContextVariables (QPainter *p, QgsRenderContext &context) const |
Sets render context parameters. More... | |
void | updateCanvas () |
schedules map canvas for repaint More... | |
Protected Member Functions inherited from QGraphicsItem | |
virtual void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
virtual void | dragEnterEvent (QGraphicsSceneDragDropEvent *event) |
virtual void | dragLeaveEvent (QGraphicsSceneDragDropEvent *event) |
virtual void | dragMoveEvent (QGraphicsSceneDragDropEvent *event) |
virtual void | dropEvent (QGraphicsSceneDragDropEvent *event) |
virtual void | focusInEvent (QFocusEvent *event) |
virtual void | focusOutEvent (QFocusEvent *event) |
virtual void | hoverEnterEvent (QGraphicsSceneHoverEvent *event) |
virtual void | hoverLeaveEvent (QGraphicsSceneHoverEvent *event) |
virtual void | hoverMoveEvent (QGraphicsSceneHoverEvent *event) |
virtual void | inputMethodEvent (QInputMethodEvent *event) |
virtual QVariant | inputMethodQuery (Qt::InputMethodQuery query) const |
virtual QVariant | itemChange (GraphicsItemChange change, const QVariant &value) |
virtual void | keyPressEvent (QKeyEvent *event) |
virtual void | keyReleaseEvent (QKeyEvent *event) |
virtual void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mousePressEvent (QGraphicsSceneMouseEvent *event) |
virtual void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
void | prepareGeometryChange () |
virtual bool | sceneEvent (QEvent *event) |
virtual bool | sceneEventFilter (QGraphicsItem *watched, QEvent *event) |
void | updateMicroFocus () |
virtual void | wheelEvent (QGraphicsSceneWheelEvent *event) |
Static Protected Member Functions inherited from QObject | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
Protected Attributes inherited from QgsAnnotationItem | |
int | mBalloonSegment |
Segment number where the connection to the map point is attached. More... | |
QPointF | mBalloonSegmentPoint1 |
First segment point for drawing the connection (ccw direction) More... | |
QPointF | mBalloonSegmentPoint2 |
Second segment point for drawing the balloon connection (ccw direction) More... | |
QRectF | mBoundingRect |
Bounding rect (including item frame and balloon) More... | |
QColor | mFrameBackgroundColor |
double | mFrameBorderWidth |
Width of the frame. More... | |
QColor | mFrameColor |
Frame / balloon color. More... | |
QSizeF | mFrameSize |
Size of the frame (without balloon) More... | |
QgsPoint | mMapPosition |
Map position (in case mMapPositionFixed is true) More... | |
QgsCoordinateReferenceSystem | mMapPositionCrs |
CRS of the map position. More... | |
bool | mMapPositionFixed |
True: the item stays at the same map position, False: the item stays on same screen position. More... | |
QgsMarkerSymbolV2 * | mMarkerSymbol |
Point symbol that is to be drawn at the map reference location. More... | |
QPointF | mOffsetFromReferencePoint |
Describes the shift of the item content box to the reference point. More... | |
Protected Attributes inherited from QgsMapCanvasItem | |
QSizeF | mItemSize |
cached size of the item (to return in boundingRect()) More... | |
QgsMapCanvas * | mMapCanvas |
pointer to map canvas More... | |
QPoint | mPanningOffset |
offset from normal position due current panning operation, used when converting map coordinates to move map canvas items More... | |
QgsRectangle | mRect |
cached canvas item rectangle in map coordinates encodes position (xmin,ymax) and size (width/height) used to re-position and re-size the item on zoom/pan while waiting for the renderer to complete. More... | |
double | mRectRotation |
Properties inherited from QObject | |
objectName | |
An annotation item that embedds a designer form showing the feature attribute.
Definition at line 32 of file qgshtmlannotationitem.h.
QgsHtmlAnnotationItem::QgsHtmlAnnotationItem | ( | QgsMapCanvas * | canvas, |
QgsVectorLayer * | vlayer = nullptr , |
||
bool | hasFeature = false , |
||
int | feature = 0 |
||
) |
Definition at line 39 of file qgshtmlannotationitem.cpp.
QgsHtmlAnnotationItem::~QgsHtmlAnnotationItem | ( | ) |
Definition at line 65 of file qgshtmlannotationitem.cpp.
|
inline |
Definition at line 50 of file qgshtmlannotationitem.h.
|
overridevirtual |
Reimplemented from QgsAnnotationItem.
Definition at line 129 of file qgshtmlannotationitem.cpp.
|
overridevirtual |
function to be implemented by derived classes
Reimplemented from QgsAnnotationItem.
Definition at line 95 of file qgshtmlannotationitem.cpp.
|
overridevirtual |
paint function called by map canvas
Reimplemented from QgsAnnotationItem.
Definition at line 100 of file qgshtmlannotationitem.cpp.
|
overridevirtual |
Implements QgsAnnotationItem.
Definition at line 163 of file qgshtmlannotationitem.cpp.
void QgsHtmlAnnotationItem::setHTMLPage | ( | const QString & | htmlFile | ) |
Definition at line 70 of file qgshtmlannotationitem.cpp.
|
overridevirtual |
Reimplemented from QgsAnnotationItem.
Reimplemented from QgsAnnotationItem.
Definition at line 89 of file qgshtmlannotationitem.cpp.
|
inline |
Definition at line 55 of file qgshtmlannotationitem.h.
|
overridevirtual |
Implements QgsAnnotationItem.
Definition at line 142 of file qgshtmlannotationitem.cpp.