1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of Qt Creator.
7 **
8 ** Commercial License Usage
9 ** Licensees holding valid commercial Qt licenses may use this file in
10 ** accordance with the commercial license agreement provided with the
11 ** Software or, alternatively, in accordance with the terms contained in
12 ** a written agreement between you and The Qt Company. For licensing terms
13 ** and conditions see https://www.qt.io/terms-conditions. For further
14 ** information use the contact form at https://www.qt.io/contact-us.
15 **
16 ** GNU General Public License Usage
17 ** Alternatively, this file may be used under the terms of the GNU
18 ** General Public License version 3 as published by the Free Software
19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
20 ** included in the packaging of this file. Please review the following
21 ** information to ensure the GNU General Public License requirements will
22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
23 **
24 ****************************************************************************/
25
26 #include "genericscxmlplugin.h"
27 #include "mytypes.h"
28 #include "scattributeitemdelegate.h"
29 #include "scattributeitemmodel.h"
30 #include "scgraphicsitemprovider.h"
31 #include "scshapeprovider.h"
32 #include "scutilsprovider.h"
33 #include "scxmluifactory.h"
34
35 using namespace ScxmlEditor::PluginInterface;
36
GenericScxmlPlugin(QObject * parent)37 GenericScxmlPlugin::GenericScxmlPlugin(QObject *parent)
38 : QObject(parent)
39 {
40 }
41
~GenericScxmlPlugin()42 GenericScxmlPlugin::~GenericScxmlPlugin()
43 {
44 delete m_attributeItemDelegate;
45 delete m_attributeItemModel;
46 delete m_graphicsItemProvider;
47 delete m_shapeProvider;
48 delete m_utilsProvider;
49 }
50
documentChanged(DocumentChangeType type,ScxmlDocument * doc)51 void GenericScxmlPlugin::documentChanged(DocumentChangeType type, ScxmlDocument *doc)
52 {
53 Q_UNUSED(type)
54 Q_UNUSED(doc)
55 }
56
detach()57 void GenericScxmlPlugin::detach()
58 {
59 m_factory->unregisterObject("attributeItemDelegate", m_attributeItemDelegate);
60 m_factory->unregisterObject("attributeItemModel", m_attributeItemModel);
61 m_factory->unregisterObject("graphicsItemProvider", m_graphicsItemProvider);
62 m_factory->unregisterObject("shapeProvider", m_shapeProvider);
63 m_factory->unregisterObject("utilsProvider", m_utilsProvider);
64 }
65
init(ScxmlUiFactory * factory)66 void GenericScxmlPlugin::init(ScxmlUiFactory *factory)
67 {
68 m_factory = factory;
69
70 m_attributeItemDelegate = new SCAttributeItemDelegate;
71 m_attributeItemModel = new SCAttributeItemModel;
72 m_graphicsItemProvider = new SCGraphicsItemProvider;
73 m_shapeProvider = new SCShapeProvider;
74 m_utilsProvider = new SCUtilsProvider;
75
76 m_factory->registerObject("attributeItemDelegate", m_attributeItemDelegate);
77 m_factory->registerObject("attributeItemModel", m_attributeItemModel);
78 m_factory->registerObject("graphicsItemProvider", m_graphicsItemProvider);
79 m_factory->registerObject("shapeProvider", m_shapeProvider);
80 m_factory->registerObject("utilsProvider", m_utilsProvider);
81 }
82
refresh()83 void GenericScxmlPlugin::refresh()
84 {
85 }
86