| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef QG_PENTOOLBAR_H |
| #define QG_PENTOOLBAR_H |
| #include <QToolBar> |
|
|
| #include "lc_graphicviewaware.h" |
| #include "rs_layerlistlistener.h" |
| #include "rs_pen.h" |
|
|
| class RS_LayerList; |
| class QG_ColorBox; |
| class QG_WidthBox; |
| class QG_LineTypeBox; |
|
|
| |
| |
| |
| class QG_PenToolBar: public QToolBar, public LC_GraphicViewAware, public RS_LayerListListener { |
| Q_OBJECT |
| public: |
| QG_PenToolBar( const QString & title, QWidget * parent = 0 ); |
| ~QG_PenToolBar() override; |
| void updateByLayer(RS_Layer* l); |
|
|
| RS_Pen getPen() const; |
|
|
| |
| void layerActivated(RS_Layer*) override; |
| void layerEdited(RS_Layer*) override; |
|
|
| void setLayerColor(RS_Color color, bool b); |
| void setLayerWidth(RS2::LineWidth width, bool b); |
| void setLayerLineType(RS2::LineType lineType, bool b); |
|
|
| void setColor(RS_Color color); |
| void setWidth(RS2::LineWidth width); |
| void setLineType(RS2::LineType lineType); |
| void emitPenChanged(); |
|
|
| void setGraphicView(RS_GraphicView* gview) override; |
| public slots: |
| void slotColorChanged(const RS_Color& color); |
| void slotWidthChanged(RS2::LineWidth w); |
| void slotLineTypeChanged(RS2::LineType w); |
| signals: |
| void penChanged(RS_Pen); |
| private: |
| void setLayerList(RS_LayerList* ll); |
| RS_LayerList* m_layerList{nullptr}; |
| std::unique_ptr<RS_Pen> m_currentPen; |
| std::unique_ptr<QG_ColorBox> m_colorBox; |
| std::unique_ptr<QG_WidthBox> m_widthBox; |
| std::unique_ptr<QG_LineTypeBox> m_lineTypeBox; |
| }; |
|
|
| #endif |
|
|