File indexing completed on 2024-05-26 04:30:03

0001 /*
0002 *  SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
0003 *
0004 *  SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef _KIS_DLG_FILTER_H_
0008 #define _KIS_DLG_FILTER_H_
0009 
0010 #include <QDialog>
0011 
0012 #include <kis_types.h>
0013 
0014 class KisViewManager;
0015 class KisFilterManager;
0016 
0017 class KisDlgFilter : public QDialog
0018 {
0019 
0020     Q_OBJECT
0021 
0022 public:
0023 
0024     KisDlgFilter(KisViewManager *view, KisNodeSP node, KisFilterManager *filterManager, QWidget *parent = 0);
0025 
0026     ~KisDlgFilter() override;
0027 
0028     void setFilter(KisFilterSP f, KisFilterConfigurationSP overrideDefaultConfig);
0029 
0030 protected Q_SLOTS:
0031 
0032     void slotOnAccept();
0033     void slotOnReject();
0034 
0035     void createMask();
0036 
0037     void enablePreviewToggled(bool checked);
0038 
0039     void filterSelectionChanged();
0040 
0041 public Q_SLOTS:
0042     void adjustSize();
0043 
0044 private:
0045     void startApplyingFilter(KisFilterConfigurationSP config);
0046     void setDialogTitle(KisFilterSP f);
0047 
0048 
0049 private Q_SLOTS:
0050     void slotFilterWidgetSizeChanged();
0051     void updatePreview();
0052 
0053 private:
0054     struct Private;
0055     KisDlgFilter::Private* const d;
0056 };
0057 
0058 #endif