Krita Source Code Documentation
Loading...
Searching...
No Matches
PresetDockerDock Class Reference

#include <presetdocker_dock.h>

+ Inheritance diagram for PresetDockerDock:

Public Slots

void canvasResourceChanged (int key=0, const QVariant &v=QVariant())
 

Public Member Functions

QString observerName () override
 
 PresetDockerDock ()
 
void setCanvas (KoCanvasBase *canvas) override
 
void unsetCanvas () override
 
- Public Member Functions inherited from KoCanvasObserverBase
 KoCanvasObserverBase ()
 
KoCanvasBaseobservedCanvas () const
 
void setObservedCanvas (KoCanvasBase *canvas)
 
void unsetObservedCanvas ()
 
virtual ~KoCanvasObserverBase ()
 

Private Attributes

QPointer< KisCanvas2m_canvas
 
KisPaintOpPresetsChooserPopupm_presetChooser
 

Additional Inherited Members

Detailed Description

Definition at line 17 of file presetdocker_dock.h.

Constructor & Destructor Documentation

◆ PresetDockerDock()

PresetDockerDock::PresetDockerDock ( )

Definition at line 24 of file presetdocker_dock.cpp.

25 : QDockWidget(i18nc("@title:window Brush presets chooser docker", "Brush Presets"))
26 , m_canvas(0)
27{
29 m_presetChooser->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
31 setWidget(m_presetChooser);
32}
KisPaintOpPresetsChooserPopup * m_presetChooser
QPointer< KisCanvas2 > m_canvas

References m_presetChooser, and KisPaintOpPresetsChooserPopup::setResponsiveness().

Member Function Documentation

◆ canvasResourceChanged

void PresetDockerDock::canvasResourceChanged ( int key = 0,
const QVariant & v = QVariant() )
slot

Definition at line 61 of file presetdocker_dock.cpp.

62{
64 if (m_canvas && m_canvas->resourceManager()) {
65 if (sender()) sender()->blockSignals(true);
66 KisPaintOpPresetSP preset = m_canvas->resourceManager()->resource(KoCanvasResource::CurrentPaintOpPreset).value<KisPaintOpPresetSP>();
67 if(preset)
69 if (sender()) sender()->blockSignals(false);
70 }
71 }
72}
void canvasResourceChanged(KisPaintOpPresetSP preset)

References KisPaintOpPresetsChooserPopup::canvasResourceChanged(), KoCanvasResource::CurrentPaintOpPreset, m_canvas, and m_presetChooser.

◆ observerName()

QString PresetDockerDock::observerName ( )
inlineoverridevirtual

Reimplemented from KoCanvasObserverBase.

Definition at line 21 of file presetdocker_dock.h.

21{ return "PresetDockerDock"; }

◆ setCanvas()

void PresetDockerDock::setCanvas ( KoCanvasBase * canvas)
overridevirtual

re-implement this method in your canvas observer. It will be called whenever a canvas becomes active. Note that you are responsible for not connecting more than one time to the signals of a canvas or any of the QObjects you can access through the canvas.

Implements KoCanvasObserverBase.

Definition at line 34 of file presetdocker_dock.cpp.

35{
36 setEnabled(canvas != 0);
37
38 if (m_canvas) {
39 m_canvas->disconnectCanvasObserver(this);
40 m_presetChooser->disconnect(m_canvas->viewManager()->paintOpBox());
41 }
42
43 m_canvas = dynamic_cast<KisCanvas2*>(canvas);
44
45 if (!m_canvas || !m_canvas->viewManager() || !m_canvas->resourceManager()) return;
46
47 connect(m_presetChooser, SIGNAL(resourceSelected(KoResourceSP )),
48 m_canvas->viewManager()->paintOpBox(), SLOT(resourceSelected(KoResourceSP )));
49 connect(m_presetChooser, SIGNAL(resourceClicked(KoResourceSP )),
50 m_canvas->viewManager()->paintOpBox(), SLOT(resourceSelected(KoResourceSP )));
51 connect(canvas->resourceManager(), SIGNAL(canvasResourceChanged(int,QVariant)),
52 this, SLOT(canvasResourceChanged(int,QVariant)));
53
54
55 connect(m_canvas->viewManager()->mainWindow(), SIGNAL(themeChanged()), m_presetChooser, SLOT(slotThemeChanged()), Qt::UniqueConnection);
57
59}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
QPointer< KoCanvasResourceProvider > resourceManager
void canvasResourceChanged(int key=0, const QVariant &v=QVariant())

References canvasResourceChanged(), connect(), KoCanvasResource::CurrentPaintOpPreset, m_canvas, m_presetChooser, KoCanvasBase::resourceManager, and KisPaintOpPresetsChooserPopup::slotThemeChanged().

◆ unsetCanvas()

void PresetDockerDock::unsetCanvas ( )
inlineoverridevirtual

Re-implement to notify the observer that its canvas is no longer among the living. The daisies, it is pushing up. This means you don't have to disconnect, it's dead.

The old canvas should be deleted already, so if you stored a pointer to it, don't touch!

Note that currently there is a bug where in certain specific circumstances unsetCanvas can be called when it shouldn't, see for example KWStatisticsDocker for a workaround for this problem.

Implements KoCanvasObserverBase.

Definition at line 23 of file presetdocker_dock.h.

23{ m_canvas = 0; setEnabled(false);}

References m_canvas.

Member Data Documentation

◆ m_canvas

QPointer<KisCanvas2> PresetDockerDock::m_canvas
private

Definition at line 27 of file presetdocker_dock.h.

◆ m_presetChooser

KisPaintOpPresetsChooserPopup* PresetDockerDock::m_presetChooser
private

Definition at line 28 of file presetdocker_dock.h.


The documentation for this class was generated from the following files: