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