From eac8babcf648e61c5166fd8b5cccca3b2df2f09f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Sat, 8 Dec 2018 13:00:58 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@465 a8b55f48-bf90-11e4-a774-851b48703e85 --- qad/graphic/graphic.cpp | 20 ++++++++++++++++++++ qad/graphic/graphic.h | 3 +++ 2 files changed, 23 insertions(+) diff --git a/qad/graphic/graphic.cpp b/qad/graphic/graphic.cpp index b75d938..debef34 100644 --- a/qad/graphic/graphic.cpp +++ b/qad/graphic/graphic.cpp @@ -553,6 +553,14 @@ Graphic::GraphicsData Graphic::graphicsData() const { } +QByteArray Graphic::graphicsDataRaw() const { + QByteArray ret; + QDataStream s(&ret, QIODevice::WriteOnly); + s << graphicsData(); + return ret; +} + + void Graphic::setGraphicsData(const Graphic::GraphicsData & gd) { setGraphicsCount(gd.size()); for (int i = 0; i < gd.size(); ++i) @@ -561,6 +569,18 @@ void Graphic::setGraphicsData(const Graphic::GraphicsData & gd) { } +void Graphic::setGraphicsDataRaw(const QByteArray & ba) { + if (ba.isEmpty()) { + clear(); + return; + } + Graphic::GraphicsData gd; + QDataStream s(ba); + s >> gd; + setGraphicsData(gd); +} + + void Graphic::setButtons(Graphic::Buttons b) { buttons_ = b; ui->buttonAutofit->setVisible(b.testFlag(Autofit)); diff --git a/qad/graphic/graphic.h b/qad/graphic/graphic.h index 467fb72..28f9c63 100644 --- a/qad/graphic/graphic.h +++ b/qad/graphic/graphic.h @@ -98,6 +98,7 @@ class Graphic: public QFrame Q_PROPERTY(double histogramMinDeltaMultiplier READ histogramMinDeltaMultiplier WRITE setHistogramMinDeltaMultiplier) Q_PROPERTY(Graphic::GraphicsData graphicsData READ graphicsData WRITE setGraphicsData) + Q_PROPERTY(QByteArray graphicsDataRaw READ graphicsDataRaw WRITE setGraphicsDataRaw) public: Graphic(QWidget * parent = 0); @@ -185,6 +186,7 @@ public: AxisType axisType() const {return axis_type_x;} QVector graphicData(const int index = 0) const {return graphics[index].polyline;} GraphicsData graphicsData() const; + QByteArray graphicsDataRaw() const; QWidget * viewport() const {return canvas;} QByteArray save(); void load(QByteArray ba); @@ -272,6 +274,7 @@ public slots: void setHistogramMaxIntervals(int value) {max_int = value; updateGraphics();} void setHistogramMinDeltaMultiplier(double value) {mdm = value; updateGraphics();} void setGraphicsData(const GraphicsData & gd); + void setGraphicsDataRaw(const QByteArray & ba); void setGridNumbersMultiplierX(double value) {grid_numbers_x = value; updateGraphics();} void setGridNumbersMultiplierY(double value) {grid_numbers_y = value; updateGraphics();}