Engauge Digitizer  2
Public Member Functions | List of all members
MimePointsImport Class Reference

Import of point data from clipboard. More...

#include <MimePointsImport.h>

Collaboration diagram for MimePointsImport:
Collaboration graph

Public Member Functions

 MimePointsImport ()
 Default constructor. More...
 
virtual ~MimePointsImport ()
 Destructor. More...
 
void retrievePoints (const Transformation &transformation, QList< QPoint > &points, QList< double > &ordinals) const
 Retrieve points from clipboard. More...
 

Detailed Description

Import of point data from clipboard.

Definition at line 16 of file MimePointsImport.h.

Constructor & Destructor Documentation

◆ MimePointsImport()

MimePointsImport::MimePointsImport ( )

Default constructor.

Definition at line 12 of file MimePointsImport.cpp.

13 {
14 }

◆ ~MimePointsImport()

MimePointsImport::~MimePointsImport ( )
virtual

Destructor.

Definition at line 16 of file MimePointsImport.cpp.

17 {
18 }

Member Function Documentation

◆ retrievePoints()

void MimePointsImport::retrievePoints ( const Transformation transformation,
QList< QPoint > &  points,
QList< double > &  ordinals 
) const

Retrieve points from clipboard.

Definition at line 20 of file MimePointsImport.cpp.

23 {
24  // Sanity checking by MimePointsDetector::isMimePointsData has already been done
25 
26  const QString TAB_DELIMITER ("\t");
27 
28  const QClipboard *clipboard = QApplication::clipboard();
29  QString text = clipboard->text ();
30  QStringList lines = text.split ("\n");
31 
32  // Loop through lines
33  int ordinal = 0;
34  for (int i = 0; i < lines.count(); i++) {
35 
36  QString line = lines.at (i);
37 
38  // Skip empty lines
39  QStringList fields = line.split (TAB_DELIMITER);
40  if (!line.trimmed ().isEmpty () &&
41  fields.count () == 2) {
42 
43  QString field0 = fields [0];
44  QString field1 = fields [1];
45  bool ok0, ok1;
46  double value0 = field0.toDouble (&ok0);
47  double value1 = field1.toDouble (&ok1);
48  if (ok0 && ok1) {
49 
50  QPointF pointScreen;
51  transformation.transformRawGraphToScreen (QPointF (value0, value1),
52  pointScreen);
53 
54  points.push_back (pointScreen.toPoint ());
55  ordinals.push_back (ordinal++);
56  }
57  }
58  }
59 }
void transformRawGraphToScreen(const QPointF &pointRaw, QPointF &pointScreen) const
Transform from raw graph coordinates to linear cartesian graph coordinates, then to screen coordinate...
const QString TAB_DELIMITER("\)

The documentation for this class was generated from the following files: