File indexing completed on 2025-01-26 04:08:21

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Sven Langkamp <sven.langkamp@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 
0008 #ifndef KIS_OPERATION_UI_WIDGET_H
0009 #define KIS_OPERATION_UI_WIDGET_H
0010 
0011 #include <QWidget>
0012 #include <kritaui_export.h>
0013 #include "operations/kis_operation_configuration.h"
0014 
0015 /**
0016 *  Base class for the QWidget based operation config widgets
0017 */
0018 class KRITAUI_EXPORT KisOperationUIWidget : public QWidget
0019 {
0020 
0021 public:
0022     explicit KisOperationUIWidget(const QString& caption, QWidget* parent = 0);
0023     ~KisOperationUIWidget() override;
0024 
0025    /**
0026     * Caption of the operation widget, used in dialog caption
0027     */
0028     QString caption() const;
0029 
0030    /**
0031     * Fetch the setting from the config widget
0032     * @param config configuration to which the setting will be written
0033     */
0034     virtual void getConfiguration(KisOperationConfigurationSP config) = 0;
0035 
0036 private:
0037     class Private;
0038     Private* const d;
0039 };
0040 
0041 #endif // KIS_OPERATION_UI_WIDGET_H