1
/**************************************************************************
3
** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
5
** Contact: BlackBerry (qt@blackberry.com)
6
** Contact: KDAB (info@kdab.com)
8
** This file is part of Qt Creator.
10
** Commercial License Usage
11
** Licensees holding valid commercial Qt licenses may use this file in
12
** accordance with the commercial license agreement provided with the
13
** Software or, alternatively, in accordance with the terms contained in
14
** a written agreement between you and Digia. For licensing terms and
15
** conditions see http://qt.digia.com/licensing. For further information
16
** use the contact form at http://qt.digia.com/contact-us.
18
** GNU Lesser General Public License Usage
19
** Alternatively, this file may be used under the terms of the GNU Lesser
20
** General Public License version 2.1 as published by the Free Software
21
** Foundation and appearing in the file LICENSE.LGPL included in the
22
** packaging of this file. Please review the following information to
23
** ensure the GNU Lesser General Public License version 2.1 requirements
24
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
26
** In addition, as a special exception, Digia gives you certain additional
27
** rights. These rights are described in the Digia Qt LGPL Exception
28
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
30
****************************************************************************/
32
#ifndef QNX_INTERNAL_BARDESCRIPTORDOCUMENTNODEHANDLERS_H
33
#define QNX_INTERNAL_BARDESCRIPTORDOCUMENTNODEHANDLERS_H
36
#include <QSharedPointer>
41
class BarDescriptorEditorWidget;
42
class BarDescriptorEditorAssetsWidget;
43
class BarDescriptorEditorAuthorInformationWidget;
44
class BarDescriptorEditorEntryPointWidget;
45
class BarDescriptorEditorEnvironmentWidget;
46
class BarDescriptorEditorGeneralWidget;
47
class BarDescriptorEditorPackageInformationWidget;
48
class BarDescriptorEditorPermissionsWidget;
50
class BarDescriptorDocumentAbstractNodeHandler
53
BarDescriptorDocumentAbstractNodeHandler(BarDescriptorEditorWidget *editorWidget);
54
virtual ~BarDescriptorDocumentAbstractNodeHandler();
56
virtual bool canHandle(const QDomNode &node) const = 0;
57
bool handle(const QDomNode &node);
58
virtual QDomNode toNode(QDomDocument &doc) const = 0;
64
BarDescriptorEditorPackageInformationWidget *packageInformationWidget() const;
65
BarDescriptorEditorAuthorInformationWidget *authorInformationWidget() const;
67
BarDescriptorEditorEntryPointWidget *entryPointWidget() const;
68
BarDescriptorEditorGeneralWidget *generalWidget() const;
69
BarDescriptorEditorPermissionsWidget *permissionsWidget() const;
70
BarDescriptorEditorEnvironmentWidget *environmentWidget() const;
72
BarDescriptorEditorAssetsWidget *assetsWidget() const;
74
virtual bool fromNode(const QDomNode &node) = 0;
76
bool canHandleSimpleTextElement(const QDomNode &node, const QString &tagName) const;
77
QString loadSimpleTextElement(const QDomNode &node);
78
QDomElement createSimpleTextElement(QDomDocument &doc, const QString &tagName, const QString &textValue) const;
81
BarDescriptorEditorWidget *m_editorWidget;
86
// ----------------------------------------------------------------------------
88
class BarDescriptorDocumentIdNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
91
BarDescriptorDocumentIdNodeHandler(BarDescriptorEditorWidget *editorWidget);
93
bool canHandle(const QDomNode &node) const;
94
QDomNode toNode(QDomDocument &doc) const;
97
bool fromNode(const QDomNode &node);
100
// ----------------------------------------------------------------------------
102
class BarDescriptorDocumentVersionNumberNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
105
BarDescriptorDocumentVersionNumberNodeHandler(BarDescriptorEditorWidget *editorWidget);
107
bool canHandle(const QDomNode &node) const;
108
QDomNode toNode(QDomDocument &doc) const;
111
bool fromNode(const QDomNode &node);
114
// ----------------------------------------------------------------------------
116
class BarDescriptorDocumentBuildIdNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
119
BarDescriptorDocumentBuildIdNodeHandler(BarDescriptorEditorWidget *editorWidget);
121
bool canHandle(const QDomNode &node) const;
122
QDomNode toNode(QDomDocument &doc) const;
125
bool fromNode(const QDomNode &node);
128
// ----------------------------------------------------------------------------
130
class BarDescriptorDocumentApplicationNameNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
133
BarDescriptorDocumentApplicationNameNodeHandler(BarDescriptorEditorWidget *editorWidget);
135
bool canHandle(const QDomNode &node) const;
136
QDomNode toNode(QDomDocument &doc) const;
139
bool fromNode(const QDomNode &node);
142
// ----------------------------------------------------------------------------
144
class BarDescriptorDocumentApplicationDescriptionNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
147
BarDescriptorDocumentApplicationDescriptionNodeHandler(BarDescriptorEditorWidget *editorWidget);
149
bool canHandle(const QDomNode &node) const;
150
QDomNode toNode(QDomDocument &doc) const;
153
bool fromNode(const QDomNode &node);
156
// ----------------------------------------------------------------------------
158
class BarDescriptorDocumentApplicationIconNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
161
BarDescriptorDocumentApplicationIconNodeHandler(BarDescriptorEditorWidget *editorWidget);
163
bool canHandle(const QDomNode &node) const;
164
QDomNode toNode(QDomDocument &doc) const;
167
bool fromNode(const QDomNode &node);
170
// ----------------------------------------------------------------------------
172
class BarDescriptorDocumentSplashScreenNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
175
BarDescriptorDocumentSplashScreenNodeHandler(BarDescriptorEditorWidget *editorWidget);
177
bool canHandle(const QDomNode &node) const;
178
QDomNode toNode(QDomDocument &doc) const;
181
bool fromNode(const QDomNode &node);
184
// ----------------------------------------------------------------------------
186
class BarDescriptorDocumentAssetNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
189
BarDescriptorDocumentAssetNodeHandler(BarDescriptorEditorWidget *editorWidget);
191
bool canHandle(const QDomNode &node) const;
192
QDomNode toNode(QDomDocument &doc) const;
195
bool fromNode(const QDomNode &node);
198
// ----------------------------------------------------------------------------
200
class BarDescriptorDocumentInitialWindowNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
203
BarDescriptorDocumentInitialWindowNodeHandler(BarDescriptorEditorWidget *editorWidget);
205
bool canHandle(const QDomNode &node) const;
206
QDomNode toNode(QDomDocument &doc) const;
209
bool fromNode(const QDomNode &node);
212
// ----------------------------------------------------------------------------
214
class BarDescriptorDocumentActionNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
217
BarDescriptorDocumentActionNodeHandler(BarDescriptorEditorWidget *editorWidget);
219
bool canHandle(const QDomNode &node) const;
220
QDomNode toNode(QDomDocument &doc) const;
223
bool fromNode(const QDomNode &node);
226
// ----------------------------------------------------------------------------
228
class BarDescriptorDocumentArgNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
231
BarDescriptorDocumentArgNodeHandler(BarDescriptorEditorWidget *editorWidget);
233
bool canHandle(const QDomNode &node) const;
234
QDomNode toNode(QDomDocument &doc) const;
237
bool fromNode(const QDomNode &node);
240
// ----------------------------------------------------------------------------
242
class BarDescriptorDocumentEnvNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
245
BarDescriptorDocumentEnvNodeHandler(BarDescriptorEditorWidget *editorWidget);
247
bool canHandle(const QDomNode &node) const;
248
QDomNode toNode(QDomDocument &doc) const;
251
bool fromNode(const QDomNode &node);
254
// ----------------------------------------------------------------------------
256
class BarDescriptorDocumentAuthorNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
259
BarDescriptorDocumentAuthorNodeHandler(BarDescriptorEditorWidget *editorWidget);
261
bool canHandle(const QDomNode &node) const;
262
QDomNode toNode(QDomDocument &doc) const;
265
bool fromNode(const QDomNode &node);
268
// ----------------------------------------------------------------------------
270
class BarDescriptorDocumentAuthorIdNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
273
BarDescriptorDocumentAuthorIdNodeHandler(BarDescriptorEditorWidget *editorWidget);
275
bool canHandle(const QDomNode &node) const;
276
QDomNode toNode(QDomDocument &doc) const;
279
bool fromNode(const QDomNode &node);
282
// ----------------------------------------------------------------------------
284
class BarDescriptorDocumentUnknownNodeHandler : public BarDescriptorDocumentAbstractNodeHandler
287
BarDescriptorDocumentUnknownNodeHandler(BarDescriptorEditorWidget *editorWidget);
289
bool canHandle(const QDomNode &node) const;
290
QDomNode toNode(QDomDocument &doc) const;
293
bool fromNode(const QDomNode &node);
299
} // namespace Internal
302
#endif // QNX_INTERNAL_BARDESCRIPTORDOCUMENTNODEHANDLERS_H