Krita Source Code Documentation
Loading...
Searching...
No Matches
StoryboardDockerDock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Saurabh Kumar <saurabhk660@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef _STORYBOARDDOCKER_DOCK_H_
8#define _STORYBOARDDOCKER_DOCK_H_
9
10#include <QDockWidget>
11#include <QButtonGroup>
12#include <QItemSelection>
13#include <QPointer>
14
16#include <kis_canvas2.h>
17#include <kis_action.h>
18#include <boost/optional.hpp>
19#include "DlgExportStoryboard.h"
20#include <QDomElement>
21
22class Ui_WdgStoryboardDock;
23class CommentMenu;
24class ArrangeMenu;
26class StoryboardModel;
28class KisNodeManager;
29class QPrinter;
30
31class StoryboardDockerDock : public QDockWidget, public KisMainwindowObserver{
32 Q_OBJECT
33public:
35 ~StoryboardDockerDock() override;
36 QString observerName() override { return "StoryboardDockerDock"; }
37 void setCanvas(KoCanvasBase *canvas) override;
38 void unsetCanvas() override;
39 void setViewManager(KisViewManager* kisview) override;
40
42 boost::optional<QRectF> cutNameRect;
43 boost::optional<QRectF> cutNumberRect;
44 boost::optional<QRectF> cutDurationRect;
45 boost::optional<QRectF> cutImageRect;
46 QMap<QString, QRectF> commentRects;
47
51 };
52
53 struct ExportPage {
55 boost::optional<QRectF> pageTimeRect;
56 boost::optional<QRectF> pageNumberRect;
57 boost::optional<QDomDocument> svg;
58
60 : elements()
61 {}
62 };
63
64private Q_SLOTS:
68 void notifyImageDeleted();
82
83
87 void slotExportAsPdf();
88
92 void slotExportAsSvg();
93
98 void slotExport(ExportFormat format);
99
104 void slotLockClicked(bool);
105
110 void slotModeChanged(QAbstractButton*);
111
116 void slotViewChanged(QAbstractButton*);
117
123
127 void slotModelChanged();
128
129private:
130 ExportPage getPageLayout(int rows, int columns, const QRect& imageSize, const QRect& pageRect, const QFontMetrics& painter);
131 ExportPage getPageLayout(QString layoutSvgFileName, QPrinter *printer);
132
133 QString buildDurationString(int seconds, int frames);
134
135private:
138 QScopedPointer<Ui_WdgStoryboardDock> m_ui;
139
143
146
148
150
151 QButtonGroup *m_modeGroup;
152 QButtonGroup *m_viewGroup;
153
156};
157
158#endif
The KisMainwindowObserver class is an interface for dock widgets that want to keep track of the main ...
void slotModelChanged()
called to reflect changes to the model.
void slotUpdateMinimumWidth()
called to update minimum width on reaction to model changes. Should change based on available content...
QScopedPointer< Ui_WdgStoryboardDock > m_ui
void setCanvas(KoCanvasBase *canvas) override
void slotLockClicked(bool)
called when lock toggle button is clicked.
void slotUpdateStoryboardModelList()
sets the StoryboardModel's storyboardItemList to be the same as KisDocument's storyboardItemList
QPointer< StoryboardCommentModel > m_commentModel
void slotUpdateCommentModelList()
sets the CommentModel's comment list to be the same as KisDocument's storyboardCommentList
void slotModeChanged(QAbstractButton *)
called when a mode option is selected in Arrange menu.
QPointer< StoryboardDelegate > m_storyboardDelegate
void slotExport(ExportFormat format)
Creates the DlgExportStoryboard and performs the actual export.
void slotViewChanged(QAbstractButton *)
called when a view option is selected in Arrange menu.
void notifyImageDeleted()
sets the image in Model to nullptr if there is no canvas set or no KisImage
QSharedPointer< StoryboardModel > m_storyboardModel
void slotUpdateDocumentList()
sets the KisDocument's storyboardItemList to be the same as StoryboardModel's storyboardItemList and ...
KisNodeManager * m_nodeManager
QString buildDurationString(int seconds, int frames)
ExportPage getPageLayout(int rows, int columns, const QRect &imageSize, const QRect &pageRect, const QFontMetrics &painter)
void setViewManager(KisViewManager *kisview) override
QString observerName() override
void slotExportAsPdf()
calls slotExport(ExportFormat) with PDF parameter.
void slotExportAsSvg()
calls slotExport(ExportFormat) with SVG parameter.
The main storyboard model. This class manages a StoryboardItemList which is a list of StoryboardItem ...
boost::optional< QRectF > cutDurationRect
boost::optional< QRectF > pageTimeRect
QVector< ExportPageShot > elements
boost::optional< QDomDocument > svg
boost::optional< QRectF > pageNumberRect