--- /dev/null
+//
+// editorwindow.cpp: Game editor window
+//
+// by James Hammons
+// (C) 2014 Underground Software
+//
+// JLH = James Hammons <jlhamm@acm.org>
+//
+// Who When What
+// --- ---------- ------------------------------------------------------------
+// JLH 07/03/2014 Created this file
+//
+
+#include "editorwindow.h"
+#include "editorwidget.h"
+
+
+EditorWindow::EditorWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Window)
+{
+ list = new QListWidget;
+ up = new QPushButton("^");
+ down = new QPushButton("v");
+ add = new QPushButton("+");
+ remove = new QPushButton("-");
+ editor = new EditorWidget(parent);
+
+ list->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
+// editor->setFocus(); //DISNOWOK
+// editor->Load();
+
+ for(unsigned int i=0; i<editor->levelStorage.size(); i++)
+ {
+ list->addItem(QString(editor->levelStorage[i].name));
+ QListWidgetItem * item = list->item(i);
+ item->setFlags(item->flags() | Qt::ItemIsEditable);
+ }
+
+ QHBoxLayout * buttonBox = new QHBoxLayout;
+ QVBoxLayout * listBox = new QVBoxLayout;
+ QHBoxLayout * mainBox = new QHBoxLayout;
+
+ buttonBox->addWidget(up);
+ buttonBox->addWidget(down);
+ buttonBox->addWidget(add);
+ buttonBox->addWidget(remove);
+
+ listBox->addWidget(list);
+ listBox->addLayout(buttonBox);
+
+ mainBox->addLayout(listBox);
+ mainBox->addWidget(editor);
+
+ setLayout(mainBox);
+ setWindowTitle("Editor");
+
+ connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(SetEditorLevel(int)));
+ connect(list->itemDelegate(), SIGNAL(closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint)), this, SLOT(SetNewName(QWidget *, QAbstractItemDelegate::EndEditHint)));
+}
+
+
+EditorWindow::~EditorWindow(void)
+{
+// editor->Save();
+ delete editor;
+ delete up;
+ delete down;
+ delete add;
+ delete remove;
+ delete list;
+}
+
+
+void EditorWindow::SetEditorLevel(int level)
+{
+ editor->currentLevel = level;
+ editor->update();
+}
+
+
+void EditorWindow::SetNewName(QWidget * widget, QAbstractItemDelegate::EndEditHint)
+{
+ QString newName = reinterpret_cast<QLineEdit *>(widget)->text();
+ editor->SetNameOnCurrentLevel(newName.toAscii().data());
+}
+