Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
CoordSystemContext.cpp
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include "CoordSystemContext.h"
8 #include "EngaugeAssert.h"
9 #include "Logger.h"
10 
11 const CoordSystemIndex DEFAULT_COORD_SYSTEM_INDEX = 0;
12 
14  m_coordSystemIndex (DEFAULT_COORD_SYSTEM_INDEX)
15 {
16  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::CoordSystemContext";
17 }
18 
19 CoordSystemContext::~CoordSystemContext()
20 {
21  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::~CoordSystemContext";
22 
23  for (int i = 0; i < m_coordSystems.count(); i++) {
24  CoordSystem *coordSystem = m_coordSystems.at (i);
25  delete coordSystem;
26  }
27 
28  m_coordSystems.clear ();
29  m_coordSystemIndex = 0;
30 }
31 
32 void CoordSystemContext::addCoordSystems(DocumentAxesPointsRequired documentAxesPointsRequired,
33  unsigned int numberCoordSystemToAdd)
34 {
35  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addCoordSystems"
36  << " numberToAdd=" << numberCoordSystemToAdd;
37 
38  // The CoordSystem vector is populated with defaults here
39  for (unsigned int i = 0; i < numberCoordSystemToAdd; i++) {
40  m_coordSystems.push_back (new CoordSystem (documentAxesPointsRequired));
41  }
42 }
43 
44 void CoordSystemContext::addGraphCurveAtEnd (const QString &curveName)
45 {
46  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addGraphCurveAtEnd";
47 
48  m_coordSystems [m_coordSystemIndex]->addGraphCurveAtEnd(curveName);
49 }
50 
52  const QPointF &posGraph,
53  QString &identifier,
54  double ordinal,
55  bool isXOnly)
56 {
57  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addPointAxisWithGeneratedIdentifier";
58 
59  m_coordSystems [m_coordSystemIndex]->addPointAxisWithGeneratedIdentifier(posScreen,
60  posGraph,
61  identifier,
62  ordinal,
63  isXOnly);
64 }
65 
67  const QPointF &posGraph,
68  const QString &identifier,
69  double ordinal,
70  bool isXOnly)
71 {
72  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addPointAxisWithSpecifiedIdentifier";
73 
74  m_coordSystems [m_coordSystemIndex]->addPointAxisWithSpecifiedIdentifier(posScreen,
75  posGraph,
76  identifier,
77  ordinal,
78  isXOnly);
79 }
80 
82  const QPointF &posScreen,
83  QString &generatedIdentifier,
84  double ordinal)
85 {
86  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addPointGraphWithGeneratedIdentifier";
87 
88  m_coordSystems [m_coordSystemIndex]->addPointGraphWithGeneratedIdentifier(curveName,
89  posScreen,
90  generatedIdentifier,
91  ordinal);
92 }
93 
95  const QPointF &posScreen,
96  const QString &identifier,
97  double ordinal)
98 {
99  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addPointGraphWithSpecifiedIdentifier";
100 
101  m_coordSystems [m_coordSystemIndex]->addPointGraphWithSpecifiedIdentifier(curveName,
102  posScreen,
103  identifier,
104  ordinal);
105 }
106 
108 {
109  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addPointsInCurvesGraphs";
110 
111  m_coordSystems [m_coordSystemIndex]->addPointsInCurvesGraphs(curvesGraphs);
112 }
113 
114 void CoordSystemContext::checkAddPointAxis (const QPointF &posScreen,
115  const QPointF &posGraph,
116  bool &isError,
117  QString &errorMessage,
118  bool isXOnly)
119 {
120  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::checkAddPointAxis";
121 
122  m_coordSystems [m_coordSystemIndex]->checkAddPointAxis(posScreen,
123  posGraph,
124  isError,
125  errorMessage,
126  isXOnly);
127 }
128 
129 void CoordSystemContext::checkEditPointAxis (const QString &pointIdentifier,
130  const QPointF &posScreen,
131  const QPointF &posGraph,
132  bool &isError,
133  QString &errorMessage)
134 {
135  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::checkEditPointAxis";
136 
137  m_coordSystems [m_coordSystemIndex]->checkEditPointAxis(pointIdentifier,
138  posScreen,
139  posGraph,
140  isError,
141  errorMessage);
142 }
143 
145 {
146  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::coordSystem";
147 
148  return *(m_coordSystems [m_coordSystemIndex]);
149 }
150 
152 {
153  return m_coordSystems.count();
154 }
155 
156 CoordSystemIndex CoordSystemContext::coordSystemIndex () const
157 {
158  return m_coordSystemIndex;
159 }
160 
162 {
163  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curveAxes";
164 
165  return m_coordSystems [m_coordSystemIndex]->curveAxes();
166 }
167 
168 Curve *CoordSystemContext::curveForCurveName (const QString &curveName)
169 {
170  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curveForCurveName";
171 
172  return m_coordSystems [m_coordSystemIndex]->curveForCurveName(curveName);
173 }
174 
175 const Curve *CoordSystemContext::curveForCurveName (const QString &curveName) const
176 {
177  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curveForCurveName";
178 
179  return m_coordSystems [m_coordSystemIndex]->curveForCurveName(curveName);
180 }
181 
183 {
184  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curvesGraphs";
185 
186  return m_coordSystems [m_coordSystemIndex]->curvesGraphs();
187 }
188 
190 {
191  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curvesGraphsNames";
192 
193  return m_coordSystems [m_coordSystemIndex]->curvesGraphsNames();
194 }
195 
196 int CoordSystemContext::curvesGraphsNumPoints (const QString &curveName) const
197 {
198  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::curvesGraphsNumPoints";
199 
200  return m_coordSystems [m_coordSystemIndex]->curvesGraphsNumPoints(curveName);
201 }
202 
203 void CoordSystemContext::editPointAxis (const QPointF &posGraph,
204  const QString &identifier)
205 {
206  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::editPointAxis";
207 
208  m_coordSystems [m_coordSystemIndex]->editPointAxis(posGraph,
209  identifier);
210 }
211 
212 bool CoordSystemContext::isXOnly (const QString &pointIdentifier) const
213 {
214  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::isXOnly";
215 
216  return m_coordSystems [m_coordSystemIndex]->isXOnly (pointIdentifier);
217 }
218 
219 void CoordSystemContext::iterateThroughCurvePointsAxes (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback)
220 {
221  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::iterateThroughCurvePointsAxes";
222 
223  m_coordSystems [m_coordSystemIndex]->iterateThroughCurvePointsAxes(ftorWithCallback);
224 }
225 
226 void CoordSystemContext::iterateThroughCurvePointsAxes (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const
227 {
228  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::iterateThroughCurvePointsAxes";
229 
230  m_coordSystems [m_coordSystemIndex]->iterateThroughCurvePointsAxes(ftorWithCallback);
231 }
232 
233 void CoordSystemContext::iterateThroughCurveSegments (const QString &curveName,
234  const Functor2wRet<const Point &, const Point &, CallbackSearchReturn> &ftorWithCallback) const
235 {
236  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::iterateThroughCurveSegments";
237 
238  m_coordSystems [m_coordSystemIndex]->iterateThroughCurveSegments(curveName,
239  ftorWithCallback);
240 }
241 
242 void CoordSystemContext::iterateThroughCurvesPointsGraphs (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback)
243 {
244  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::iterateThroughCurvesPointsGraphs";
245 
246  m_coordSystems [m_coordSystemIndex]->iterateThroughCurvesPointsGraphs(ftorWithCallback);
247 }
248 
249 void CoordSystemContext::iterateThroughCurvesPointsGraphs (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const
250 {
251  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::iterateThroughCurvesPointsGraphs";
252 
253  m_coordSystems [m_coordSystemIndex]->iterateThroughCurvesPointsGraphs(ftorWithCallback);
254 }
255 
256 bool CoordSystemContext::loadCurvesFile (const QString &curvesFile)
257 {
258  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::loadCurvesFile";
259 
260  return m_coordSystems [m_coordSystemIndex]->loadCurvesFile (curvesFile);
261 }
262 
263 void CoordSystemContext::loadPreVersion6 (QDataStream &str,
264  double version)
265 {
266  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::loadPreVersion6";
267 
268  m_coordSystems [m_coordSystemIndex]->loadPreVersion6 (str,
269  version);
270 }
271 
272 void CoordSystemContext::loadVersion6 (QXmlStreamReader &reader)
273 {
274  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::loadVersion6";
275 
276  m_coordSystems [m_coordSystemIndex]->loadVersion6 (reader);
277 }
278 
279 void CoordSystemContext::loadVersions7AndUp (QXmlStreamReader &reader,
280  DocumentAxesPointsRequired documentAxesPointsRequired)
281 {
282  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::loadVersion7AndUp";
283 
284  int indexLast = m_coordSystems.count() - 1;
285  m_coordSystems [indexLast]->loadVersions7AndUp (reader,
286  documentAxesPointsRequired);
287 }
288 
290 {
291  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelAxesChecker";
292 
293  return m_coordSystems [m_coordSystemIndex]->modelAxesChecker();
294 }
295 
297 {
298  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelColorFilter";
299 
300  return m_coordSystems [m_coordSystemIndex]->modelColorFilter();
301 }
302 
304 {
305  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelCoords";
306 
307  return m_coordSystems [m_coordSystemIndex]->modelCoords();
308 }
309 
311 {
312  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelCurveStyles";
313 
314  return m_coordSystems [m_coordSystemIndex]->modelCurveStyles();
315 }
316 
318 {
319  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelDigitizeCurve";
320 
321  return m_coordSystems [m_coordSystemIndex]->modelDigitizeCurve();
322 }
323 
325 {
326  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelExport";
327 
328  return m_coordSystems [m_coordSystemIndex]->modelExport();
329 }
330 
332 {
333  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelGeneral";
334 
335  return m_coordSystems [m_coordSystemIndex]->modelGeneral();
336 }
337 
339 {
340  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelGridDisplay";
341 
342  return m_coordSystems [m_coordSystemIndex]->modelGridDisplay();
343 }
344 
346 {
347  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelGridRemoval";
348 
349  return m_coordSystems [m_coordSystemIndex]->modelGridRemoval();
350 }
351 
353 {
354  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelPointMatch";
355 
356  return m_coordSystems [m_coordSystemIndex]->modelPointMatch();
357 }
358 
360 {
361  LOG4CPP_DEBUG_S ((*mainCat)) << "CoordSystemContext::modelSegments";
362 
363  return m_coordSystems [m_coordSystemIndex]->modelSegments();
364 }
365 
366 void CoordSystemContext::movePoint (const QString &pointIdentifier,
367  const QPointF &deltaScreen)
368 {
369  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::movePoint";
370 
371  return m_coordSystems [m_coordSystemIndex]->movePoint(pointIdentifier,
372  deltaScreen);
373 }
374 
375 int CoordSystemContext::nextOrdinalForCurve (const QString &curveName) const
376 {
377  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::nextOrdinalForCurve";
378 
379  return m_coordSystems [m_coordSystemIndex]->nextOrdinalForCurve(curveName);
380 }
381 
382 QPointF CoordSystemContext::positionGraph (const QString &pointIdentifier) const
383 {
384  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::positionGraph";
385 
386  return m_coordSystems [m_coordSystemIndex]->positionGraph(pointIdentifier);
387 }
388 
389 QPointF CoordSystemContext::positionScreen (const QString &pointIdentifier) const
390 {
391  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::addGraphCurveAtEnd";
392 
393  return m_coordSystems [m_coordSystemIndex]->positionScreen(pointIdentifier);
394 }
395 
397 {
398  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::print";
399 
400  return m_coordSystems [m_coordSystemIndex]->print();
401 }
402 
403 void CoordSystemContext::printStream (QString indentation,
404  QTextStream &str) const
405 {
406  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::printStream";
407 
408  m_coordSystems [m_coordSystemIndex]->printStream(indentation,
409  str);
410 }
411 
413 {
414  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::reasonForUnsuccessfulRead";
415 
416  return m_coordSystems [m_coordSystemIndex]->reasonForUnsuccessfulRead();
417 }
418 
419 void CoordSystemContext::removePointAxis (const QString &identifier)
420 {
421  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::removePointAxis";
422 
423  m_coordSystems [m_coordSystemIndex]->removePointAxis(identifier);
424 }
425 
426 void CoordSystemContext::removePointGraph (const QString &identifier)
427 {
428  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::removePointGraph";
429 
430  m_coordSystems [m_coordSystemIndex]->removePointGraph(identifier);
431 }
432 
434 {
435  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::removePointsInCurvesGraphs";
436 
437  m_coordSystems [m_coordSystemIndex]->removePointsInCurvesGraphs(curvesGraphs);
438 }
439 
440 void CoordSystemContext::saveXml (QXmlStreamWriter &writer) const
441 {
442  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::saveXml";
443 
444  for (int index = 0; index < m_coordSystems.count(); index++) {
445  m_coordSystems [index]->saveXml (writer);
446  }
447 }
448 
450 {
451  return m_coordSystems [m_coordSystemIndex]->selectedCurveName();
452 }
453 
454 void CoordSystemContext::setCoordSystemIndex(CoordSystemIndex coordSystemIndex)
455 {
456  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setCoordSystemIndex"
457  << " index=" << coordSystemIndex;
458 
459  ENGAUGE_ASSERT(coordSystemIndex < (unsigned int) m_coordSystems.count());
460 
461  m_coordSystemIndex = coordSystemIndex;
462 }
463 
465 {
466  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setCurveAxes";
467 
468  m_coordSystems [m_coordSystemIndex]->setCurveAxes(curveAxes);
469 }
470 
472 {
473  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setCurvesGraphs";
474 
475  m_coordSystems [m_coordSystemIndex]->setCurvesGraphs(curvesGraphs);
476 }
477 
479 {
480  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelAxesChecker";
481 
482  m_coordSystems [m_coordSystemIndex]->setModelAxesChecker(modelAxesChecker);
483 }
484 
486 {
487  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelColorFilter";
488 
489  m_coordSystems [m_coordSystemIndex]->setModelColorFilter(modelColorFilter);
490 }
491 
493 {
494  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelCoords";
495 
496  m_coordSystems [m_coordSystemIndex]->setModelCoords(modelCoords);
497 }
498 
500 {
501  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelCurveStyles";
502 
503  m_coordSystems [m_coordSystemIndex]->setModelCurveStyles(modelCurveStyles);
504 }
505 
507 {
508  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelDigitizeCurve";
509 
510  m_coordSystems [m_coordSystemIndex]->setModelDigitizeCurve(modelDigitizeCurve);
511 }
512 
514 {
515  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelExport";
516 
517  m_coordSystems [m_coordSystemIndex]->setModelExport (modelExport);
518 }
519 
521 {
522  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelGeneral";
523 
524  m_coordSystems [m_coordSystemIndex]->setModelGeneral(modelGeneral);
525 }
526 
528 {
529  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelGridDisplay";
530 
531  m_coordSystems [m_coordSystemIndex]->setModelGridDisplay(modelGridDisplay);
532 }
533 
535 {
536  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelGridRemoval";
537 
538  m_coordSystems [m_coordSystemIndex]->setModelGridRemoval(modelGridRemoval);
539 }
540 
542 {
543  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelPointMatch";
544 
545  m_coordSystems [m_coordSystemIndex]->setModelPointMatch(modelPointMatch);
546 }
547 
549 {
550  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::setModelSegments";
551 
552  m_coordSystems [m_coordSystemIndex]->setModelSegments(modelSegments);
553 }
554 
555 void CoordSystemContext::setSelectedCurveName(const QString &selectedCurveName)
556 {
557  m_coordSystems [m_coordSystemIndex]->setSelectedCurveName(selectedCurveName);
558 }
559 
561 {
562  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::successfulRead";
563 
564  return m_coordSystems [m_coordSystemIndex]->successfulRead();
565 }
566 
568 {
569  LOG4CPP_INFO_S ((*mainCat)) << "CoordSystemContext::updatePointOrdinals";
570 
571  m_coordSystems [m_coordSystemIndex]->updatePointOrdinals(transformation);
572 }
virtual QString selectedCurveName() const
Currently selected curve name. This is used to set the selected curve combobox in MainWindow...
void addCoordSystems(DocumentAxesPointsRequired documentAxesPointsRequired, unsigned int numberCoordSystemToAdd)
Add specified number of coordinate systems to the original one created by the constructor.
virtual DocumentModelGeneral modelGeneral() const
Get method for DocumentModelGeneral.
Model for DlgSettingsGeneral and CmdSettingsGeneral.
virtual void saveXml(QXmlStreamWriter &writer) const
Save graph to xml.
Model for DlgSettingsPointMatch and CmdSettingsPointMatch.
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
virtual bool successfulRead() const
Return true if startup loading succeeded. If the loading failed then reasonForUnsuccessfulRed will ex...
virtual void addPointGraphWithGeneratedIdentifier(const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)
Add a single graph point with a generated point identifier.
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition: CurveStyles.h:22
virtual void editPointAxis(const QPointF &posGraph, const QString &identifier)
Edit the graph coordinates of a single axis point. Call this after checkAddPointAxis to guarantee suc...
virtual DocumentModelGridRemoval modelGridRemoval() const
Get method for DocumentModelGridRemoval.
virtual void checkEditPointAxis(const QString &pointIdentifier, const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage)
Check before calling editPointAxis.
virtual void addPointGraphWithSpecifiedIdentifier(const QString &curveName, const QPointF &posScreen, const QString &identifier, double ordinal)
Add a single graph point with the specified point identifer. Note that PointStyle is not applied to t...
Storage of data belonging to one coordinate system.
Definition: CoordSystem.h:41
const CoordSystem & coordSystem() const
Current CoordSystem.
virtual DocumentModelExportFormat modelExport() const
Get method for DocumentModelExportFormat.
virtual Curve * curveForCurveName(const QString &curveName)
See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
unsigned int coordSystemCount() const
Number of CoordSystem.
virtual void checkAddPointAxis(const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, bool isXOnly)
Check before calling addPointAxis. Also returns the next available ordinal number (to prevent clashes...
CoordSystemIndex coordSystemIndex() const
Index of current CoordSystem.
virtual void removePointsInCurvesGraphs(CurvesGraphs &curvesGraphs)
Remove all points identified in the specified CurvesGraphs. See also addPointsInCurvesGraphs.
virtual void setModelCoords(const DocumentModelCoords &modelCoords)
Set method for DocumentModelCoords.
virtual const Curve & curveAxes() const
Get method for axis curve.
virtual void setModelColorFilter(const DocumentModelColorFilter &modelColorFilter)
Set method for DocumentModelColorFilter.
virtual void setSelectedCurveName(const QString &selectedCurveName)
Save curve name that is selected for the current coordinate system, for the next time the coordinate ...
virtual void setModelGridDisplay(const DocumentModelGridDisplay &modelGridDisplay)
Set method for DocumentModelGridDisplay.
virtual void addPointAxisWithGeneratedIdentifier(const QPointF &posScreen, const QPointF &posGraph, QString &identifier, double ordinal, bool isXOnly)
Add a single axis point with a generated point identifier.
virtual void setCurvesGraphs(const CurvesGraphs &curvesGraphs)
Let CmdAbstract classes overwrite CurvesGraphs. Applies to current coordinate system.
virtual CurveStyles modelCurveStyles() const
Get method for CurveStyles.
virtual void setModelCurveStyles(const CurveStyles &modelCurveStyles)
Set method for CurveStyles.
void loadVersions7AndUp(QXmlStreamReader &reader, DocumentAxesPointsRequired documentAxesPointsRequired)
Load one CoordSystem from file in version 7 format or newer, into the most recent CoordSystem which w...
void loadVersion6(QXmlStreamReader &reader)
Load from file in version 6 format, into the single CoordSystem.
virtual DocumentModelColorFilter modelColorFilter() const
Get method for DocumentModelColorFilter.
virtual void setCurveAxes(const Curve &curveAxes)
Let CmdAbstract classes overwrite axes Curve. Applies to current coordinate system.
virtual void iterateThroughCurveSegments(const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
See Curve::iterateThroughCurveSegments, for any axes or graph curve.
virtual void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval)
Set method for DocumentModelGridRemoval.
Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve.
virtual void setModelAxesChecker(const DocumentModelAxesChecker &modelAxesChecker)
Set method for DocumentModelAxesChecker.
void loadPreVersion6(QDataStream &str, double version)
Load from file in pre-version 6 format.
Affine transformation between screen and graph coordinates, based on digitized axis points...
bool isXOnly(const QString &pointIdentifier) const
True/false if y/x value is empty.
Container for all graph curves. The axes point curve is external to this class.
Definition: CurvesGraphs.h:24
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
virtual void setModelExport(const DocumentModelExportFormat &modelExport)
Set method for DocumentModelExportFormat.
void setModelPointMatch(const DocumentModelPointMatch &modelPointMatch)
Set method for DocumentModelPointMatch.
virtual void addPointsInCurvesGraphs(CurvesGraphs &curvesGraphs)
Add all points identified in the specified CurvesGraphs. See also removePointsInCurvesGraphs.
virtual QString reasonForUnsuccessfulRead() const
Return an informative text message explaining why startup loading failed. Applies if successfulRead r...
virtual QStringList curvesGraphsNames() const
See CurvesGraphs::curvesGraphsNames.
virtual void addGraphCurveAtEnd(const QString &curveName)
Add new graph curve to the list of existing graph curves.
virtual void setModelDigitizeCurve(const DocumentModelDigitizeCurve &modelDigitizeCurve)
Set method for DocumentModelDigitizeCurve.
virtual void removePointGraph(const QString &identifier)
Perform the opposite of addPointGraph.
virtual void setModelSegments(const DocumentModelSegments &modelSegments)
Set method for DocumentModelSegments.
Model for DlgSettingsCoords and CmdSettingsCoords.
virtual void removePointAxis(const QString &identifier)
Perform the opposite of addPointAxis.
virtual void print() const
Debugging method for printing directly from symbolic debugger.
virtual DocumentModelAxesChecker modelAxesChecker() const
Get method for DocumentModelAxesChecker.
Container for one set of digitized Points.
Definition: Curve.h:32
virtual int nextOrdinalForCurve(const QString &curveName) const
Default next ordinal value for specified curve.
virtual QPointF positionGraph(const QString &pointIdentifier) const
See Curve::positionGraph.
Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker.
virtual void setModelGeneral(const DocumentModelGeneral &modelGeneral)
Set method for DocumentModelGeneral.
virtual void addPointAxisWithSpecifiedIdentifier(const QPointF &posScreen, const QPointF &posGraph, const QString &identifier, double ordinal, bool isXOnly)
Add a single axis point with the specified point identifier.
virtual QPointF positionScreen(const QString &pointIdentifier) const
See Curve::positionScreen.
virtual void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
virtual void iterateThroughCurvePointsAxes(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for the axes curve.
virtual int curvesGraphsNumPoints(const QString &curveName) const
See CurvesGraphs::curvesGraphsNumPoints.
Model for DlgSettingsSegments and CmdSettingsSegments.
virtual const CurvesGraphs & curvesGraphs() const
Make all Curves available, read only, for CmdAbstract classes only.
virtual void updatePointOrdinals(const Transformation &transformation)
Update point ordinals after point addition/removal or dragging.
virtual DocumentModelPointMatch modelPointMatch() const
Get method for DocumentModelPointMatch.
virtual DocumentModelSegments modelSegments() const
Get method for DocumentModelSegments.
CoordSystemContext()
Default constructor for constructing from opened file.
virtual void movePoint(const QString &pointIdentifier, const QPointF &deltaScreen)
See Curve::movePoint.
virtual DocumentModelGridDisplay modelGridDisplay() const
Get method for DocumentModelGridDisplay.
virtual DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
void setCoordSystemIndex(CoordSystemIndex coordSystemIndex)
Index of current CoordSystem.
virtual bool loadCurvesFile(const QString &curvesFile)
Load the curve names in the specified Engauge file into the current graph. This is called near the en...
virtual void iterateThroughCurvesPointsGraphs(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for all the graphs curves.
virtual DocumentModelDigitizeCurve modelDigitizeCurve() const
Get method for DocumentModelDigitizeCurve.