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

@@ -7,12 +7,27 @@ if (NOT LIBPROJECT)
option(LIB "System install" 1)
option(DEBUG "Build with -g3" 0)
option(DESIGNER_PLUGINS "Build qt designer plugins" 1)
option(STATIC_LIB OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
if (DEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
endif ()
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
set(EXPORT_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/qad_export.h")
if(STATIC_LIB)
set(QAD_LIB_TYPE STATIC)
add_definitions(-DQAD_STATIC_DEFINE)
message(STATUS "Building QAD static libraries")
else()
set(QAD_LIB_TYPE SHARED)
add_definitions(-DQAD_SHARED_DEFINE)
message(STATUS "Building QAD shared libraries")
endif()
if (NOT DEFINED ANDROID_PLATFORM)
find_package(OpenGL REQUIRED)
endif()
@@ -36,9 +51,18 @@ if (NOT LIBPROJECT)
message(STATUS "Install ${PROJECT_NAME} to local \"bin\"")
endif()
endif()
set(CMAKES "FindQAD.cmake" "QtWraps.cmake")
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
if (LIB)
if (WIN32)
install(FILES ${EXPORT_HEADER} DESTINATION ${MINGW_INCLUDE}/qad)
else()
install(FILES ${EXPORT_HEADER} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
endif()
endif()
macro(qad_install _TARGET _H_FILES _QM_FILES)
#message("qad_install ${_TARGET} ${_QM_FILES}")
if (LIBPROJECT)
@@ -67,20 +91,22 @@ macro(qad_install _TARGET _H_FILES _QM_FILES)
endmacro()
macro(qad_plugin NAME _MODULES _LIBS)
if(DESIGNER_PLUGINS)
set(PROJ_NAME qad_${NAME}_plugin)
include_directories("..")
#message(${_${NAME}_PLUGIN_LIBS})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
add_definitions(-DQT_SHARED)
add_definitions(-DQDESIGNER_EXPORT_WIDGETS)
find_qt(${QtVersions} Core Designer ${_MODULES})
qt_sources(SRC)
qt_wrap(${SRC} CPPS out_CPP QMS out_QM)
qt_add_library(${PROJ_NAME} SHARED out_CPP)
qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS})
qt_install(TARGETS ${PROJ_NAME} DESTINATION QtPlugins/designer)
if (NOT STATIC_LIB)
if(DESIGNER_PLUGINS)
set(PROJ_NAME qad_${NAME}_plugin)
include_directories("..")
#message(${_${NAME}_PLUGIN_LIBS})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
add_definitions(-DQT_SHARED)
add_definitions(-DQDESIGNER_EXPORT_WIDGETS)
find_qt(${QtVersions} Core Designer ${_MODULES})
qt_sources(SRC)
qt_wrap(${SRC} CPPS out_CPP QMS out_QM)
qt_add_library(${PROJ_NAME} SHARED out_CPP)
qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS})
qt_install(TARGETS ${PROJ_NAME} DESTINATION QtPlugins/designer)
endif()
endif()
endmacro()
@@ -89,7 +115,7 @@ macro(qad_project NAME _MODULES _LIBS)
find_qt(${QtVersions} Core ${_MODULES})
qt_sources(SRC)
qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS ${PROJ_NAME}_QM)
qt_add_library(${PROJ_NAME} SHARED out_CPP)
qt_add_library(${PROJ_NAME} ${QAD_LIB_TYPE} out_CPP ${EXPORT_HEADER})
qt_target_link_libraries(${PROJ_NAME} ${_LIBS})
qad_install(${PROJ_NAME} "${out_HDR}" ${PROJ_NAME}_QM)
set(${NAME}_UTILS 1)

View File

@@ -25,7 +25,7 @@ endif()
set(_SEARCH_DIR ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
set(_QAD_LIBS utils widgets application blockview graphic sql_table touch_widgets)
if(LIBPROJECT)
set(QAD_INCLUDES)
set(QAD_INCLUDES ${QAD_DIR})
endif()
foreach(_Q ${_QAD_LIBS})
string(TOUPPER ${_Q} _QU)

View File

@@ -8,9 +8,10 @@
#include <QIcon>
#include <QToolButton>
#include <QDebug>
#include "qad_export.h"
class EDockWidget: public QDockWidget
class QAD_EXPORT EDockWidget: public QDockWidget
{
Q_OBJECT
public:

View File

@@ -14,7 +14,8 @@
#include "session_manager.h"
#include "ribbon.h"
class UAction: public QAction {
class QAD_EXPORT UAction: public QAction {
Q_OBJECT
public:
UAction(int ind,const QString & text, QObject * parent): QAction(text, parent) {
@@ -47,7 +48,7 @@ signals:
};
class EMainWindow: public QMainWindow
class QAD_EXPORT EMainWindow: public QMainWindow
{
Q_OBJECT
Q_PROPERTY(int maxRecentItems READ maxRecentItems WRITE setMaxRecentItems)

View File

@@ -11,9 +11,10 @@
#include <QLayout>
#include <QHBoxLayout>
#include <QApplication>
#include "qad_export.h"
class ETabWidget: public QTabWidget
class QAD_EXPORT ETabWidget: public QTabWidget
{
Q_OBJECT
public:

View File

@@ -3,9 +3,10 @@
#include <QListWidget>
#include <QDebug>
#include "qad_export.h"
class HistoryView: public QListWidget
class QAD_EXPORT HistoryView: public QListWidget
{
Q_OBJECT
Q_PROPERTY(bool active READ isActive WRITE setActive)

View File

@@ -3,8 +3,10 @@
#include <QThread>
#include <QSharedMemory>
#include "qad_export.h"
class QSingleApplication: public QThread
class QAD_EXPORT QSingleApplication: public QThread
{
Q_OBJECT
public:

View File

@@ -14,7 +14,7 @@
#include "etabwidget.h"
class Ribbon: public QToolBar
class QAD_EXPORT Ribbon: public QToolBar
{
Q_OBJECT
public:

View File

@@ -5,9 +5,10 @@
#include <QPen>
#include <QBrush>
#include <QFont>
#include "qad_export.h"
class AlignedTextItem: public QGraphicsItem {
class QAD_EXPORT AlignedTextItem: public QGraphicsItem {
public:
AlignedTextItem(QGraphicsItem * parent = 0);
AlignedTextItem(const QString & text, QGraphicsItem * parent = 0);

View File

@@ -50,11 +50,11 @@ enum BlockviewItemType {
bvitItemText,
};
QDataStream & operator <<(QDataStream & s, const QGraphicsItem * item);
QDataStream & operator >>(QDataStream & s, QGraphicsItem *& item);
QAD_EXPORT QDataStream & operator <<(QDataStream & s, const QGraphicsItem * item);
QAD_EXPORT QDataStream & operator >>(QDataStream & s, QGraphicsItem *& item);
class BlockItemBase: public QObject
class QAD_EXPORT BlockItemBase: public QObject
{
Q_OBJECT
Q_ENUMS(Action)

View File

@@ -4,7 +4,7 @@
#include "blockitem.h"
class BlockBusItem: public QGraphicsObject, public PropertyStorage {
class QAD_EXPORT BlockBusItem: public QGraphicsObject, public PropertyStorage {
Q_OBJECT
Q_INTERFACES(QGraphicsItem)
Q_PROPERTY(double pointSize READ pointSize WRITE setPointSize DESIGNABLE false SCRIPTABLE false)

View File

@@ -12,7 +12,7 @@ class BlockEditor;
}
class BlockEditor : public QWidget
class QAD_EXPORT BlockEditor : public QWidget
{
Q_OBJECT
Q_PROPERTY(bool editorMode READ editorMode WRITE setEditorMode)
@@ -64,7 +64,7 @@ private:
class PinAlignDelegate: public QStyledItemDelegate {
class QAD_EXPORT PinAlignDelegate: public QStyledItemDelegate {
Q_OBJECT
public:
PinAlignDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {}
@@ -75,7 +75,7 @@ public:
};
class PinBusDelegate: public QStyledItemDelegate {
class QAD_EXPORT PinBusDelegate: public QStyledItemDelegate {
Q_OBJECT
public:
PinBusDelegate(QObject * parent = 0): QStyledItemDelegate(parent) {}

View File

@@ -5,7 +5,7 @@
#include <QTime>
class BlockItem: public QGraphicsObject, public PropertyStorage
class QAD_EXPORT BlockItem: public QGraphicsObject, public PropertyStorage
{
friend class BlockView;
friend class BlockItemPin;

View File

@@ -19,7 +19,7 @@ class BlockItem;
class BlockBusItem;
class BlockItemPin: public QGraphicsObject, public PropertyStorage
class QAD_EXPORT BlockItemPin: public QGraphicsObject, public PropertyStorage
{
friend class BlockView;
friend class BlockItem;

View File

@@ -13,15 +13,12 @@
#include "blockbusitem.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
Q_DECLARE_METATYPE(BlockItem*)
Q_DECLARE_METATYPE(BlockItemPin*)
Q_DECLARE_METATYPE(BlockBusItem*)
class BlockView: public QGraphicsView
class QAD_EXPORT BlockView: public QGraphicsView
{
Q_OBJECT
Q_ENUMS(SelectionMode)
@@ -249,8 +246,4 @@ signals:
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // BLOCKVIEW_H

View File

@@ -3,7 +3,8 @@
#include "blockitem.h"
class BlockViewWavetrace {
class QAD_EXPORT BlockViewWavetrace {
public:
BlockViewWavetrace(int width = 1, int height = 1);

View File

@@ -9,9 +9,11 @@
#include <QMenu>
#include "blockview.h"
class QComboBox;
class _DTSizeItem: public QGraphicsObject
class QAD_EXPORT _DTSizeItem: public QGraphicsObject
{
Q_OBJECT
public:
@@ -45,11 +47,13 @@ signals:
};
namespace Ui {
class DrawTools;
}
class DrawTools: public QObject
class QAD_EXPORT DrawTools: public QObject
{
Q_OBJECT
Q_PROPERTY(bool resizeHandlesEnabled READ isResizeHandlesEnabled WRITE setResizeHandlesEnabled)

View File

@@ -6,7 +6,6 @@
#include <QPixmap>
#include <QMouseEvent>
#include <QComboBox>
///#include <QMutex>
#include <QDebug>
#include <QGridLayout>
#include <QFileDialog>
@@ -18,20 +17,19 @@
#include "graphic_conf.h"
#include "evalspinbox.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
namespace Ui {
class Graphic;
}
class UGLWidget;
Q_DECLARE_METATYPE(QVector<QPointF>)
class Graphic: public QFrame
class QAD_EXPORT Graphic: public QFrame
{
Q_OBJECT
Q_FLAGS(Buttons)
@@ -436,13 +434,16 @@ signals:
};
Q_DECLARE_METATYPE(Graphic::GraphicsData)
Q_DECLARE_OPERATORS_FOR_FLAGS(Graphic::Buttons)
inline QDataStream & operator <<(QDataStream & s, const Graphic::Graduation & v) {s << (int)v; return s;}
inline QDataStream & operator >>(QDataStream & s, Graphic::Graduation & v) {s >> *((int*)(&v)); return s;}
class __GraphicRegistrator__ {
public:
__GraphicRegistrator__() {
@@ -452,8 +453,4 @@ public:
}
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // GRAPHIC_H

View File

@@ -5,14 +5,15 @@
#include <QCheckBox>
#include <QPen>
#include <QPainter>
#include "qad_export.h"
namespace Ui {
class GraphicConf;
};
}
struct GraphicType {
struct QAD_EXPORT GraphicType {
GraphicType(QString name_ = "y(x)", QColor color = Qt::red, Qt::PenStyle style = Qt::SolidLine, double width = 0., bool visible_ = true) {
pen.setColor(color);
pen.setStyle(style);
@@ -53,7 +54,7 @@ inline QDataStream & operator <<(QDataStream & s, const GraphicType & v) {s << v
inline QDataStream & operator >>(QDataStream & s, GraphicType & v) {s >> v.name >> v.pen >> v.fill_color >> v.lines >> v.points >> v.fill >> v.pointWidth >> v.visible; return s;}
class GraphicConf: public QDialog
class QAD_EXPORT GraphicConf: public QDialog
{
Q_OBJECT
friend class Graphic;

View File

@@ -7,8 +7,10 @@
#include <QVariant>
#include <QMap>
#include <QSet>
#include "qad_export.h"
class SQLRecordWidget: public QWidget {
class QAD_EXPORT SQLRecordWidget: public QWidget {
Q_OBJECT
public:
SQLRecordWidget(QWidget * parent = 0);

View File

@@ -28,7 +28,7 @@
#include "qpiconfig.h"
struct ColumnProperties {
struct QAD_EXPORT ColumnProperties {
enum DataType {Unknown, Int, Float, Chars, Text, Binary, Date, Time, DateTime};
ColumnProperties(const QString & table_, const QString & type_, const QString & name_, const QString & def_, bool auto_, bool prim_, bool option_);
bool isRelation() const {return (!relation_key.isEmpty() && !relation_column.isEmpty());}
@@ -58,7 +58,7 @@ struct ColumnProperties {
struct TableColumns {
struct QAD_EXPORT TableColumns {
int mapColumn(int abs_ind) const {if (abs_ind <= 0 || abs_ind >= column_indexes.size() + 1) return 0; return column_indexes[abs_ind - 1];}
QVector<int> column_indexes;
QList<ColumnProperties> columns;
@@ -67,7 +67,7 @@ struct TableColumns {
class SQLQueryModel: public QSqlQueryModel {
class QAD_EXPORT SQLQueryModel: public QSqlQueryModel {
Q_OBJECT
public:
explicit SQLQueryModel(QString & t, QString & conn, QList<ColumnProperties> & cp, QVector<int> & ci, QObject* parent = 0): QSqlQueryModel(parent), table_(t), column_props(cp), column_indexes(ci), conn_name(conn) {;}
@@ -88,7 +88,7 @@ signals:
class SQLUniEdit: public QWidget {
class QAD_EXPORT SQLUniEdit: public QWidget {
Q_OBJECT
public:
explicit SQLUniEdit(const ColumnProperties & prop, const QString & conn_name, QWidget * parent = 0);
@@ -128,7 +128,7 @@ signals:
class SQLNewEdit: public QWidget {
class QAD_EXPORT SQLNewEdit: public QWidget {
Q_OBJECT
friend class SQLTableWidget;
public:
@@ -147,7 +147,7 @@ private:
class SQLFilterEdit: public QWidget {
class QAD_EXPORT SQLFilterEdit: public QWidget {
Q_OBJECT
friend class SQLTableWidget;
public:
@@ -171,7 +171,7 @@ signals:
class SQLItemDelegate: public QStyledItemDelegate {
class QAD_EXPORT SQLItemDelegate: public QStyledItemDelegate {
Q_OBJECT
public:
explicit SQLItemDelegate(QList<ColumnProperties> & cp, QVector<int> & ci, bool & ro, const QString & conn_name, QObject * parent = 0);
@@ -192,14 +192,12 @@ signals:
};
namespace Ui {
class SQLTableWidget;
};
}
class SQLTableWidget: public QWidget
class QAD_EXPORT SQLTableWidget: public QWidget
{
Q_OBJECT
Q_PROPERTY(QString tableName READ tableName WRITE setTableName)

View File

@@ -7,7 +7,7 @@
#include "touchbutton.h"
class TouchButtFrame: public QFrame
class QAD_EXPORT TouchButtFrame: public QFrame
{
Q_OBJECT
Q_PROPERTY(QColor colorYes READ colorYes WRITE setColorYes)

View File

@@ -6,10 +6,10 @@
#include <QMouseEvent>
#include <QPropertyAnimation>
#include <QDebug>
#include "qad_export.h"
QT_BEGIN_NAMESPACE
class TouchButton: public QToolButton
class QAD_EXPORT TouchButton: public QToolButton
{
Q_OBJECT
Q_ENUMS(State)
@@ -149,6 +149,4 @@ signals:
};
QT_END_NAMESPACE
#endif // TOUCHBUTTON_H

View File

@@ -3,12 +3,15 @@
#include <QGroupBox>
#include <QMouseEvent>
#include "qad_export.h"
namespace Ui {
class TouchSlider;
}
class TouchSlider: public QGroupBox
class QAD_EXPORT TouchSlider: public QGroupBox
{
Q_OBJECT
Q_PROPERTY(bool readOnly READ readOnly WRITE setReadOnly)

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);}

View File

@@ -4,12 +4,15 @@
#include <QDialog>
#include <QMetaEnum>
#include <QDebug>
#include "qad_export.h"
namespace Ui {
class CharDialog;
};
}
class CharDialog: public QDialog
class QAD_EXPORT CharDialog: public QDialog
{
Q_OBJECT
public:

View File

@@ -5,9 +5,10 @@
#include <QLineEdit>
#include <QMouseEvent>
#include <QPainter>
#include "qad_export.h"
class CLineEdit: public QLineEdit
class QAD_EXPORT CLineEdit: public QLineEdit
{
Q_OBJECT
Q_PROPERTY(QString defaultText READ defaultText WRITE setDefaultText)

View File

@@ -9,9 +9,10 @@
#include <QMenu>
#include <QClipboard>
#include <QApplication>
#include "qad_export.h"
class ColorButton: public QPushButton
class QAD_EXPORT ColorButton: public QPushButton
{
Q_OBJECT
Q_PROPERTY(QColor color READ color WRITE setColor)

View File

@@ -8,7 +8,7 @@
#include "clineedit.h"
class EComboBox: public QComboBox
class QAD_EXPORT EComboBox: public QComboBox
{
Q_OBJECT
public:

View File

@@ -5,9 +5,10 @@
#include <QMouseEvent>
#include "qpievaluator.h"
class QLabel;
class EvalSpinBox: public QAbstractSpinBox
class QAD_EXPORT EvalSpinBox: public QAbstractSpinBox
{
Q_OBJECT
Q_PROPERTY(double value READ value WRITE setValue NOTIFY valueChanged USER true)

View File

@@ -5,11 +5,8 @@
#include <QIcon>
#include "qad_types.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class IconedLabel: public QFrame
class QAD_EXPORT IconedLabel: public QFrame
{
Q_OBJECT
Q_ENUMS(Direction)
@@ -46,8 +43,4 @@ signals:
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // ICONEDLABEL_H

View File

@@ -87,12 +87,12 @@ void ImageView::mouseMoveEvent(QMouseEvent * e) {
}
void ImageView::wheelEvent(QWheelEvent * e) {
if (!e->modifiers().testFlag(Qt::ControlModifier) || !isInteractive()) return;
double scl = 1. + e->delta() / 500.;
//autofit_ = false;
//scale(scl, scl);
}
//void ImageView::wheelEvent(QWheelEvent * e) {
// if (!e->modifiers().testFlag(Qt::ControlModifier) || !isInteractive()) return;
// double scl = 1. + e->delta() / 500.;
// //autofit_ = false;
// //scale(scl, scl);
//}
bool ImageView::eventFilter(QObject * o, QEvent * e) {
@@ -107,8 +107,8 @@ bool ImageView::eventFilter(QObject * o, QEvent * e) {
case QEvent::MouseMove:
if (!me->buttons().testFlag(Qt::RightButton) || autofit_ || !isInteractive()) break;
{
double scl = 1. / qSqrt(transform().determinant());
QPointF dp = QPointF(me->pos() - prev_pos) * scl;
//double scl = 1. / qSqrt(transform().determinant());
//QPointF dp = QPointF(me->pos() - prev_pos) * scl;
//qDebug() << dp;
//translate(0.00001, 0);
prev_pos = me->pos();

View File

@@ -3,9 +3,10 @@
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include "qad_export.h"
class ImageView: public QGraphicsView
class QAD_EXPORT ImageView: public QGraphicsView
{
Q_OBJECT
Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
@@ -24,7 +25,7 @@ private:
void mouseDoubleClickEvent(QMouseEvent * e);
void mousePressEvent(QMouseEvent * e);
void mouseMoveEvent(QMouseEvent * e);
void wheelEvent(QWheelEvent * e);
// void wheelEvent(QWheelEvent * e);
bool eventFilter(QObject * o, QEvent * e);
void adjustView();

View File

@@ -4,9 +4,11 @@
#include <QWidget>
#include "qad_types.h"
class MatrixEdit;
class MathMatrixEdit: public QWidget {
class QAD_EXPORT MathMatrixEdit: public QWidget {
Q_OBJECT
Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged)
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)

View File

@@ -4,9 +4,11 @@
#include <QWidget>
#include "qad_types.h"
class MatrixEdit;
class MathVectorEdit: public QWidget {
class QAD_EXPORT MathVectorEdit: public QWidget {
Q_OBJECT
Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged)
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly)

View File

@@ -2,12 +2,15 @@
#define MATRIXEDIT_H
#include <QWidget>
#include "qad_export.h"
namespace Ui {
class MatrixEdit;
}
class MatrixEdit: public QWidget {
class QAD_EXPORT MatrixEdit: public QWidget {
Q_OBJECT
public:
explicit MatrixEdit(QWidget * parent = 0);

View File

@@ -5,7 +5,7 @@
#include "propertystorage.h"
class PropertyStorageEditor: public QWidget {
class QAD_EXPORT PropertyStorageEditor: public QWidget {
Q_OBJECT
public:
explicit PropertyStorageEditor(QWidget * parent = 0);

View File

@@ -7,17 +7,13 @@
#include <QScrollBar>
#include "iconedlabel.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
namespace Ui {
class QCodeEdit;
}
class QCodeEdit: public QWidget
class QAD_EXPORT QCodeEdit: public QWidget
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText)
@@ -154,10 +150,5 @@ signals:
};
//Q_DECLARE_OPERATORS_FOR_FLAGS(QPIConsole::Formats)
QT_END_NAMESPACE
QT_END_HEADER
#endif // QCODEEDIT_H

View File

@@ -7,8 +7,10 @@
#include <QFocusEvent>
#include <QLineEdit>
#include <QLabel>
#include "qad_export.h"
class QIPEdit: public QWidget
class QAD_EXPORT QIPEdit: public QWidget
{
Q_OBJECT
Q_PROPERTY(QString IP READ IP WRITE setIP)

View File

@@ -3,6 +3,7 @@
#include <QDialog>
#include <QRadioButton>
#include "qad_export.h"
namespace Ui {
@@ -10,7 +11,7 @@ namespace Ui {
}
class QPIConfigNewDialog: public QDialog
class QAD_EXPORT QPIConfigNewDialog: public QDialog
{
Q_OBJECT

View File

@@ -16,7 +16,7 @@
#include <QDoubleSpinBox>
class ConfigValueWidget: public QWidget
class QAD_EXPORT ConfigValueWidget: public QWidget
{
Q_OBJECT
friend class QPIConfigWidget;

View File

@@ -12,7 +12,7 @@
#include <QMenu>
class UComboBox: public QComboBox
class QAD_EXPORT UComboBox: public QComboBox
{
Q_OBJECT
public:
@@ -24,7 +24,7 @@ signals:
};
class QPIConfigWidget: public QTreeWidget
class QAD_EXPORT QPIConfigWidget: public QTreeWidget
{
Q_OBJECT
Q_PROPERTY(bool readOnlyName READ readOnlyName WRITE setReadOnlyName)

View File

@@ -7,6 +7,8 @@
#include <QFormLayout>
#include <QSpacerItem>
#include <QDebug>
#include "qad_export.h"
typedef long long llong;
typedef unsigned char uchar;
@@ -16,11 +18,8 @@ typedef unsigned long ulong;
typedef unsigned long long ullong;
typedef long double ldouble;
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QPIConsole: public QTabWidget {
class QAD_EXPORT QPIConsole: public QTabWidget {
Q_OBJECT
public:
QPIConsole(QWidget * parent = 0);
@@ -180,8 +179,4 @@ public slots:
Q_DECLARE_OPERATORS_FOR_FLAGS(QPIConsole::Formats)
QT_END_NAMESPACE
QT_END_HEADER
#endif // QPICONSOLE_H

View File

@@ -5,9 +5,10 @@
#include <QBoxLayout>
#include <QLabel>
#include <QEvent>
#include "qad_export.h"
class QPointEdit: public QWidget
class QAD_EXPORT QPointEdit: public QWidget
{
Q_OBJECT
Q_PROPERTY(QPointF value READ value WRITE setValue)

View File

@@ -5,9 +5,10 @@
#include <QBoxLayout>
#include <QLabel>
#include <QEvent>
#include "qad_export.h"
class QRectEdit: public QWidget
class QAD_EXPORT QRectEdit: public QWidget
{
Q_OBJECT
Q_PROPERTY(QRectF value READ value WRITE setValue)

View File

@@ -14,7 +14,7 @@
#include <QDoubleSpinBox>
class StringListEdit: public QWidget
class QAD_EXPORT StringListEdit: public QWidget
{
Q_OBJECT
public:
@@ -47,7 +47,7 @@ signals:
class PathEdit: public QWidget
class QAD_EXPORT PathEdit: public QWidget
{
Q_OBJECT
public:
@@ -81,7 +81,7 @@ signals:
class QVariantEdit: public QWidget
class QAD_EXPORT QVariantEdit: public QWidget
{
Q_OBJECT
Q_PROPERTY(QVariant value READ value WRITE setValue)

View File

@@ -4,11 +4,13 @@
#include <QDebug>
#include <QWidget>
#include <QMap>
#include "qad_export.h"
class QVariantEdit;
class QVariantEditorFactoryBase {
class QAD_EXPORT QVariantEditorFactoryBase {
friend class QVariantEdit;
public:
QVariantEditorFactoryBase() {}
@@ -18,7 +20,7 @@ private:
};
class QVariantEditorFactories {
class QAD_EXPORT QVariantEditorFactories {
public:
static void registerEditorFactory(int meta_id, QVariantEditorFactoryBase * f);
static void unregisterEditorFactory(int meta_id);

View File

@@ -1,32 +1,19 @@
/*
QGLView
Copyright (C) 2019 Ivan Pelipenko peri4ko@yandex.ru
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SCROLL_SPIN_BOX_H
#define SCROLL_SPIN_BOX_H
#include <QWidget>
#include "qad_export.h"
namespace Ui {
class ScrollSpinBox;
}
class EvalSpinBox;
class ScrollSpinBox: public QWidget
class QAD_EXPORT ScrollSpinBox: public QWidget
{
Q_OBJECT
Q_PROPERTY(double sensivity READ sensivity WRITE setSensivity)

View File

@@ -17,13 +17,14 @@
#include "evalspinbox.h"
#include "qpiconfig.h"
/// for all children widgets of "QMainWindow"s and MainWidgets
/// check for slots
/// * void sessionSave(QByteArray * data);
/// * void sessionLoad(QByteArray * data);
class SessionManager: public QObject
class QAD_EXPORT SessionManager: public QObject
{
Q_OBJECT
public:

View File

@@ -15,11 +15,8 @@
#include <QWidgetAction>
#include "clineedit.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class ShortcutEdit: public CLineEdit
class QAD_EXPORT ShortcutEdit: public CLineEdit
{
Q_OBJECT
friend class Shortcuts;
@@ -44,7 +41,7 @@ private:
};
class Shortcuts: public QTreeWidget
class QAD_EXPORT Shortcuts: public QTreeWidget
{
Q_OBJECT
@@ -83,8 +80,4 @@ signals:
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // SPINSLIDER_H

View File

@@ -4,12 +4,10 @@
#include <QSlider>
#include <QDoubleSpinBox>
#include <QBoxLayout>
#include "qad_export.h"
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class SpinSlider: public QWidget
class QAD_EXPORT SpinSlider: public QWidget
{
Q_OBJECT
Q_ENUMS(Direction)
@@ -98,8 +96,5 @@ signals:
};
QT_END_NAMESPACE
QT_END_HEADER
#endif // SPINSLIDER_H