digiKam
Loading...
Searching...
No Matches
editortoolsettings.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2008-08-21
7 * Description : Editor tool settings template box
8 *
9 * SPDX-FileCopyrightText: 2008-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2008-2014 by Andi Clemens <andi dot clemens at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QScrollArea>
21
22// Local includes
23
24#include "digikam_export.h"
25#include "digikam_debug.h"
26#include "histogrambox.h"
27#include "digikam_globals.h"
28
29class QPushButton;
30class QPixmap;
31class QString;
32class QIcon;
33
34namespace Digikam
35{
36
37class HistogramBox;
38class EditorTool;
39
40class DIGIKAM_EXPORT EditorToolSettings : public QScrollArea
41{
42 Q_OBJECT
43
44public:
45
47 {
48 Default = 0x00000001,
49 Try = 0x00000002,
50 Ok = 0x00000004,
51 Cancel = 0x00000008,
52 SaveAs = 0x00000010,
53 Load = 0x00000020
54 };
55 Q_DECLARE_FLAGS(Buttons, ButtonCode)
56
58 {
59 NoTool = 0x00000000,
60 ColorGuide = 0x00000001,
61 Histogram = 0x00000002
62 };
63 Q_DECLARE_FLAGS(Tools, ToolCode)
64
65public:
66
67 explicit EditorToolSettings(QWidget* const parent);
68 ~EditorToolSettings() override;
69
70 void setButtons(Buttons buttonMask);
71 void setTools(Tools toolMask);
72 void setHistogramType(HistogramBoxType type);
73 void setTool(EditorTool* const tool);
74
75 int marginHint();
76 int spacingHint();
77
78 QWidget* plainPage() const;
79 HistogramBox* histogramBox() const;
80
81 QColor guideColor() const;
82 void setGuideColor(const QColor& color);
83
84 int guideSize() const;
85 void setGuideSize(int size);
86
87 QPushButton* button(int buttonCode) const;
88 void enableButton(int buttonCode, bool state);
89
90 QSize minimumSizeHint() const override;
91 virtual void setBusy(bool) {};
92 virtual void writeSettings() {};
93 virtual void readSettings() {};
94 virtual void resetSettings() {};
95
96Q_SIGNALS:
97
107
108private Q_SLOTS:
109
110 void slotAboutPlugin();
111 void slotHelpPlugin();
112
113private:
114
115 // Disable
116 EditorToolSettings() = delete;
117
118private:
119
120 class Private;
121 Private* const d = nullptr;
122};
123
124} // namespace Digikam
125
126Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::EditorToolSettings::Buttons)
127Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::EditorToolSettings::Tools)
Definition editortoolsettings.h:41
ToolCode
Definition editortoolsettings.h:58
virtual void setBusy(bool)
Definition editortoolsettings.h:91
ButtonCode
Definition editortoolsettings.h:47
virtual void readSettings()
Definition editortoolsettings.h:93
virtual void writeSettings()
Definition editortoolsettings.h:92
virtual void resetSettings()
Definition editortoolsettings.h:94
Definition editortool.h:40
Definition histogrambox.h:36
Definition datefolderview.cpp:34
HistogramBoxType
Definition digikam_globals.h:122