Krita Source Code Documentation
Loading...
Searching...
No Matches
TextPropertiesPlugin.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
7
8#include <kis_debug.h>
9#include <kpluginfactory.h>
10#include <klocalizedstring.h>
11#include <KoDockFactoryBase.h>
13
14#include "kis_config.h"
15#include "kis_types.h"
16#include "KisViewManager.h"
17
18#include "TextPropertiesDock.h"
19#include <KoDockRegistry.h>
20#include <QQmlEngine>
21
32
33#include "FontStyleModel.h"
34#include "FontAxesModel.h"
36#include "LocaleHandler.h"
37#include "CssQmlUnitConverter.h"
40
41K_PLUGIN_FACTORY_WITH_JSON(TextPropertiesPluginFactory, "krita_textproperties.json", registerPlugin<TextPropertiesPlugin>();)
42
44 qmlRegisterType<TextPropertiesCanvasObserver>("org.krita.flake.text", 1, 0, "TextPropertiesCanvasObserver");
45 qmlRegisterType<KoSvgTextPropertiesModel>("org.krita.flake.text", 1, 0, "KoSvgTextPropertiesModel");
46 qmlRegisterType<CssLengthPercentageModel>("org.krita.flake.text", 1, 0, "CssLengthPercentageModel");
47 qmlRegisterType<LineHeightModel>("org.krita.flake.text", 1, 0, "LineHeightModel");
48 qmlRegisterType<TextIndentModel>("org.krita.flake.text", 1, 0, "TextIndentModel");
49 qmlRegisterType<TabSizeModel>("org.krita.flake.text", 1, 0, "TabSizeModel");
50 qmlRegisterType<TextTransformModel>("org.krita.flake.text", 1, 0, "TextTransformModel");
51 qmlRegisterType<CssFontStyleModel>("org.krita.flake.text", 1, 0, "CssFontStyleModel");
52 qmlRegisterType<FontVariantLigaturesModel>("org.krita.flake.text", 1, 0, "FontVariantLigaturesModel");
53 qmlRegisterType<FontVariantNumericModel>("org.krita.flake.text", 1, 0, "FontVariantNumericModel");
54 qmlRegisterType<FontVariantEastAsianModel>("org.krita.flake.text", 1, 0, "FontVariantEastAsianModel");
55 qmlRegisterUncreatableMetaObject(KoSvgText::staticMetaObject, "org.krita.flake.text", 1, 0, "KoSvgText", "Error: Namespace with enums");
56
57 qmlRegisterType<FontStyleModel>("org.krita.flake.text", 1, 0, "FontStyleModel");
58 qmlRegisterType<FontAxesModel>("org.krita.flake.text", 1, 0, "FontAxesModel");
59 qmlRegisterType<OpenTypeFeatureFilterModel>("org.krita.flake.text", 1, 0, "OpenTypeFeatureFilterModel");
60 qmlRegisterType<OpenTypeFeatureModel>("org.krita.flake.text", 1, 0, "OpenTypeFeatureModel");
61 qmlRegisterType<CssQmlUnitConverter>("org.krita.flake.text", 1, 0, "CssQmlUnitConverter");
62 qmlRegisterType<LocaleHandler>("org.krita.flake.text", 1, 0, "LocaleHandler");
63 qmlRegisterType<TextPropertyConfigModel>("org.krita.flake.text", 1, 0, "TextPropertyConfigModel");
64 qmlRegisterType<TextPropertyConfigFilterModel>("org.krita.flake.text", 1, 0, "TextPropertyConfigFilterModel");
65}
66
68public:
72
73 QString id() const override
74 {
75 return QString( "TextProperties" );
76 }
77
78 virtual Qt::DockWidgetArea defaultDockWidgetArea() const
79 {
80 return Qt::RightDockWidgetArea;
81 }
82
83 QDockWidget* createDockWidget() override
84 {
85 TextPropertiesDock * dockWidget = new TextPropertiesDock();
86
87 dockWidget->setObjectName(id());
88
89 return dockWidget;
90 }
91
93 {
94 return DockMinimized;
95 }
96
97};
98
99TextPropertiesPlugin::TextPropertiesPlugin(QObject *parent, const QVariantList &)
100 : QObject(parent)
101{
103}
104
109#include "TextPropertiesPlugin.moc"
qmlRegisterType< TabSizeModel >("org.krita.flake.text", 1, 0, "TabSizeModel")
qmlRegisterType< FontStyleModel >("org.krita.flake.text", 1, 0, "FontStyleModel")
qmlRegisterType< TextPropertyConfigFilterModel >("org.krita.flake.text", 1, 0, "TextPropertyConfigFilterModel")
qmlRegisterType< LineHeightModel >("org.krita.flake.text", 1, 0, "LineHeightModel")
qmlRegisterType< FontVariantNumericModel >("org.krita.flake.text", 1, 0, "FontVariantNumericModel")
qmlRegisterUncreatableMetaObject(KoSvgText::staticMetaObject, "org.krita.flake.text", 1, 0, "KoSvgText", "Error: Namespace with enums")
qmlRegisterType< CssFontStyleModel >("org.krita.flake.text", 1, 0, "CssFontStyleModel")
qmlRegisterType< LocaleHandler >("org.krita.flake.text", 1, 0, "LocaleHandler")
qmlRegisterType< OpenTypeFeatureFilterModel >("org.krita.flake.text", 1, 0, "OpenTypeFeatureFilterModel")
qmlRegisterType< FontAxesModel >("org.krita.flake.text", 1, 0, "FontAxesModel")
qmlRegisterType< KoSvgTextPropertiesModel >("org.krita.flake.text", 1, 0, "KoSvgTextPropertiesModel")
KIS_DECLARE_STATIC_INITIALIZER
qmlRegisterType< FontVariantLigaturesModel >("org.krita.flake.text", 1, 0, "FontVariantLigaturesModel")
qmlRegisterType< CssQmlUnitConverter >("org.krita.flake.text", 1, 0, "CssQmlUnitConverter")
qmlRegisterType< OpenTypeFeatureModel >("org.krita.flake.text", 1, 0, "OpenTypeFeatureModel")
qmlRegisterType< CssLengthPercentageModel >("org.krita.flake.text", 1, 0, "CssLengthPercentageModel")
qmlRegisterType< TextIndentModel >("org.krita.flake.text", 1, 0, "TextIndentModel")
qmlRegisterType< FontVariantEastAsianModel >("org.krita.flake.text", 1, 0, "FontVariantEastAsianModel")
qmlRegisterType< TextTransformModel >("org.krita.flake.text", 1, 0, "TextTransformModel")
qmlRegisterType< TextPropertyConfigModel >("org.krita.flake.text", 1, 0, "TextPropertyConfigModel")
@ DockMinimized
Not docked, but reachable via the menu.
static KoDockRegistry * instance()
DockPosition defaultDockPosition() const override
QString id() const override
virtual Qt::DockWidgetArea defaultDockWidgetArea() const
QDockWidget * createDockWidget() override
TextPropertiesPlugin(QObject *parent, const QVariantList &)
K_PLUGIN_FACTORY_WITH_JSON(KritaASCCDLFactory, "kritaasccdl.json", registerPlugin< KritaASCCDL >();) KritaASCCDL