[TD]add extensions for drag and drop

This commit is contained in:
wandererfan
2022-11-27 22:23:12 -05:00
committed by WandererFan
parent c23e1d1bb3
commit ff1147fbae
16 changed files with 656 additions and 51 deletions

View File

@@ -42,6 +42,7 @@
#include <Mod/TechDraw/App/DrawView.h>
#include "ViewProviderDrawingView.h"
#include "ViewProviderDrawingViewExtension.h"
#include "MDIViewPage.h"
#include "QGIView.h"
#include "QGSPage.h"
@@ -52,9 +53,12 @@ namespace bp = boost::placeholders;
PROPERTY_SOURCE(TechDrawGui::ViewProviderDrawingView, Gui::ViewProviderDocumentObject)
ViewProviderDrawingView::ViewProviderDrawingView()
ViewProviderDrawingView::ViewProviderDrawingView() :
m_myName(std::string())
{
// Base::Console().Message("VPDV::VPDV\n");
initExtension(this);
sPixmap = "TechDraw_TreeView";
static const char *group = "Base";
@@ -79,6 +83,7 @@ void ViewProviderDrawingView::attach(App::DocumentObject *pcFeat)
auto bndProgressMessage = boost::bind(&ViewProviderDrawingView::onProgressMessage, this, bp::_1, bp::_2, bp::_3);
auto feature = getViewObject();
if (feature) {
m_myName = feature->getNameInDocument();
connectGuiRepaint = feature->signalGuiPaint.connect(bnd);
connectProgressMessage = feature->signalProgressMessage.connect(bndProgressMessage);
//TODO: would be good to start the QGIV creation process here, but no guarantee we actually have
@@ -187,6 +192,11 @@ bool ViewProviderDrawingView::isShow() const
return Visibility.getValue();
}
void ViewProviderDrawingView::dropObject(App::DocumentObject* docObj)
{
getViewProviderPage()->dropObject(docObj);
}
void ViewProviderDrawingView::startRestoring()
{
Gui::ViewProviderDocumentObject::startRestoring();
@@ -417,6 +427,11 @@ void ViewProviderDrawingView::stackBottom()
qView->setStack(minZ - 1);
}
const char* ViewProviderDrawingView::whoAmI() const
{
return m_myName.c_str();
}
TechDraw::DrawView* ViewProviderDrawingView::getViewObject() const
{
return dynamic_cast<TechDraw::DrawView*>(pcObject);