summaryrefslogtreecommitdiff
path: root/lyt/group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lyt/group.cpp')
-rw-r--r--lyt/group.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/lyt/group.cpp b/lyt/group.cpp
new file mode 100644
index 0000000..c3a16fb
--- /dev/null
+++ b/lyt/group.cpp
@@ -0,0 +1,38 @@
+#include "group.h"
+
+LYTGroup::LYTGroup() {
+}
+
+
+
+
+void LYTGroup::writeToDataStream(QDataStream &out) {
+ WriteFixedLengthASCII(out, name, 0x10);
+
+ // write the contents
+ out << (quint16)panes.count();
+ out.skipRawData(2); // padding
+
+ foreach (LYTPane *pane, panes) {
+ WriteFixedLengthASCII(out, pane->name, 0x10);
+ }
+}
+
+
+void LYTGroup::readFromDataStream(QDataStream &in, LYTPane &linkedPane) {
+ name = ReadFixedLengthASCII(in, 0x10);
+ qDebug() << "reading group" << name;
+
+ // read the contents
+ quint16 paneCount;
+ in >> (quint16&)paneCount;
+ in.skipRawData(2); // padding
+
+ for (int i = 0; i < paneCount; i++) {
+ QString paneName = ReadFixedLengthASCII(in, 0x10);
+
+ qDebug() << "found" << paneName << "in group" << this->name;
+
+ this->panes.append(linkedPane.findPaneByName(paneName, true));
+ }
+}