diff --git a/src/meshlab/CMakeLists.txt b/src/meshlab/CMakeLists.txt index a6de6f669..e52bc599d 100644 --- a/src/meshlab/CMakeLists.txt +++ b/src/meshlab/CMakeLists.txt @@ -8,7 +8,6 @@ set(SOURCES additionalgui.cpp changetexturename.cpp - filterScriptDialog.cpp glarea.cpp glarea_setting.cpp layerDialog.cpp @@ -24,6 +23,7 @@ set(SOURCES savemaskexporter.cpp dialogs/about_dialog.cpp dialogs/congrats_dialog.cpp + dialogs/filterscript_dialog.cpp dialogs/options_dialog.cpp dialogs/savesnapshot_dialog.cpp dialogs/setting_dialog.cpp @@ -38,7 +38,6 @@ set(SOURCES set(HEADERS additionalgui.h changetexturename.h - filterScriptDialog.h glarea.h glarea_setting.h layerDialog.h @@ -53,6 +52,7 @@ set(HEADERS snapshotsetting.h dialogs/about_dialog.h dialogs/congrats_dialog.h + dialogs/filterscript_dialog.h dialogs/options_dialog.h dialogs/savesnapshot_dialog.h dialogs/setting_dialog.h @@ -68,10 +68,8 @@ set(RESOURCES meshlab.qrc) set(UI dialogs/about_dialog.ui dialogs/congrats_dialog.ui + dialogs/filterscript_dialog.ui dialogs/savesnapshot_dialog.ui - ui/filterScriptDialog.ui - ui/filtercreatortab.ui - ui/filtergui.ui ui/layerDialog.ui ui/renametexture.ui ui/savemaskexporter.ui) diff --git a/src/meshlab/filterScriptDialog.cpp b/src/meshlab/dialogs/filterscript_dialog.cpp similarity index 62% rename from src/meshlab/filterScriptDialog.cpp rename to src/meshlab/dialogs/filterscript_dialog.cpp index 5c177692f..c692e9438 100644 --- a/src/meshlab/filterScriptDialog.cpp +++ b/src/meshlab/dialogs/filterscript_dialog.cpp @@ -23,42 +23,42 @@ #include -#include "ui_filterScriptDialog.h" -#include "filterScriptDialog.h" +#include "ui_filterscript_dialog.h" +#include "filterscript_dialog.h" #include "mainwindow.h" #include "../common/mlexception.h" #include "rich_parameter_gui/richparameterlistdialog.h" -FilterScriptDialog::FilterScriptDialog(QWidget * parent) - :QDialog(parent) +FilterScriptDialog::FilterScriptDialog(QWidget * parent): + QDialog(parent), + ui(new Ui::FilterScriptDialog) { - ui = new Ui::scriptDialog(); - FilterScriptDialog::ui->setupUi(this); - scriptPtr=0; - connect(ui->okButton, SIGNAL(clicked()), this, SLOT(applyScript())); - connect(ui->clearScriptButton,SIGNAL(clicked()), this, SLOT(clearScript())); - connect(ui->saveScriptButton, SIGNAL(clicked()), this, SLOT(saveScript())); - connect(ui->openScriptButton, SIGNAL(clicked()), this, SLOT(openScript())); - connect(ui->moveUpButton,SIGNAL(clicked()), this, SLOT(moveSelectedFilterUp())); - connect(ui->moveDownButton, SIGNAL(clicked()), this, SLOT(moveSelectedFilterDown())); - connect(ui->removeFilterButton, SIGNAL(clicked()), this, SLOT(removeSelectedFilter())); - connect(ui->editParameterButton, SIGNAL(clicked()), this, SLOT(editSelectedFilterParameters())); + ui->setupUi(this); + scriptPtr=0; + connect(ui->okButton, SIGNAL(clicked()), this, SLOT(applyScript())); + connect(ui->clearScriptButton,SIGNAL(clicked()), this, SLOT(clearScript())); + connect(ui->saveScriptButton, SIGNAL(clicked()), this, SLOT(saveScript())); + connect(ui->openScriptButton, SIGNAL(clicked()), this, SLOT(openScript())); + connect(ui->moveUpButton,SIGNAL(clicked()), this, SLOT(moveSelectedFilterUp())); + connect(ui->moveDownButton, SIGNAL(clicked()), this, SLOT(moveSelectedFilterDown())); + connect(ui->removeFilterButton, SIGNAL(clicked()), this, SLOT(removeSelectedFilter())); + connect(ui->editParameterButton, SIGNAL(clicked()), this, SLOT(editSelectedFilterParameters())); } void FilterScriptDialog::setScript(FilterScript *scr) { scriptPtr=scr; - ui->scriptListWidget->clear(); - - for (const FilterNameParameterValuesPair& pair : *scr) - ui->scriptListWidget->addItem(pair.filterName()); + ui->scriptListWidget->clear(); + + for (const FilterNameParameterValuesPair& pair : *scr) + ui->scriptListWidget->addItem(pair.filterName()); } void FilterScriptDialog::applyScript() { //get the main window MainWindow *mainWindow = qobject_cast(parentWidget()); - + if(NULL == mainWindow){ qDebug() << "problem casting parent of filterscriptdialog to main window"; } @@ -67,9 +67,9 @@ void FilterScriptDialog::applyScript() void FilterScriptDialog::clearScript() { - assert(scriptPtr); - scriptPtr->clear(); - ui->scriptListWidget->clear(); + assert(scriptPtr); + scriptPtr->clear(); + ui->scriptListWidget->clear(); } void FilterScriptDialog::saveScript() @@ -101,72 +101,72 @@ void FilterScriptDialog::openScript() { QString fileName = QFileDialog::getOpenFileName(this,tr("Open Filter Script File"),".", "MeshLab Scripting File Format (*.mlx);;Extensible Markup Language (*.xml)"); if (fileName.isEmpty()) return; - scriptPtr->open(fileName); - setScript(scriptPtr); + scriptPtr->open(fileName); + setScript(scriptPtr); } void FilterScriptDialog::moveSelectedFilterUp() { - //NOTE if this class gets to complex using the QT model/view may be a good idea - //however, i found it to be over complicated and not too helpful for reording - - int currentRow = ui->scriptListWidget->currentRow(); - if ((currentRow == -1) || (currentRow == 0)) - return; - - //move item up in list - FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow); - QString filtername = ui->scriptListWidget->currentItem()->text(); - if (pair.filterName() == filtername) - scriptPtr->insert(currentRow-1, pair); - else - throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); - - //move item up on ui - QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow); - ui->scriptListWidget->insertItem(currentRow-1, item); - - //set selected - ui->scriptListWidget->setCurrentItem(item); + //NOTE if this class gets to complex using the QT model/view may be a good idea + //however, i found it to be over complicated and not too helpful for reording + + int currentRow = ui->scriptListWidget->currentRow(); + if ((currentRow == -1) || (currentRow == 0)) + return; + + //move item up in list + FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow); + QString filtername = ui->scriptListWidget->currentItem()->text(); + if (pair.filterName() == filtername) + scriptPtr->insert(currentRow-1, pair); + else + throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); + + //move item up on ui + QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow); + ui->scriptListWidget->insertItem(currentRow-1, item); + + //set selected + ui->scriptListWidget->setCurrentItem(item); } void FilterScriptDialog::moveSelectedFilterDown() { - int currentRow = ui->scriptListWidget->currentRow(); - if ((currentRow == -1) || (currentRow == scriptPtr->size() - 1)) - return; - - //move item up in list - FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow); - QString filtername = ui->scriptListWidget->currentItem()->text(); - if (pair.filterName() == filtername) - scriptPtr->insert(currentRow+1, pair); - else - throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); - - //move item up on ui - QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow); - ui->scriptListWidget->insertItem(currentRow+1, item); - - //set selected - ui->scriptListWidget->setCurrentItem(item); + int currentRow = ui->scriptListWidget->currentRow(); + if ((currentRow == -1) || (currentRow == scriptPtr->size() - 1)) + return; + + //move item up in list + FilterNameParameterValuesPair pair = scriptPtr->takeAt(currentRow); + QString filtername = ui->scriptListWidget->currentItem()->text(); + if (pair.filterName() == filtername) + scriptPtr->insert(currentRow+1, pair); + else + throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); + + //move item up on ui + QListWidgetItem * item = ui->scriptListWidget->takeItem(currentRow); + ui->scriptListWidget->insertItem(currentRow+1, item); + + //set selected + ui->scriptListWidget->setCurrentItem(item); } void FilterScriptDialog::removeSelectedFilter() { int currentRow = ui->scriptListWidget->currentRow(); - if(currentRow == -1) - return; - - const FilterNameParameterValuesPair& pair = (*scriptPtr)[currentRow]; - QString filtername = ui->scriptListWidget->currentItem()->text(); - if (pair.filterName() == filtername) - { - ui->scriptListWidget->takeItem(currentRow); - scriptPtr->removeAt(currentRow); - } - else - throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); + if(currentRow == -1) + return; + + const FilterNameParameterValuesPair& pair = (*scriptPtr)[currentRow]; + QString filtername = ui->scriptListWidget->currentItem()->text(); + if (pair.filterName() == filtername) + { + ui->scriptListWidget->takeItem(currentRow); + scriptPtr->removeAt(currentRow); + } + else + throw MLException("Something bad happened: A filter item has been selected in filterScriptDialog being NOT a XML filter or old-fashioned c++ filter."); } void FilterScriptDialog::editSelectedFilterParameters() @@ -198,30 +198,30 @@ void FilterScriptDialog::editOldParameters( const int row ) if(row == -1) return; QString actionName = ui->scriptListWidget->currentItem()->text(); - + FilterNameParameterValuesPair& old = (*scriptPtr)[row]; RichParameterList oldParameterSet = old.second; //get the main window MainWindow *mainWindow = qobject_cast(parentWidget()); - + if(NULL == mainWindow) throw MLException("FilterScriptDialog::editXMLParameters : problem casting parent of filterscriptdialog to main window"); - + //get a pointer to this action and filter from the main window so we can get the //description of the parameters from the filter QAction *action = mainWindow->pluginManager().actionFilterMap[actionName]; FilterPluginInterface *iFilter = qobject_cast(action->parent()); - + if(NULL == iFilter){ qDebug() << "null filter"; return; } - + //fill the parameter set with all the names and descriptions which are lost in the //filter script RichParameterList newParameterSet; iFilter->initParameterList(action, *(mainWindow->meshDoc()), newParameterSet); - + if(newParameterSet.size() == oldParameterSet.size()) { RichParameterList::iterator i = newParameterSet.begin(); RichParameterList::iterator j = oldParameterSet.begin(); @@ -232,7 +232,7 @@ void FilterScriptDialog::editOldParameters( const int row ) } else { qDebug() << "the size of the given list is not the same as the filter suggests it should be. your filter script may be out of date, or there is a bug in the filter script class"; } - + //launch the dialog RichParameterListDialog parameterDialog(this, newParameterSet, "Edit Parameters"); int result = parameterDialog.exec(); diff --git a/src/meshlab/filterScriptDialog.h b/src/meshlab/dialogs/filterscript_dialog.h similarity index 95% rename from src/meshlab/filterScriptDialog.h rename to src/meshlab/dialogs/filterscript_dialog.h index 43e89035e..34783abaa 100644 --- a/src/meshlab/filterScriptDialog.h +++ b/src/meshlab/dialogs/filterscript_dialog.h @@ -26,19 +26,17 @@ #include #include "../common/filterscript.h" -namespace Ui -{ - class scriptDialog; - class scriptEditor; +namespace Ui { +class FilterScriptDialog; } class FilterScriptDialog : public QDialog { -Q_OBJECT + Q_OBJECT public: FilterScriptDialog(QWidget *parent = 0); ~FilterScriptDialog(); - void setScript(FilterScript *scr); + void setScript(FilterScript *scr); private slots: //will do all things that need to be done before the script runs then trigger the running of the script @@ -62,7 +60,7 @@ private slots: void editSelectedFilterParameters(); private: - Ui::scriptDialog* ui; + Ui::FilterScriptDialog* ui; FilterScript *scriptPtr; void editOldParameters(const int row); diff --git a/src/meshlab/ui/filterScriptDialog.ui b/src/meshlab/dialogs/filterscript_dialog.ui similarity index 53% rename from src/meshlab/ui/filterScriptDialog.ui rename to src/meshlab/dialogs/filterscript_dialog.ui index 31b5e32d7..02ca0e7f8 100644 --- a/src/meshlab/ui/filterScriptDialog.ui +++ b/src/meshlab/dialogs/filterscript_dialog.ui @@ -1,7 +1,8 @@ - - scriptDialog - - + + + FilterScriptDialog + + 0 0 @@ -9,49 +10,49 @@ 404 - + Dialog - - - + + + - - + + - - + + Move Up - - + + Move Down - - + + Remove - - + + Edit Parameters - - + + Qt::Vertical - + 20 40 @@ -61,35 +62,35 @@ - - + + - - + + Save Script - - + + Open Script - - + + Clear Script - + Qt::Horizontal - + 131 31 @@ -98,15 +99,15 @@ - - + + Apply Script - - + + Close @@ -120,14 +121,14 @@ cancelButton clicked() - scriptDialog + FilterScriptDialog reject() - + 369 253 - + 179 282 diff --git a/src/meshlab/mainwindow_RunTime.cpp b/src/meshlab/mainwindow_RunTime.cpp index 86fd444fc..0100127df 100644 --- a/src/meshlab/mainwindow_RunTime.cpp +++ b/src/meshlab/mainwindow_RunTime.cpp @@ -25,7 +25,6 @@ #include "mainwindow.h" #include "plugindialog.h" -#include "filterScriptDialog.h" #include "savemaskexporter.h" #include #include "ml_default_decorators.h" @@ -53,6 +52,7 @@ #include #include #include "dialogs/about_dialog.h" +#include "dialogs/filterscript_dialog.h" #include "dialogs/options_dialog.h" #include "dialogs/savesnapshot_dialog.h" diff --git a/src/meshlab/meshlab.pro b/src/meshlab/meshlab.pro index 4230e52b4..55c83d3c7 100644 --- a/src/meshlab/meshlab.pro +++ b/src/meshlab/meshlab.pro @@ -30,13 +30,13 @@ HEADERS += \ glarea.h \ dialogs/about_dialog.h \ dialogs/congrats_dialog.h \ + dialogs/filterscript_dialog.h \ dialogs/options_dialog.h \ dialogs/savesnapshot_dialog.h \ dialogs/setting_dialog.h \ multiViewer_Container.h \ glarea_setting.h \ plugindialog.h \ - filterScriptDialog.h \ savemaskexporter.h \ changetexturename.h \ layerDialog.h \ @@ -60,12 +60,12 @@ SOURCES += \ glarea.cpp \ dialogs/about_dialog.cpp \ dialogs/congrats_dialog.cpp \ + dialogs/filterscript_dialog.cpp \ dialogs/options_dialog.cpp \ dialogs/savesnapshot_dialog.cpp \ dialogs/setting_dialog.cpp \ multiViewer_Container.cpp \ plugindialog.cpp \ - filterScriptDialog.cpp \ layerDialog.cpp \ savemaskexporter.cpp \ changetexturename.cpp \ @@ -85,12 +85,11 @@ SOURCES += \ FORMS += \ dialogs/about_dialog.ui \ dialogs/congrats_dialog.ui \ + dialogs/filterscript_dialog.ui \ dialogs/savesnapshot_dialog.ui \ ui/layerDialog.ui \ - ui/filterScriptDialog.ui \ ui/renametexture.ui \ - ui/savemaskexporter.ui \ - ui/filtergui.ui + ui/savemaskexporter.ui RESOURCES += \ meshlab.qrc diff --git a/src/meshlab/ui/filtercreatortab.ui b/src/meshlab/ui/filtercreatortab.ui deleted file mode 100644 index e74b792b8..000000000 --- a/src/meshlab/ui/filtercreatortab.ui +++ /dev/null @@ -1,135 +0,0 @@ - - - FilterCreatorTab - - - PrimitiveButton - QPushButton -
additionalgui.h
-
- - FilterGeneratorGUI - QFrame -
xmlgeneratorgui.h
- 1 -
- - MLScriptEditor - QPlainTextEdit -
additionalgui.h
-
-
- - - - 0 - 0 - 785 - 700 - - - - Frame - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - 0 - 0 - - - - - - - true - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - JavaScript Code Area - - - - - - - - 0 - 0 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - Filter Generator GUI - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - -
diff --git a/src/meshlab/ui/filtergui.ui b/src/meshlab/ui/filtergui.ui deleted file mode 100644 index dab1604c9..000000000 --- a/src/meshlab/ui/filtergui.ui +++ /dev/null @@ -1,528 +0,0 @@ - - - FilterCreatorGUI - - - - 0 - 0 - 567 - 325 - - - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 255 - 255 - 255 - - - - - - - 247 - 247 - 247 - - - - - - - 120 - 120 - 120 - - - - - - - 160 - 160 - 160 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 247 - 247 - 247 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 255 - 255 - 255 - - - - - - - 247 - 247 - 247 - - - - - - - 120 - 120 - 120 - - - - - - - 160 - 160 - 160 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 255 - 255 - 255 - - - - - - - 0 - 0 - 0 - - - - - - - 247 - 247 - 247 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 120 - 120 - 120 - - - - - - - 240 - 240 - 240 - - - - - - - 255 - 255 - 255 - - - - - - - 247 - 247 - 247 - - - - - - - 120 - 120 - 120 - - - - - - - 160 - 160 - 160 - - - - - - - 120 - 120 - 120 - - - - - - - 255 - 255 - 255 - - - - - - - 120 - 120 - 120 - - - - - - - 240 - 32 - 122 - - - - - - - 0 - 0 - 0 - - - - - - - 240 - 240 - 240 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - Filter Editor - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - Filter Name - - - - - - - - - - - - - - Parameters Viewer - - - - - - - 1 - - - - - - - - - - - Filter JS Function - - - - - - - - - - Category - - - - - - - - - - Arity - - - - - - - - - - Pre-Conditions - - - - - - - - - - Post-Conditions - - - - - - - - - - Filter Help - - - - - - - - - - - - Is Interruptible - - - - - - - - CheckBoxList - QComboBox -
additionalgui.h
-
- - TreeWidgetWithMenu - QTreeWidget -
additionalgui.h
-
-
- - -