0001051: Vertex in Part Loft and Sweep profile list - error handling

This commit is contained in:
wmayer 2013-09-03 15:47:02 +02:00
parent 71958f3fcc
commit 974ad05807
2 changed files with 17 additions and 5 deletions

View File

@ -133,7 +133,7 @@ bool LoftWidget::accept()
int count = d->ui.selector->selectedTreeWidget()->topLevelItemCount();
if (count < 2) {
QMessageBox::critical(this, tr("Too few elements"), tr("At least two vertices, edges, wires or Faces are required."));
QMessageBox::critical(this, tr("Too few elements"), tr("At least two vertices, edges, wires or faces are required."));
return false;
}
for (int i=0; i<count; i++) {
@ -155,11 +155,17 @@ bool LoftWidget::accept()
if (!doc) throw Base::Exception("Document doesn't exist anymore");
doc->openCommand("Loft");
Gui::Application::Instance->runPythonCode((const char*)cmd.toAscii(), false, false);
doc->commitCommand();
doc->getDocument()->recompute();
App::DocumentObject* obj = doc->getDocument()->getActiveObject();
if (obj && !obj->isValid()) {
std::string msg = obj->getStatusString();
doc->abortCommand();
throw Base::Exception(msg);
}
doc->commitCommand();
}
catch (const Base::Exception& e) {
Base::Console().Error("%s\n", e.what());
QMessageBox::warning(this, tr("Input error"), QString::fromAscii(e.what()));
return false;
}

View File

@ -182,11 +182,17 @@ bool SweepWidget::accept()
if (!doc) throw Base::Exception("Document doesn't exist anymore");
doc->openCommand("Sweep");
Gui::Application::Instance->runPythonCode((const char*)cmd.toAscii(), false, false);
doc->commitCommand();
doc->getDocument()->recompute();
App::DocumentObject* obj = doc->getDocument()->getActiveObject();
if (obj && !obj->isValid()) {
std::string msg = obj->getStatusString();
doc->abortCommand();
throw Base::Exception(msg);
}
doc->commitCommand();
}
catch (const Base::Exception& e) {
Base::Console().Error("%s\n", e.what());
QMessageBox::warning(this, tr("Input error"), QString::fromAscii(e.what()));
return false;
}