File indexing completed on 2024-06-09 04:27:02
0001 /* 0002 * SPDX-FileCopyrightText: 2013 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef DLG_CLONESARRAY 0008 #define DLG_CLONESARRAY 0009 0010 #include <KoDialog.h> 0011 #include <kis_global.h> 0012 #include <QPointer> 0013 0014 #include "kis_types.h" 0015 #include "ui_wdg_clonesarray.h" 0016 0017 class KisViewManager; 0018 class KisProcessingApplicator; 0019 0020 0021 class WdgClonesArray : public QWidget, public Ui::WdgClonesArray 0022 { 0023 Q_OBJECT 0024 0025 public: 0026 WdgClonesArray(QWidget *parent) : QWidget(parent) { 0027 setupUi(this); 0028 } 0029 }; 0030 0031 class DlgClonesArray: public KoDialog 0032 { 0033 0034 Q_OBJECT 0035 0036 public: 0037 DlgClonesArray(KisViewManager *viewManager, QWidget * parent = 0); 0038 ~DlgClonesArray() override; 0039 0040 private Q_SLOTS: 0041 void okClicked(); 0042 void applyClicked(); 0043 void cancelClicked(); 0044 0045 void syncOrthogonalToAngular(); 0046 void syncAngularToOrthogonal(); 0047 0048 void setDirty(); 0049 void updateCheckboxAvailability(); 0050 0051 private: 0052 void setOrthogonalSignalsEnabled(bool value); 0053 void setAngularSignalsEnabled(bool value); 0054 0055 void initializeValues(); 0056 void reapplyClones(); 0057 0058 void setClean(); 0059 0060 private: 0061 WdgClonesArray *m_page; 0062 QPointer<KisViewManager> m_viewManager; 0063 KisProcessingApplicator *m_applicator; 0064 KisLayerSP m_baseLayer; 0065 bool m_isDirty {false}; 0066 }; 0067 0068 #endif // DLG_CLONESARRAY