20#include <QGraphicsItem>
21#include <QPainterPath>
31 const QString &pointIdentifier,
36 <<
" curve=" << curveName.toLatin1().data()
37 <<
" identifier=" << pointIdentifier.toLatin1().data()
38 <<
" ordinal=" << ordinal
41 m_graphicsLinesForCurve [curveName]->addPoint (pointIdentifier,
47 const QStringList &curveNames)
50 <<
" curveCount=" << m_graphicsLinesForCurve.count();
53 QStringList::const_iterator itrC;
54 for (itrC = curveNames.begin (); itrC != curveNames.end (); itrC++) {
56 QString curveName = *itrC;
58 if (!m_graphicsLinesForCurve.contains (curveName)) {
63 m_graphicsLinesForCurve [curveName] = item;
68 GraphicsLinesContainer::const_iterator itrG, itrGNext;
69 for (itrG = m_graphicsLinesForCurve.begin (); itrG != m_graphicsLinesForCurve.end (); itrG = itrGNext) {
71 const QString curveName = itrG.key ();
77 if (!curveNames.contains (curveName)) {
80 m_graphicsLinesForCurve.remove (curveName);
87 QPainterPath &pathMultiValued,
92 GraphicsLinesContainer::const_iterator itr;
93 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
95 const QString curveName = itr.key ();
109 GraphicsLinesContainer::const_iterator itr;
110 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
121 QTextStream str (&text);
124 std::cerr << text.toLatin1().data();
128 QTextStream &str)
const
130 str << indentation <<
"GraphicsLinesForCurves\n";
134 GraphicsLinesContainer::const_iterator itr;
135 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
147 <<
" point=" << identifier.toLatin1().data ()
148 <<
" curveCount=" << m_graphicsLinesForCurve.count();
153 double ordinal = m_graphicsLinesForCurve [curveName]->identifierToOrdinal (identifier);
154 m_graphicsLinesForCurve [curveName]->removePoint(ordinal);
164 m_graphicsLinesForCurve [curveName]->removeTemporaryPointIfExists ();
171 GraphicsLinesContainer::iterator itr;
172 for (itr = m_graphicsLinesForCurve.begin(); itr != m_graphicsLinesForCurve.end(); itr++) {
177 m_graphicsLinesForCurve.clear();
182 const QString &curveName,
187 <<
" point=" << point.
identifier().toLatin1().data()
188 <<
" curveCount=" << m_graphicsLinesForCurve.count();
191 m_graphicsLinesForCurve [curveName]->updateAfterCommand (scene,
201 GraphicsLinesContainer::const_iterator itr;
202 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
204 QString curveName = itr.key();
206 m_graphicsLinesForCurve [curveName]->updateCurveStyle (modelCurveStyles.
curveStyle (curveName));
212 QPainterPath &pathMultiValued,
217 GraphicsLinesContainer::const_iterator itr;
218 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
220 QString curveName = itr.key();
225 m_graphicsLinesForCurve [curveName]->updateGraphicsLinesToMatchGraphicsPoints(curveStyles.
lineStyle (curveName),
236 <<
" highlightOpacity=" << highlightOpacity;
238 GraphicsLinesContainer::const_iterator itr;
239 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
241 QString curveName = itr.key();
243 m_graphicsLinesForCurve [curveName]->updateHighlightOpacity (highlightOpacity);
252 GraphicsLinesContainer::const_iterator itr;
253 for (itr = m_graphicsLinesForCurve.begin (); itr != m_graphicsLinesForCurve.end (); itr++) {
255 QString curveName = itr.key();
const QString AXIS_CURVE_NAME
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.
log4cpp::Category * mainCat
const QString INDENTATION_DELTA
QString QPointFToString(const QPointF &pos)
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
const LineStyle lineStyle(const QString &curveName) const
Get method for copying one line style in one step.
CurveStyle curveStyle(const QString &curveName) const
CurveStyle in specified curve.
const PointStyle pointStyle(const QString &curveName) const
Get method for copying one point style. Cannot return just a reference or else there is a warning abo...
Window that displays the geometry information, as a table, for the current curve.
This class stores the GraphicsLine objects for one Curve.
void lineMembershipPurge(const LineStyle &lineStyle, SplineDrawer &splineDrawer, QPainterPath &pathMultiValued, LineStyle &lineMultiValued)
Mark the end of addPoint calls. Remove stale lines, insert missing lines, and draw the graphics lines...
void lineMembershipReset()
Mark points as unwanted. Afterwards, lineMembershipPurge gets called.
void updatePointOrdinalsAfterDrag(const LineStyle &lineStyle, const Transformation &transformation)
See GraphicsScene::updateOrdinalsAfterDrag. Pretty much the same steps as Curve::updatePointOrdinals.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
void updateHighlightOpacity(double highlightOpacity)
Update the highlight opacity value. This may or may not affect the current display immediately depend...
GraphicsLinesForCurves()
Single constructor.
void updateAfterCommand(GraphicsScene &scene, const CurveStyles &curveStyles, const QString &curveName, const Point &point, GeometryWindow *geometryWindow)
Update the GraphicsScene with the specified Point from the Document. If it does not exist yet in the ...
void updatePointOrdinalsAfterDrag(const CurveStyles &curveStyles, const Transformation &transformation)
See GraphicsScene::updateOrdinalsAfterDrag.
void removePoint(const QString &identifier)
Remove the specified point. The act of deleting it will automatically remove it from the GraphicsScen...
void updateCurveStyles(const CurveStyles &modelCurveStyles)
Update the curve style for every curve.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
void resetOnLoad()
Reset, when loading a document after the first, to same state that first document was at when loaded.
void removeTemporaryPointIfExists()
Remove temporary point if it exists.
void lineMembershipPurge(const CurveStyles &curveStyles, SplineDrawer &splineDrawer, QPainterPath &pathMultiValued, LineStyle &lineMultiValued)
Mark the end of addPoint calls. Remove stale lines, insert missing lines, and draw the graphics lines...
void addRemoveCurves(GraphicsScene &scene, const QStringList &curveNames)
Add new curves and remove expired curves to match the specified list.
void addPoint(const QString &curveName, const QString &pointIdentifier, double ordinal, GraphicsPoint &point)
Add new point.
void updateGraphicsLinesToMatchGraphicsPoints(const CurveStyles &curveStyles, SplineDrawer &splineDrawer, QPainterPath &pathMultiValued, LineStyle &lineMultiValued)
Calls to moveLinesWithDraggedPoint have finished so update the lines correspondingly.
void lineMembershipReset()
Mark points as unwanted. Afterwards, lineMembershipPurge gets called.
void print() const
Debugging method for printing directly from symbolic debugger.
Graphics item for drawing a circular or polygonal Point.
QPointF pos() const
Proxy method for QGraphicsItem::pos.
Add point and line handling to generic QGraphicsScene.
Details for a specific Line.
Class that represents one digitized point. The screen-to-graph coordinate transformation is always ex...
static QString curveNameFromPointIdentifier(const QString &pointIdentifier)
Parse the curve name from the specified point identifier. This does the opposite of uniqueIdentifierG...
QString identifier() const
Unique identifier for a specific Point.
static QString temporaryPointIdentifier()
Point identifier for temporary point that is used by DigitzeStateAxis.
This class takes the output from Spline and uses that to draw the curve in the graphics window,...
#define LOG4CPP_INFO_S(logger)
#define LOG4CPP_DEBUG_S(logger)