[TD]allow finding child view outside clip rectangle
This commit is contained in:
committed by
Chris Hennes
parent
8cfc3f2475
commit
d288a5ee30
@@ -38,6 +38,7 @@
|
||||
#include "QGCustomClip.h"
|
||||
#include "QGCustomRect.h"
|
||||
#include "Rez.h"
|
||||
#include "ViewProviderViewClip.h"
|
||||
|
||||
|
||||
using namespace TechDrawGui;
|
||||
@@ -155,6 +156,13 @@ void QGIViewClip::drawClip()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
auto* vpClip = freecad_cast<ViewProviderViewClip*>(getViewProvider(viewClip));
|
||||
if (!vpClip) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_cliparea->setFlag(QGraphicsItem::ItemClipsChildrenToShape, vpClip->ClipChildren.getValue());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <Mod/TechDraw/App/DrawProjGroupItem.h>
|
||||
|
||||
#include "ViewProviderViewClip.h"
|
||||
#include "QGIViewClip.h"
|
||||
|
||||
using namespace TechDrawGui;
|
||||
|
||||
@@ -44,6 +45,9 @@ ViewProviderViewClip::ViewProviderViewClip()
|
||||
{
|
||||
sPixmap = "actions/TechDraw_ClipGroup";
|
||||
|
||||
ADD_PROPERTY_TYPE(ClipChildren,(true), "Clip", App::Prop_None, "True clips children. False shows entire child views");
|
||||
|
||||
|
||||
// Do not show in property editor why? wf WF: because DisplayMode applies only to coin and we
|
||||
// don't use coin.
|
||||
DisplayMode.setStatus(App::Property::Hidden, true);
|
||||
@@ -146,4 +150,15 @@ void ViewProviderViewClip::dropObject(App::DocumentObject* docObj)
|
||||
}
|
||||
|
||||
getObject()->addView(dv);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewProviderViewClip::onChanged(const App::Property* prop)
|
||||
{
|
||||
if (prop == &ClipChildren) {
|
||||
QGIView* qgiv = getQView();
|
||||
if (qgiv) {
|
||||
qgiv->updateView(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,11 +43,15 @@ public:
|
||||
/// destructor
|
||||
~ViewProviderViewClip() override;
|
||||
|
||||
App::PropertyBool ClipChildren;
|
||||
|
||||
bool useNewSelectionModel() const override {return false;}
|
||||
|
||||
TechDraw::DrawViewClip* getViewObject() const override;
|
||||
TechDraw::DrawViewClip* getObject() const;
|
||||
|
||||
void onChanged(const App::Property *prop) override;
|
||||
|
||||
/// Hide the object in the view
|
||||
void hide() override;
|
||||
/// Show the object in the view
|
||||
|
||||
Reference in New Issue
Block a user