File indexing completed on 2025-02-02 04:20:46
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef GRID_CONFIG_WIDGET_H 0008 #define GRID_CONFIG_WIDGET_H 0009 0010 #include <QWidget> 0011 #include <QScopedPointer> 0012 0013 namespace Ui { 0014 class GridConfigWidget; 0015 } 0016 0017 class KisGridConfig; 0018 class KisGuidesConfig; 0019 0020 class GridConfigWidget : public QWidget 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 explicit GridConfigWidget(QWidget *parent = 0); 0026 ~GridConfigWidget() override; 0027 0028 void setGridConfig(const KisGridConfig &value); 0029 KisGridConfig gridConfig() const; 0030 0031 void setGuidesConfig(const KisGuidesConfig &value); 0032 KisGuidesConfig guidesConfig() const; 0033 0034 bool showRulers() const; 0035 0036 void enableIsometricGrid(bool value); 0037 0038 public Q_SLOTS: 0039 void setShowRulers(bool value); 0040 0041 private Q_SLOTS: 0042 void slotGridGuiChanged(); 0043 void slotGuidesGuiChanged(); 0044 void slotGridTypeChanged(); 0045 void slotPreferencesUpdated(); 0046 0047 Q_SIGNALS: 0048 void gridValueChanged(); 0049 void guidesValueChanged(); 0050 void showRulersChanged(bool); 0051 0052 private: 0053 KisGridConfig fetchGuiGridConfig() const; 0054 void setGridConfigImpl(const KisGridConfig &value); 0055 0056 KisGuidesConfig fetchGuiGuidesConfig() const; 0057 void setGuidesConfigImpl(const KisGuidesConfig &value); 0058 0059 0060 private: 0061 Ui::GridConfigWidget *ui; 0062 0063 struct Private; 0064 const QScopedPointer<Private> m_d; 0065 bool m_isGridEnabled {false}; 0066 0067 bool m_isIsometricGridEnabled {true}; 0068 }; 0069 0070 #endif // GRID_CONFIG_WIDGET_H