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

#include <channeldocker_dock.h>

+ Inheritance diagram for ChannelDockerDock:

Public Member Functions

 ChannelDockerDock ()
 
QString observerName () override
 
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
 
ChannelDockerWidgetm_widget {nullptr}
 

Additional Inherited Members

Detailed Description

Definition at line 18 of file channeldocker_dock.h.

Constructor & Destructor Documentation

◆ ChannelDockerDock()

ChannelDockerDock::ChannelDockerDock ( )

Definition at line 14 of file channeldocker_dock.cpp.

15{
16 setWindowTitle(i18nc("Channel as in Color Channels", "Channels"));
17
18 m_widget = new ChannelDockerWidget(this);
19 setWidget(m_widget);
20}
ChannelDockerWidget * m_widget

References m_widget.

Member Function Documentation

◆ observerName()

QString ChannelDockerDock::observerName ( )
inlineoverridevirtual

Reimplemented from KoCanvasObserverBase.

Definition at line 23 of file channeldocker_dock.h.

23{ return "ChannelDockerDock"; }

◆ setCanvas()

void ChannelDockerDock::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 22 of file channeldocker_dock.cpp.

23{
24 if (m_canvas) {
25 m_canvas->disconnectCanvasObserver(this);
26 m_canvas->image()->disconnect(this);
27 }
28
29 KisCanvas2 *newCanvas = canvas ? dynamic_cast<KisCanvas2*>(canvas) : nullptr;
30
31 m_widget->setCanvas(newCanvas);
32
33 setEnabled(bool(canvas));
34}
QPointer< KisCanvas2 > m_canvas
void setCanvas(KisCanvas2 *canvas) override

References m_canvas, m_widget, and ChannelDockerWidget::setCanvas().

◆ unsetCanvas()

void ChannelDockerDock::unsetCanvas ( )
overridevirtual

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 36 of file channeldocker_dock.cpp.

37{
38 setCanvas(0);
39}
void setCanvas(KoCanvasBase *canvas) override

References setCanvas().

Member Data Documentation

◆ m_canvas

QPointer<KisCanvas2> ChannelDockerDock::m_canvas
private

Definition at line 29 of file channeldocker_dock.h.

◆ m_widget

ChannelDockerWidget* ChannelDockerDock::m_widget {nullptr}
private

Definition at line 28 of file channeldocker_dock.h.

28{nullptr};

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