Krita Source Code Documentation
Loading...
Searching...
No Matches
KisView.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 SPDX-FileCopyrightText: 1998, 1999 Torben Weis <weis@kde.org>
3 SPDX-FileCopyrightText: 2007 Thomas Zander <zander@kde.org>
4 SPDX-FileCopyrightText: 2010 Benjamin Port <port.benjamin@gmail.com>
5
6 SPDX-License-Identifier: LGPL-2.0-or-later
7*/
8#ifndef KIS_VIEW_H
9#define KIS_VIEW_H
10
11#include <QWidget>
12
13#include <KoColorSpace.h>
14#include <KoColorProfile.h>
15
16#include <kis_types.h>
17#include "kritaui_export.h"
19
21
22class KisDocument;
23class KisMainWindow;
25class KisZoomManager;
26class KisCanvas2;
27class KisViewManager;
28class KisDocument;
31class KisInputManager;
32
34
35// KDE classes
36class QAction;
38class KConfigGroup;
39
40// Qt classes
41class QDragEnterEvent;
42class QDragMoveEvent;
43class QDropEvent;
44class QPrintDialog;
45class QCloseEvent;
46class QStatusBar;
47class QMdiSubWindow;
48
54class KRITAUI_EXPORT KisView : public QWidget
55{
56 Q_OBJECT
57
58public:
62 KisView(KisDocument *document, KisViewManager *viewManager, QWidget *parent = 0);
63 ~KisView() override;
64
65 // Temporary while teasing apart view and mainwindow
66 void setViewManager(KisViewManager *view);
68
69public:
70
75
82 KisView *replaceBy(KisDocument *document);
83
87 KisMainWindow *mainWindow() const;
88
92 void setSubWindow(QMdiSubWindow *subWindow);
93
97 QStatusBar *statusBar() const;
98
99
100
101
109 void addStatusBarItem(QWidget * widget, int stretch = 0, bool permanent = false);
110
114 void removeStatusBarItem(QWidget * widget);
115
117 QList<QAction*> createChangeUnitActions(bool addPixelUnit = false);
118
119 void closeView();
120
124 QScreen *currentScreen() const;
125
126public:
127
132
139 KisCanvasResourceProvider *resourceProvider() const;
140
147 KisInputManager* globalInputManager() const;
148
152 KisCanvas2 *canvasBase() const;
153
155 KisImageWSP image() const;
156
157
159
160 void setCurrentNode(KisNodeSP node);
162 KisLayerSP currentLayer() const;
163 KisMaskSP currentMask() const;
174
178 KisSelectionSP selection();
179
180 void notifyCurrentStateChanged(bool isCurrent);
181 bool isCurrent() const;
182
183 void setShowFloatingMessage(bool show);
184 void showFloatingMessage(const QString &message, const QIcon& icon, int timeout = 4500,
186 int alignment = Qt::AlignCenter | Qt::TextWordWrap);
187
188 bool canvasIsMirrored() const;
189
190 void syncLastActiveNodeToDocument();
191
192 void saveViewState(KisPropertiesConfiguration &config) const;
193 void restoreViewState(const KisPropertiesConfiguration &config);
194
195public Q_SLOTS:
196
202 void slotSavingStatusMessage(const QString &text, int timeout, bool isAutoSaving = false);
203
208 void slotClearStatusText();
213 void slotSoftProofing(bool softProofing);
218 void slotGamutCheck(bool gamutCheck);
219
220 bool queryClose();
221
222 void slotMigratedToScreen(QScreen *screen);
223 void slotScreenOrResolutionChanged();
224
225 void slotThemeChanged(QPalette pal);
226
227 void slotUpdateDocumentTitle();
228
229private Q_SLOTS:
230 void slotContinueAddNode(KisNodeSP newActiveNode, KisNodeAdditionFlags flags);
231
232 void slotImageNodeRemoved(KisNodeSP node);
233 void slotContinueRemoveNode(KisNodeSP newActiveNode);
234
235Q_SIGNALS:
236 // From KisImage
237 void sigSizeChanged(const QPointF &oldStillPoint, const QPointF &newStillPoint);
238 void sigProfileChanged(const KoColorProfile * profile);
240
241protected:
242
243 // QWidget overrides
244 void dragEnterEvent(QDragEnterEvent *event) override;
245 void dropEvent(QDropEvent *event) override;
246 void dragMoveEvent(QDragMoveEvent *event) override;
247 void closeEvent(QCloseEvent *event) override;
248
252 QString newObjectName();
253
254public Q_SLOTS:
255 void slotLoadingFinished();
256 void slotImageResolutionChanged();
257 void slotImageSizeChanged(const QPointF &oldStillPoint, const QPointF &newStillPoint);
258
259
260private:
261
262 class Private;
263 Private * const d;
264
265 static bool s_firstView;
266};
267
268#endif
Central object to manage canvas input.
A container for a set of QAction objects.
Main window for Krita.
void showFloatingMessage(const QString &message, const QIcon &icon, int timeout=4500, KisFloatingMessage::Priority priority=KisFloatingMessage::Medium, int alignment=Qt::AlignCenter|Qt::TextWordWrap)
static bool s_firstView
Definition KisView.h:265
void addStatusBarItem(QWidget *widget, int stretch=0, bool permanent=false)
KisZoomManager * zoomManager() const
KisCoordinatesConverter * viewConverter() const
bool gamutCheck()
gamutCheck
Private *const d
Definition KisView.h:263
KisDocument * document() const
void sigColorSpaceChanged(const KoColorSpace *cs)
void removeStatusBarItem(QWidget *widget)
KisCanvasController * canvasController() const
KisViewManager * viewManager() const
bool isCurrent() const
bool softProofing()
softProofing
void sigProfileChanged(const KoColorProfile *profile)
void sigSizeChanged(const QPointF &oldStillPoint, const QPointF &newStillPoint)
KisNodeSP currentNode() const