QAD_EXPORT

git-svn-id: svn://db.shs.com.ru/libs@719 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2020-02-28 10:05:11 +00:00
parent d10fff52c9
commit 350240cdfc
55 changed files with 218 additions and 201 deletions

View File

@@ -5,9 +5,10 @@
#include <QBuffer>
#include <QByteArray>
#include <QMap>
#include "qad_export.h"
class ChunkStream
class QAD_EXPORT ChunkStream
{
public:
enum Version {

View File

@@ -10,7 +10,7 @@
#include "chunkstream.h"
class PropertyStorage {
class QAD_EXPORT PropertyStorage {
public:
PropertyStorage() {}

View File

@@ -2,18 +2,21 @@
#define QAD_TYPES_H
#include "propertystorage.h"
#include "qad_export.h"
class QMetaEnum;
namespace QAD {
struct Enumerator {
struct QAD_EXPORT Enumerator {
Enumerator(int v = 0, const QString & n = QString()): value(v), name(n) {}
int value;
QString name;
};
struct Enum {
struct QAD_EXPORT Enum {
Enum(const QString & n = QString()): enum_name(n) {}
Enum(const QMetaEnum & meta, int selected = 0);
QString toString() const {return selected;} // obsolete, use selectedName()
@@ -34,7 +37,7 @@ namespace QAD {
Enum & operator <<(const QStringList & v);
};
struct File {
struct QAD_EXPORT File {
File(const QString & p = QString(), const QString & f = QString(), bool abs = false): file(p), filter(f), is_abs(abs) {}
QString toString() const {return file;}
QString file;
@@ -42,14 +45,14 @@ namespace QAD {
bool is_abs;
};
struct Dir {
struct QAD_EXPORT Dir {
Dir(const QString & d = QString(), bool abs = false): dir(d), is_abs(abs) {}
QString toString() const {return dir;}
QString dir;
bool is_abs;
};
struct IODevice {
struct QAD_EXPORT IODevice {
IODevice(const QString & device_prefix = QString(), const PropertyStorage & device_properties = PropertyStorage(),
int open_mode = QIODevice::ReadWrite, int device_options = 0)
: prefix(device_prefix), mode(open_mode), options(device_options), props(device_properties) {}
@@ -61,12 +64,12 @@ namespace QAD {
PropertyStorage props;
};
struct MathVector {
struct QAD_EXPORT MathVector {
MathVector(const QVector<double> & vec = QVector<double>()) {v = vec;}
QVector<double> v;
};
struct MathMatrix {
struct QAD_EXPORT MathMatrix {
MathMatrix(const QVector<QVector<double> > & mat = QVector<QVector<double> > ()) {m = mat;}
QVector<QVector<double> > m; // [Row][Column]
};
@@ -109,7 +112,7 @@ inline QDataStream & operator >>(QDataStream & s, QAD::MathMatrix & v) {s >> v.m
inline QDebug operator <<(QDebug s, const QAD::MathMatrix & v) {s.nospace() << "Matrix " << v.m; return s.space();}
class __QADTypesRegistrator__ {
class QAD_EXPORT __QADTypesRegistrator__ {
public:
__QADTypesRegistrator__(int);
static __QADTypesRegistrator__ * instance();
@@ -136,13 +139,13 @@ inline QRectF enlargedRect(const QRectF & r, qreal dx, qreal dy, qreal v) {
return QRectF(r.left() - v + dx, r.top() - v + dy, r.width() + v+v, r.height() + v+v);
}
QVariant::Type typeFromLetter(const QString & l);
QString uniqueName(QString n, const QStringList & names);
QAD_EXPORT QVariant::Type typeFromLetter(const QString & l);
QAD_EXPORT QString uniqueName(QString n, const QStringList & names);
int fontHeight(const QWidget * w = 0);
int lineThickness(const QWidget * w = 0);
QSize preferredIconSize(float x = 1.f, const QWidget * w = 0);
double appScale(const QWidget * w = 0);
QAD_EXPORT int fontHeight(const QWidget * w = 0);
QAD_EXPORT int lineThickness(const QWidget * w = 0);
QAD_EXPORT QSize preferredIconSize(float x = 1.f, const QWidget * w = 0);
QAD_EXPORT double appScale(const QWidget * w = 0);
#endif // QAD_TYPES_H

View File

@@ -11,22 +11,23 @@
#include <QRectF>
#include <QDebug>
#include <cmath>
#include "qad_export.h"
inline QByteArray QString2QByteArray(const QString & string) {return string.isEmpty() ? QByteArray() : qUncompress(QByteArray::fromBase64(string.toLatin1()));}
int QString2int(const QString & string);
QAD_EXPORT int QString2int(const QString & string);
inline QColor QString2QColor(const QString & string) {return (string.left(1) == "#" ? QColor(string.right(string.length() - 1).toInt(0, 16)) : QColor(QString2int(string)));}
QRect QString2QRect(const QString & string);
QRectF QString2QRectF(const QString & string);
QPoint QString2QPoint(const QString & string);
QPointF QString2QPointF(const QString & string);
QAD_EXPORT QRect QString2QRect(const QString & string);
QAD_EXPORT QRectF QString2QRectF(const QString & string);
QAD_EXPORT QPoint QString2QPoint(const QString & string);
QAD_EXPORT QPointF QString2QPointF(const QString & string);
inline QString QColor2QString(const QColor & color) {QString s = color.name(); return "0x" + QString::number(color.alpha(), 16).rightJustified(2, '0') + s.right(s.length() - 1);}
inline QString QPoint2QString(const QPoint & point) {return QString::number(point.x()) + ";" + QString::number(point.y());}
inline QString QPointF2QString(const QPointF & point) {return QString::number(point.x()) + ";" + QString::number(point.y());}
inline QString QByteArray2QString(const QByteArray & array) {return array.isEmpty() ? QString() : QString(qCompress(array, 9).toBase64());}
QString QRect2QString(const QRect & rect);
QString QRectF2QString(const QRectF & rect);
QAD_EXPORT QString QRect2QString(const QRect & rect);
QAD_EXPORT QString QRectF2QString(const QRectF & rect);
#define QPICONFIG_GET_VALUE \
Entry & getValue(const QString & vname, const char * def, bool * exist = 0) {return getValue(vname, QString(def), exist);} \
@@ -49,7 +50,7 @@ QString QRectF2QString(const QRectF & rect);
Entry & getValue(const QString & vname, const QPointF & def, bool * exist = 0) {return getValue(vname, QPointF2QString(def), exist);} \
Entry & getValue(const QString & vname, const QByteArray & def, bool * exist = 0) {return getValue(vname, QByteArray2QString(def), exist);}
class QPIConfig: public QFile
class QAD_EXPORT QPIConfig: public QFile
{
friend class Entry;
friend class Branch;

View File

@@ -7,6 +7,8 @@
#include <QDebug>
#include <cmath>
#include <complex>
#include "qad_export.h"
#ifndef PIP_MATH_COMPLEX
#define QPIEVALUATOR_COMPLEX
@@ -40,7 +42,7 @@ namespace QPIEvaluatorTypes {
bfIm, bfRe, bfArg, bfLen, bfConj,
bfRad, bfDeg};
struct Instruction {
struct QAD_EXPORT Instruction {
Instruction() {;}
Instruction(Operation oper, QVector<int> opers, int out_ind, int func = -1) {
operation = oper; operators = opers; out = out_ind; function = func;}
@@ -48,20 +50,20 @@ namespace QPIEvaluatorTypes {
QVector<int> operators;
int out;
int function;};
struct Element {
struct QAD_EXPORT Element {
Element() {;}
Element(eType new_type, int new_num, int new_var_num = -1) {set(new_type, new_num, new_var_num);}
void set(eType new_type, int new_num, int new_var_num = -1) {type = new_type; num = new_num; var_num = new_var_num;}
eType type;
int num;
int var_num;};
struct Function {
struct QAD_EXPORT Function {
Function() {arguments = 0; type = bfUnknown;}
Function(const QString & name, int args, BaseFunctions ftype) {identifier = name; arguments = args; type = ftype;}
QString identifier;
BaseFunctions type;
int arguments;};
struct Variable {
struct QAD_EXPORT Variable {
Variable() {value = 0.;}
Variable(const QString & var_name, complexd val) {name = var_name; value = val;}
QString name;
@@ -71,7 +73,9 @@ namespace QPIEvaluatorTypes {
return s1.name.size() > s2.name.size();
return s1.name > s2.name;
}
};
}
/*
≠ :
≥ }
@@ -79,7 +83,7 @@ namespace QPIEvaluatorTypes {
⋀ &
|
*/
class QPIEvaluatorContent
class QAD_EXPORT QPIEvaluatorContent
{
friend class QPIEvaluator;
public:
@@ -116,7 +120,8 @@ private:
};
class QPIEvaluator
class QAD_EXPORT QPIEvaluator
{
public:
QPIEvaluator() {correct = false ;}
@@ -172,6 +177,7 @@ private:
};
inline bool operator ==(QPIEvaluatorTypes::Element e1, QPIEvaluatorTypes::Element e2) {return (e1.type == e2.type && e1.num == e2.num);}
inline bool operator !=(QPIEvaluatorTypes::Element e1, QPIEvaluatorTypes::Element e2) {return (e1.type != e2.type || e1.num != e2.num);}