2 // editorwindow.cpp: Game editor window
5 // (C) 2014 Underground Software
7 // JLH = James Hammons <jlhamm@acm.org>
10 // --- ---------- ------------------------------------------------------------
11 // JLH 07/03/2014 Created this file
14 #include "editorwindow.h"
15 #include "editorwidget.h"
18 EditorWindow::EditorWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Window)
20 list = new QListWidget;
21 up = new QPushButton("^");
22 down = new QPushButton("v");
23 add = new QPushButton("+");
24 remove = new QPushButton("-");
25 editor = new EditorWidget(parent);
27 list->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
28 // editor->setFocus(); //DISNOWOK
31 for(unsigned int i=0; i<editor->levelStorage.size(); i++)
33 list->addItem(QString(editor->levelStorage[i].name));
34 QListWidgetItem * item = list->item(i);
35 item->setFlags(item->flags() | Qt::ItemIsEditable);
38 QHBoxLayout * buttonBox = new QHBoxLayout;
39 QVBoxLayout * listBox = new QVBoxLayout;
40 QHBoxLayout * mainBox = new QHBoxLayout;
42 buttonBox->addWidget(up);
43 buttonBox->addWidget(down);
44 buttonBox->addWidget(add);
45 buttonBox->addWidget(remove);
47 listBox->addWidget(list);
48 listBox->addLayout(buttonBox);
50 mainBox->addLayout(listBox);
51 mainBox->addWidget(editor);
54 setWindowTitle("Editor");
56 connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(SetEditorLevel(int)));
57 connect(list->itemDelegate(), SIGNAL(closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint)), this, SLOT(SetNewName(QWidget *, QAbstractItemDelegate::EndEditHint)));
61 EditorWindow::~EditorWindow(void)
73 void EditorWindow::SetEditorLevel(int level)
75 editor->currentLevel = level;
80 void EditorWindow::SetNewName(QWidget * widget, QAbstractItemDelegate::EndEditHint)
82 QString newName = reinterpret_cast<QLineEdit *>(widget)->text();
83 editor->SetNameOnCurrentLevel(newName.toAscii().data());