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