X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Feditorwindow.cpp;fp=src%2Feditorwindow.cpp;h=1ccc14c43adde23c10a8d2769c039a288e887dcf;hb=058aca46f433b3a36a341ca7272c39d2bef55c09;hp=0000000000000000000000000000000000000000;hpb=cee848899590199081c8ade4736662a8a5dc4a2f;p=warehouse-man-deluxe diff --git a/src/editorwindow.cpp b/src/editorwindow.cpp new file mode 100644 index 0000000..1ccc14c --- /dev/null +++ b/src/editorwindow.cpp @@ -0,0 +1,85 @@ +// +// editorwindow.cpp: Game editor window +// +// by James Hammons +// (C) 2014 Underground Software +// +// JLH = James Hammons +// +// 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; ilevelStorage.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(widget)->text(); + editor->SetNameOnCurrentLevel(newName.toAscii().data()); +} +