Krita Source Code Documentation
Loading...
Searching...
No Matches
gamutmask_dock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Anna Medonosova <anna.medonosova@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef H_GAMUT_MASK_DOCK_H
8#define H_GAMUT_MASK_DOCK_H
9
10#include <QDockWidget>
11#include <QMessageBox>
12
15#include <KoResourceServer.h>
17#include <KisView.h>
18#include <kis_types.h>
20
22
23class KisDocument;
25class QButtonGroup;
26class QMenu;
27
29
30class GamutMaskDock: public QDockWidget, public KisMainwindowObserver, public KoResourceServerObserver<KoGamutMask>
31{
32 Q_OBJECT
33
34public:
36 ~GamutMaskDock() override;
37 QString observerName() override { return "GamutMaskDock"; }
38 void setViewManager(KisViewManager* kisview) override;
39 void setCanvas(KoCanvasBase *canvas) override;
40 void unsetCanvas() override;
41
42public: // KoResourceServerObserver
43 void unsetResourceServer() override;
44 void resourceAdded(KoGamutMaskSP /*resource*/) override {}
45 void removingResource(KoGamutMaskSP resource) override;
46 void resourceChanged(KoGamutMaskSP resource) override;
47
48Q_SIGNALS:
53
54private Q_SLOTS:
55 void slotGamutMaskEdit();
56 void slotGamutMaskSave();
63
64 void slotDocumentRemoved(QString filename);
65 void slotViewChanged();
66 void slotDocumentSaved();
67
68private:
69 void closeMaskDocument();
70 bool openMaskEditor();
71 void cancelMaskEdit();
72 void selectMask(KoGamutMaskSP mask, bool notifyItemChooser = true);
74 void deleteMask();
75 int getUserFeedback(QString text, QString informativeText = "",
76 QMessageBox::StandardButtons buttons = QMessageBox::Yes | QMessageBox::No,
77 QMessageBox::StandardButton defaultButton = QMessageBox::Yes,
78 QMessageBox::Icon severity = QMessageBox::Warning);
79
80 int saveOrCancel(QMessageBox::StandardButton defaultAction = QMessageBox::Save);
81
82 KoGamutMaskSP createMaskResource(KoGamutMaskSP sourceMask, QString newTitle);
83
84 QPair<QString, QFileInfo> resolveMaskTitle(QString suggestedTitle);
85
88
90
93 bool m_creatingNewMask {false};
94 bool m_templatePrevSaved {false};
95 bool m_selfSelectingMask {false};
96
99
101
103 KisView* m_view {nullptr};
104};
105
106
107#endif // H_GAMUT_MASK_DOCK_H
KisResourceItemChooser * m_maskChooser
int saveOrCancel(QMessageBox::StandardButton defaultAction=QMessageBox::Save)
~GamutMaskDock() override
void resourceAdded(KoGamutMaskSP) override
void setViewManager(KisViewManager *kisview) override
void resourceChanged(KoGamutMaskSP resource) override
bool m_externalTemplateClose
void slotGamutMaskPreview()
void unsetResourceServer() override
void removingResource(KoGamutMaskSP resource) override
void selectMask(KoGamutMaskSP mask, bool notifyItemChooser=true)
GamutMaskChooserUI * m_dockerUI
QString observerName() override
QList< KoShape * > getShapesFromLayer()
void sigGamutMaskUnset()
void setCanvas(KoCanvasBase *canvas) override
KoGamutMaskSP m_selectedMask
KisShapeLayerSP getShapeLayer()
KisDocument * m_maskDocument
bool saveSelectedMaskResource()
void slotGamutMaskCreateNew()
void sigGamutMaskChanged(KoGamutMaskSP mask)
void sigGamutMaskPreviewUpdate()
void slotGamutMaskSelected(KoGamutMaskSP mask)
void slotDocumentRemoved(QString filename)
void unsetCanvas() override
KisCanvasResourceProvider * m_resourceProvider
QPair< QString, QFileInfo > resolveMaskTitle(QString suggestedTitle)
void sigGamutMaskSet(KoGamutMaskSP mask)
void slotGamutMaskCancelEdit()
void slotGamutMaskDuplicate()
int getUserFeedback(QString text, QString informativeText="", QMessageBox::StandardButtons buttons=QMessageBox::Yes|QMessageBox::No, QMessageBox::StandardButton defaultButton=QMessageBox::Yes, QMessageBox::Icon severity=QMessageBox::Warning)
KoGamutMaskSP createMaskResource(KoGamutMaskSP sourceMask, QString newTitle)
bool m_selfClosingTemplate
The KisMainwindowObserver class is an interface for dock widgets that want to keep track of the main ...
QString buttons(const T &ev)