#ifndef WDRAWINGBOARD_H #define WDRAWINGBOARD_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #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 getElementList(); QList 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