File indexing completed on 2024-06-23 04:28:10

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef DEFAULTTOOLTABBEDWIDGET_H
0008 #define DEFAULTTOOLTABBEDWIDGET_H
0009 
0010 #include <KoTitledTabWidget.h>
0011 #include "KoShapeMeshGradientHandles.h"
0012 
0013 class KoInteractionTool;
0014 class KoFillConfigWidget;
0015 class KoStrokeConfigWidget;
0016 class DefaultToolGeometryWidget;
0017 
0018 class DefaultToolTabbedWidget : public KoTitledTabWidget
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit DefaultToolTabbedWidget(KoInteractionTool *tool, QWidget *parent = 0);
0024     ~DefaultToolTabbedWidget() override;
0025 
0026     enum TabType {
0027         GeometryTab,
0028         StrokeTab,
0029         FillTab
0030     };
0031 
0032     void activate();
0033     void deactivate();
0034 
0035     bool useUniformScaling() const;
0036 
0037 Q_SIGNALS:
0038     void sigSwitchModeEditFillGradient(bool value);
0039     void sigSwitchModeEditStrokeGradient(bool value);
0040     void sigMeshGradientResetted();
0041 
0042 public Q_SLOTS:
0043     void slotMeshGradientHandleSelected(KoShapeMeshGradientHandles::Handle h);
0044 
0045 private Q_SLOTS:
0046     void slotCurrentIndexChanged(int current);
0047 
0048 private:
0049     int m_oldTabIndex;
0050 
0051     DefaultToolGeometryWidget *m_geometryWidget;
0052     KoFillConfigWidget *m_fillWidget;
0053     KoStrokeConfigWidget *m_strokeWidget;
0054 };
0055 
0056 
0057 #endif // DEFAULTTOOLTABBEDWIDGET_H