11#include <kis_action.h>
12#include <KisMainWindow.h>
14#include <KisDocument.h>
15#include <KisViewManager.h>
16#include <kis_action_manager.h>
23struct Window::Private {
26 QPointer<KisMainWindow> window;
29Window::Window(KisMainWindow *window,
QObject *parent)
34 connect(window, SIGNAL(destroyed(
QObject*)), SIGNAL(windowClosed()));
35 connect(window, SIGNAL(themeChanged()), SIGNAL(themeChanged()));
36 connect(window, SIGNAL(activeViewChanged()), SIGNAL(activeViewChanged()));
44bool Window::operator==(
const Window &other)
const
46 return (d->window == other.d->window);
49bool Window::operator!=(
const Window &other)
const
51 return !(operator==(other));
61 KisMainWindow *mainWindow = d->window;
63 if (!mainWindow)
return {};
65 return mainWindow->dockWidgets();
73 if (view->mainWindow() == d->window) {
74 ret <<
new View(view);
84 if (d->window && document) {
88 document->setOwnsDocument(
false);
89 KisView *view = d->window->newView(document->document());
90 return new View(view);
98 KisView *view = v->view();
99 view->setVisible(
true);
100 d->window->setActiveView(view);
107 return new View(d->window->activeView());
115 d->window->activateWindow();
122 KisPart::instance()->removeMainWindow(d->window);
130 KisAction *action = d->window->viewManager()->actionManager()->createAction(
id);
132 action->setText(text);
135 action->setProperty(
"menulocation", menuLocation);
The Document class encapsulates a Krita Document/Image.
View represents one view on a document.
Window represents one Krita mainwindow.
void close()
close the active window and all its Views.
View * activeView() const
QList< QDockWidget * > dockers() const
dockers
QList< View * > views() const
QAction * createAction(const QString &id, const QString &text=QString(), const QString &menuLocation=QString("tools/scripts"))
createAction creates a QAction object and adds it to the action manager for this Window.
QMainWindow * qwindow() const
Return a handle to the QMainWindow widget.
void showView(View *v)
Make the given view active in this window.
void activate()
activate activates this Window.
View * addView(Document *document)
Open a new view on the given document in this window.
void setObjectName(QAnyStringView name)
bool isEmpty() const const
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)