Mercurial > projects > qtd
comparison tools/duic/databaseinfo.cpp @ 1:e78566595089
initial import
author | mandel |
---|---|
date | Mon, 11 May 2009 16:01:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:36fb74dc547d | 1:e78566595089 |
---|---|
1 /**************************************************************************** | |
2 ** | |
3 ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). | |
4 ** Contact: Qt Software Information (qt-info@nokia.com) | |
5 ** | |
6 ** This file is part of the tools applications of the Qt Toolkit. | |
7 ** | |
8 ** Commercial Usage | |
9 ** Licensees holding valid Qt Commercial licenses may use this file in | |
10 ** accordance with the Qt Commercial License Agreement provided with the | |
11 ** Software or, alternatively, in accordance with the terms contained in | |
12 ** a written agreement between you and Nokia. | |
13 ** | |
14 ** | |
15 ** GNU General Public License Usage | |
16 ** Alternatively, this file may be used under the terms of the GNU | |
17 ** General Public License versions 2.0 or 3.0 as published by the Free | |
18 ** Software Foundation and appearing in the file LICENSE.GPL included in | |
19 ** the packaging of this file. Please review the following information | |
20 ** to ensure GNU General Public Licensing requirements will be met: | |
21 ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and | |
22 ** http://www.gnu.org/copyleft/gpl.html. In addition, as a special | |
23 ** exception, Nokia gives you certain additional rights. These rights | |
24 ** are described in the Nokia Qt GPL Exception version 1.3, included in | |
25 ** the file GPL_EXCEPTION.txt in this package. | |
26 ** | |
27 ** Qt for Windows(R) Licensees | |
28 ** As a special exception, Nokia, as the sole copyright holder for Qt | |
29 ** Designer, grants users of the Qt/Eclipse Integration plug-in the | |
30 ** right for the Qt/Eclipse Integration to link to functionality | |
31 ** provided by Qt Designer and its related libraries. | |
32 ** | |
33 ** If you are unsure which license is appropriate for your use, please | |
34 ** contact the sales department at qt-sales@nokia.com. | |
35 ** | |
36 ****************************************************************************/ | |
37 | |
38 #include "databaseinfo.h" | |
39 #include "driver.h" | |
40 #include "ui4.h" | |
41 #include "utils.h" | |
42 | |
43 QT_BEGIN_NAMESPACE | |
44 | |
45 DatabaseInfo::DatabaseInfo(Driver *drv) | |
46 : driver(drv) | |
47 { | |
48 } | |
49 | |
50 void DatabaseInfo::acceptUI(DomUI *node) | |
51 { | |
52 m_connections.clear(); | |
53 m_cursors.clear(); | |
54 m_fields.clear(); | |
55 | |
56 TreeWalker::acceptUI(node); | |
57 | |
58 m_connections = unique(m_connections); | |
59 } | |
60 | |
61 void DatabaseInfo::acceptWidget(DomWidget *node) | |
62 { | |
63 QHash<QString, DomProperty*> properties = propertyMap(node->elementProperty()); | |
64 | |
65 DomProperty *frameworkCode = properties.value(QLatin1String("frameworkCode"), 0); | |
66 if (frameworkCode && toBool(frameworkCode->elementBool()) == false) | |
67 return; | |
68 | |
69 DomProperty *db = properties.value(QLatin1String("database"), 0); | |
70 if (db && db->elementStringList()) { | |
71 QStringList info = db->elementStringList()->elementString(); | |
72 | |
73 QString connection = info.size() > 0 ? info.at(0) : QString(); | |
74 if (connection.isEmpty()) | |
75 return; | |
76 m_connections.append(connection); | |
77 | |
78 QString table = info.size() > 1 ? info.at(1) : QString(); | |
79 if (table.isEmpty()) | |
80 return; | |
81 m_cursors[connection].append(table); | |
82 | |
83 QString field = info.size() > 2 ? info.at(2) : QString(); | |
84 if (field.isEmpty()) | |
85 return; | |
86 m_fields[connection].append(field); | |
87 } | |
88 | |
89 TreeWalker::acceptWidget(node); | |
90 } | |
91 | |
92 QT_END_NAMESPACE |