blob: 84a6bc4f91e528634659f2c638c9807bffbdbb69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*
entityproperties.cc
This file is part of the Project::OSiRiON world editor
and is distributed under the terms and conditions of
the GNU General Public License version 2
*/
#include "entityproperties.h"
namespace editor
{
EntityProperties::EntityProperties()
{
}
EntityProperties::~EntityProperties()
{
}
void EntityProperties::add_subsection(const QString &name)
{
if (properties_subsections.size()) {
properties_subsections += '\n';
}
properties_subsections += '[';
properties_subsections += name;
properties_subsections += ']';
properties_subsections += '\n';
}
void EntityProperties::add_subsection_value(const QString &key, const QString &value)
{
properties_subsections += key;
properties_subsections += '=';
properties_subsections += value;
properties_subsections += '\n';
}
void EntityProperties::save(QTextStream &textstream)
{
textstream << "[" << type() << "]" << '\n';
if (label().size())
textstream << "label=" << label() << '\n';
if (name().size())
textstream << "name=" << name() << '\n';
// other values
if (values().size()) {
textstream << values();
}
// info string
if (info().size()) {
textstream << '\n';
// QTextStream operates on QString, not on QString const
QString infobuffer = info();
QTextStream infostream(&infobuffer);
QString line;
while (!infostream.atEnd()) {
line = infostream.readLine(1024);
textstream << "info=" << line << '\n';
}
}
if (subsections().size()) {
textstream << '\n';
QString subsectionbuffer = subsections();
QTextStream subsectionstream(&subsectionbuffer);
QString line;
while (!subsectionstream.atEnd()) {
line = subsectionstream.readLine(1024);
if (line.size())
textstream << '\t' << line << '\n';
else
textstream << '\n';
}
}
textstream << '\n';
}
} // namespace editor
|