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

#include <griddocker_dock.h>

+ Inheritance diagram for GridDockerDock:

Public Slots

void slotGridConfigUpdateRequested (const KisGridConfig &config)
 
void slotGuidesConfigUpdateRequested (const KisGuidesConfig &config)
 
void slotGuiGridConfigChanged ()
 
void slotGuiGuidesConfigChanged ()
 

Public Member Functions

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

Private Attributes

QPointer< KisCanvas2m_canvas
 
KisSignalAutoConnectionsStore m_canvasConnections
 
GridConfigWidgetm_configWidget
 

Additional Inherited Members

Detailed Description

Definition at line 22 of file griddocker_dock.h.

Constructor & Destructor Documentation

◆ GridDockerDock()

GridDockerDock::GridDockerDock ( )

Definition at line 30 of file griddocker_dock.cpp.

31 : QDockWidget(i18n("Grid and Guides"))
32 , m_canvas(0)
33{
35 connect(m_configWidget, SIGNAL(gridValueChanged()), SLOT(slotGuiGridConfigChanged()));
36 connect(m_configWidget, SIGNAL(guidesValueChanged()), SLOT(slotGuiGuidesConfigChanged()));
37 setWidget(m_configWidget);
38 setEnabled(m_canvas);
39}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
GridConfigWidget * m_configWidget
QPointer< KisCanvas2 > m_canvas
void slotGuiGridConfigChanged()
void slotGuiGuidesConfigChanged()

References connect(), m_canvas, m_configWidget, slotGuiGridConfigChanged(), and slotGuiGuidesConfigChanged().

◆ ~GridDockerDock()

GridDockerDock::~GridDockerDock ( )
override

Definition at line 41 of file griddocker_dock.cpp.

42{
43}

Member Function Documentation

◆ observerName()

QString GridDockerDock::observerName ( )
inlineoverridevirtual

Reimplemented from KoCanvasObserverBase.

Definition at line 27 of file griddocker_dock.h.

27{ return "GridDockerDock"; }

◆ setCanvas()

void GridDockerDock::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 45 of file griddocker_dock.cpp.

46{
47 if(canvas && m_canvas == canvas)
48 return;
49
50 if (m_canvas) {
52 m_canvas->disconnectCanvasObserver(this);
53 m_canvas->image()->disconnect(this);
54 }
55
56 m_canvas = canvas ? dynamic_cast<KisCanvas2*>(canvas) : 0;
57 setEnabled(m_canvas);
58
59 if (m_canvas && m_canvas->viewManager() && m_canvas->viewManager()->document()) {
61 m_canvas->viewManager()->gridManager(),
62 SIGNAL(sigRequestUpdateGridConfig(KisGridConfig)),
63 this,
65
66 slotGridConfigUpdateRequested(m_canvas->viewManager()->document()->gridConfig());
67
68 KisAction* action = m_canvas->viewManager()->actionManager()->actionByName("view_ruler");
69
70 m_canvasConnections.addConnection(m_configWidget,SIGNAL(showRulersChanged(bool)),action,SLOT(setChecked(bool)));
71 m_canvasConnections.addConnection(action,SIGNAL(toggled(bool)),m_configWidget,SLOT(setShowRulers(bool)));
72 m_configWidget->setShowRulers(action->isChecked());
73
75 m_canvas->viewManager()->guidesManager(),
76 SIGNAL(sigRequestUpdateGuidesConfig(KisGuidesConfig)),
77 this,
79 slotGuidesConfigUpdateRequested(m_canvas->viewManager()->document()->guidesConfig());
80
81 // isometric (legacy) grid only available with OpenGL
82 if (m_canvas->canvasIsOpenGL()) {
84 } else {
86 }
87
88 }
89}
void enableIsometricLegacyGrid(bool value)
void setShowRulers(bool value)
void slotGridConfigUpdateRequested(const KisGridConfig &config)
KisSignalAutoConnectionsStore m_canvasConnections
void slotGuidesConfigUpdateRequested(const KisGuidesConfig &config)
void addConnection(Sender sender, Signal signal, Receiver receiver, Method method, Qt::ConnectionType type=Qt::AutoConnection)

References KisSignalAutoConnectionsStore::addConnection(), KisSignalAutoConnectionsStore::clear(), GridConfigWidget::enableIsometricLegacyGrid(), m_canvas, m_canvasConnections, m_configWidget, GridConfigWidget::setShowRulers(), slotGridConfigUpdateRequested(), and slotGuidesConfigUpdateRequested().

◆ slotGridConfigUpdateRequested

void GridDockerDock::slotGridConfigUpdateRequested ( const KisGridConfig & config)
slot

Definition at line 102 of file griddocker_dock.cpp.

103{
105}
void setGridConfig(const KisGridConfig &value)

References m_configWidget, and GridConfigWidget::setGridConfig().

◆ slotGuidesConfigUpdateRequested

void GridDockerDock::slotGuidesConfigUpdateRequested ( const KisGuidesConfig & config)
slot

Definition at line 113 of file griddocker_dock.cpp.

114{
116}
void setGuidesConfig(const KisGuidesConfig &value)

References m_configWidget, and GridConfigWidget::setGuidesConfig().

◆ slotGuiGridConfigChanged

void GridDockerDock::slotGuiGridConfigChanged ( )
slot

Definition at line 96 of file griddocker_dock.cpp.

97{
98 if (!m_canvas) return;
99 m_canvas->viewManager()->gridManager()->setGridConfig(m_configWidget->gridConfig());
100}
KisGridConfig gridConfig() const

References GridConfigWidget::gridConfig(), m_canvas, and m_configWidget.

◆ slotGuiGuidesConfigChanged

void GridDockerDock::slotGuiGuidesConfigChanged ( )
slot

Definition at line 107 of file griddocker_dock.cpp.

108{
109 if (!m_canvas) return;
110 m_canvas->viewManager()->guidesManager()->setGuidesConfig(m_configWidget->guidesConfig());
111}
KisGuidesConfig guidesConfig() const

References GridConfigWidget::guidesConfig(), m_canvas, and m_configWidget.

◆ unsetCanvas()

void GridDockerDock::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 91 of file griddocker_dock.cpp.

92{
93 setCanvas(0);
94}
void setCanvas(KoCanvasBase *canvas) override

References setCanvas().

Member Data Documentation

◆ m_canvas

QPointer<KisCanvas2> GridDockerDock::m_canvas
private

Definition at line 40 of file griddocker_dock.h.

◆ m_canvasConnections

KisSignalAutoConnectionsStore GridDockerDock::m_canvasConnections
private

Definition at line 41 of file griddocker_dock.h.

◆ m_configWidget

GridConfigWidget* GridDockerDock::m_configWidget
private

Definition at line 39 of file griddocker_dock.h.


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