+#include "UnitStructureDialog.h"
+
+#define TYPENUM 5
+
+const char *UnitTypes[TYPENUM] = {
+ "CLASS",
+ "PROCEDURE",
+ "FUNCTION",
+ "PROCESS",
+ "COROUTINE"
+};
+
+UnitStructureDialog::UnitStructureDialog(QWidget * parent)
+ : QDialog(parent)
+{
+ setupUi(this);
+
+ for (int i = 0; i < TYPENUM; i++) {
+ QListWidgetItem *newItem = new QListWidgetItem;
+ newItem->setText(UnitTypes[i]);
+ listWidget->insertItem(i, newItem);
+ }
+ listWidget->setCurrentItem(0);
+
+ connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+}
+
+UnitStructureDialog::~UnitStructureDialog()
+{
+}
+
+QString UnitStructureDialog::getUnitName()
+{
+ return lineEdit->text();
+}
+
+QString UnitStructureDialog::getCode()
+{
+ QString code;
+ code.sprintf("UNIT %s : %s( <params> );\nBEGIN\n\nEND %s;",
+ getUnitName().toStdString().c_str(),
+ listWidget->currentItem()->text().toStdString().c_str(),
+ getUnitName().toStdString().c_str()
+ );
+ return code;
+}