OSDN Git Service

[denncoCreator] Implemented cell code manager dialog. The implementation is incomplet...
[dennco/denncoCreator.git] / Source / dialog / dcaddcellcodeclassdialog.cpp
index dce0c0c..532b8db 100644 (file)
 #include <QTableView>
 #include <QHeaderView>
 
-DCAddCellCodeClassDialog::DCAddCellCodeClassDialog(DCContainer *container, DCCreator *creator, const QString& path, QWidget *parent) :
-    QDialog(parent), d_container(container), d_creator(creator)
+DCAddCellCodeClassDialog::DCAddCellCodeClassDialog(DCCreator *creator, const QString& path, QWidget *parent) :
+    QDialog(parent), d_creator(creator)
 {
-    setWindowTitle(tr("Add class"));
+    d_container = d_creator->getCurrentContainer();
+
+    setWindowTitle(tr("Add cell code"));
 
     d_textField = new QLineEdit;
 
@@ -44,14 +46,11 @@ DCAddCellCodeClassDialog::DCAddCellCodeClassDialog(DCContainer *container, DCCre
     d_tableModel->setReadOnly(0,true);
 
     d_comboBox = new QComboBox;
-    d_comboBox->addItem(QString::fromStdString(TKContainer::CELLTYPE_JSBASIC), QString::fromStdString(TKContainer::CELLTYPE_JSBASIC));
-    d_comboBox->addItem(QString::fromStdString(TKContainer::CELLTYPE_BASICSTORAGE), QString::fromStdString(TKContainer::CELLTYPE_BASICSTORAGE));
-    d_comboBox->addItem(QString::fromStdString(TKContainer::CELLTYPE_IN), QString::fromStdString(TKContainer::CELLTYPE_IN));
-    d_comboBox->addItem(QString::fromStdString(TKContainer::CELLTYPE_OUT), QString::fromStdString(TKContainer::CELLTYPE_OUT));
-
-    DCScene *scene = container->getScene();
-    const QMap<QString,DCVCPage*> pages = scene->getPages();
-    QMapIterator<QString, DCVCPage*> i(pages);
+    d_comboBox->addItems(QStringList(d_container->getAvailableScriptableCellTypes()));
+
+    DCScene *scene = d_container->getScene();
+    const QMap<QString,DCVCPage*> *pages = scene->getPages();
+    QMapIterator<QString, DCVCPage*> i(*pages);
     int row = 0;
     int selection = -1;
     while (i.hasNext())
@@ -105,6 +104,8 @@ DCAddCellCodeClassDialog::DCAddCellCodeClassDialog(DCContainer *container, DCCre
 
 DCAddCellCodeClassDialog::~DCAddCellCodeClassDialog()
 {
+    if (d_tableModel)
+        d_tableModel->deleteLater();
 }