93 lines
2.4 KiB
C++
93 lines
2.4 KiB
C++
#ifndef WDRAWINGBOARD_H
|
|
#define WDRAWINGBOARD_H
|
|
|
|
#include <math.h>
|
|
#include <QWidget>
|
|
#include <QToolBar>
|
|
#include <QAction>
|
|
#include <QSpinBox>
|
|
#include <QVBoxLayout>
|
|
#include <QGraphicsView>
|
|
#include <QGraphicsScene>
|
|
#include <QGraphicsTextItem>
|
|
#include <QKeyEvent>
|
|
#include <QFileInfo>
|
|
#include <QFileDialog>
|
|
#include <QStandardPaths>
|
|
#include <QTimer>
|
|
#include "LoQClass/loqgraphicsview.h"
|
|
class eObject;
|
|
class wPageItem;
|
|
class wDrawingBoard : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(int m_scale READ scale WRITE setScale NOTIFY scaleChanged)
|
|
|
|
public:
|
|
explicit wDrawingBoard(const QSizeF &res, QWidget *parent = nullptr);
|
|
virtual void keyReleaseEvent(QKeyEvent *event) override;
|
|
virtual void wheelEvent(QWheelEvent*event) override;
|
|
// virtual void mouseMoveEvent(QMouseEvent *e) override;
|
|
|
|
public:
|
|
int scale() { return m_scale; }
|
|
void setScale(int s) { m_scale = s; emit scaleChanged(s); }
|
|
void setScene(QGraphicsScene *scene) { m_wView->setScene(scene); }
|
|
QList<eObject*> getElementList();
|
|
QList<eObject*> getElementSelectedList();
|
|
eObject* getElementSelected();
|
|
void refreshOrder();
|
|
void setElementGeometry(eObject *element, const QRectF &r);
|
|
void setRes(const QSizeF &s) { m_resolution = s; }
|
|
void setRes(qreal w, qreal h) { setRes(QSizeF(w, h)); }
|
|
|
|
signals:
|
|
void scaleChanged(int);
|
|
void sigElementSelected(eObject *element);
|
|
|
|
public slots:
|
|
void onCreatElement(int type);
|
|
void onScaleUp();
|
|
void onScaleDown();
|
|
void onScaleOrg();
|
|
void onDelete();
|
|
void onClean();
|
|
void onCut();
|
|
void onLayerUp();
|
|
void onLayerDown();
|
|
void onSelectionLeft();
|
|
void onSelectionRight();
|
|
void onSelectionTop();
|
|
void onSelectionBottom();
|
|
void onLayerTop();
|
|
void onLayerBottom();
|
|
void onTileFull();
|
|
void onTileH();
|
|
void onTileV();
|
|
void onArrayBottom();
|
|
void onArrayHCenter();
|
|
void onArrayTop();
|
|
void onArrayRight();
|
|
void onArrayVCenter();
|
|
void onArrayLeft();
|
|
void OnCropImage(QRect rt);
|
|
void OnCiTieProcess(bool b,int iTuoZhuaiDir);
|
|
public slots:
|
|
void adjustTrans();
|
|
void onSlotPageSelected(wPageItem *page);
|
|
void onSelectionChanged();
|
|
|
|
private:
|
|
wPageItem *m_page;
|
|
QGraphicsView *m_wView;
|
|
int m_scale;
|
|
QSizeF m_resolution;
|
|
QSizeF m_iScreen;
|
|
int m_xOffset=0;
|
|
int m_yOffset=0;
|
|
int m_keyPressId=-1;
|
|
|
|
};
|
|
|
|
#endif // WDRAWINGBOARD_H
|