Reset edit after dialogs

This commit is contained in:
WandererFan 2017-01-03 20:13:15 -05:00
parent 9e7d56d4da
commit 429c32bdde
4 changed files with 23 additions and 3 deletions

View File

@ -285,10 +285,10 @@ bool TaskSectionView::accept()
{
if (strcmp(sectionDir,"unset") == 0) {
Base::Console().Message("No direction selected!\n");
reject();
return false;
return reject();
} else {
updateValues();
Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
return true;
}
}
@ -301,6 +301,7 @@ bool TaskSectionView::reject()
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().%s.removeView(App.activeDocument().%s)",
PageName.c_str(),SectionName.c_str());
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().removeObject('%s')",SectionName.c_str());
Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
return false;
}

View File

@ -37,6 +37,8 @@
#include <App/DocumentObject.h>
#include <Gui/Application.h>
#include <Gui/Command.h>
#include <Gui/Control.h>
#include <Gui/Document.h>
#include <Gui/Selection.h>
#include <Gui/MainWindow.h>
@ -190,6 +192,17 @@ void ViewProviderDrawingView::updateData(const App::Property* prop)
Gui::ViewProviderDocumentObject::updateData(prop);
}
void ViewProviderDrawingView::unsetEdit(int ModNum)
{
if (ModNum == ViewProvider::Default) {
Gui::Control().closeDialog();
}
else {
Gui::ViewProviderDocumentObject::unsetEdit(ModNum);
}
}
MDIViewPage* ViewProviderDrawingView::getMDIViewPage() const
{
MDIViewPage* result = nullptr;

View File

@ -59,6 +59,7 @@ public:
virtual void onChanged(const App::Property *prop);
virtual void updateData(const App::Property*);
virtual void unsetEdit(int ModNum);
QGIView* getQView(void);
MDIViewPage* getMDIViewPage() const;

View File

@ -153,7 +153,12 @@ bool ViewProviderProjGroup::setEdit(int ModNum)
void ViewProviderProjGroup::unsetEdit(int ModNum)
{
Q_UNUSED(ModNum);
Gui::Control().closeDialog();
if (ModNum == ViewProvider::Default) {
Gui::Control().closeDialog();
}
else {
ViewProviderDrawingView::unsetEdit(ModNum);
}
}
bool ViewProviderProjGroup::doubleClicked(void)