Fix #3367: view/data pane is unselected

- error in coordination of Tree & QGraphicsScene
  selection logic caused Feature to become
  unselected during update.
This commit is contained in:
wandererfan
2018-03-17 11:06:33 -04:00
committed by wmayer
parent 91a0aff25f
commit 2d4865bb11
8 changed files with 170 additions and 119 deletions

View File

@@ -60,6 +60,7 @@
#include "QGCustomClip.h"
#include "QGIViewClip.h"
#include "ViewProviderDrawingView.h"
#include "MDIViewPage.h"
#include <Mod/TechDraw/App/DrawViewClip.h>
#include <Mod/TechDraw/App/DrawProjGroup.h>
@@ -296,6 +297,11 @@ const char * QGIView::getViewName() const
{
return viewName.c_str();
}
const std::string QGIView::getViewNameAsString() const
{
return viewName;
}
TechDraw::DrawView * QGIView::getViewObject() const
{
@@ -481,6 +487,22 @@ Gui::ViewProvider* QGIView::getViewProvider(App::DocumentObject* obj)
return result;
}
MDIViewPage* QGIView::getMDIViewPage(void) const
{
MDIViewPage* result = nullptr;
QGraphicsScene* s = scene();
QObject* parent = nullptr;
if (s != nullptr) {
parent = s->parent();
}
if (parent != nullptr) {
MDIViewPage* mdi = dynamic_cast<MDIViewPage*>(parent);
if (mdi != nullptr) {
result = mdi;
}
}
return result;
}
QColor QGIView::getNormalColor()
{