/* 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() { properties_radius = 0; } EntityProperties::~EntityProperties() { } void EntityProperties::add_subsection_header(const QString &header) { if (properties_subsections.size()) { properties_subsections += '\n'; } properties_subsections += '['; properties_subsections += header; 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'; // location textstream << "location=" << location().x() << " " << location().y() << " " << location().z() << '\n'; // radius if (radius()) { textstream << "radius=" << radius() << '\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