0000286: Feature request for better Fillet/Chamfer

This commit is contained in:
unknown
2012-02-29 01:56:07 +01:00
parent 11b8b60af4
commit 0171a22a98
13 changed files with 231 additions and 44 deletions

View File

@@ -38,6 +38,7 @@
#include <Mod/Part/App/FeatureMirroring.h>
#include <Mod/Part/App/FeatureFillet.h>
#include <Mod/Part/App/FeatureChamfer.h>
#include <Gui/Application.h>
#include <Gui/Control.h>
#include <Gui/Document.h>
@@ -253,3 +254,43 @@ ViewProviderChamfer::ViewProviderChamfer()
ViewProviderChamfer::~ViewProviderChamfer()
{
}
void ViewProviderChamfer::setupContextMenu(QMenu* menu, QObject* receiver, const char* member)
{
QAction* act;
act = menu->addAction(QObject::tr("Edit chamfer edges"), receiver, member);
act->setData(QVariant((int)ViewProvider::Default));
PartGui::ViewProviderPart::setupContextMenu(menu, receiver, member);
}
bool ViewProviderChamfer::setEdit(int ModNum)
{
if (ModNum == ViewProvider::Default ) {
if (Gui::Control().activeDialog())
return false;
Part::Chamfer* chamfer = static_cast<Part::Chamfer*>(getObject());
Gui::Control().showDialog(new PartGui::TaskChamferEdges(chamfer));
return true;
}
else {
ViewProviderPart::setEdit(ModNum);
return true;
}
}
void ViewProviderChamfer::unsetEdit(int ModNum)
{
if (ModNum == ViewProvider::Default) {
Gui::Control().closeDialog();
}
else {
ViewProviderPart::unsetEdit(ModNum);
}
}
std::vector<App::DocumentObject*> ViewProviderChamfer::claimChildren() const
{
std::vector<App::DocumentObject*> temp;
temp.push_back(static_cast<Part::Chamfer*>(getObject())->Base.getValue());
return temp;
}