Implement Cancel logic for TaskViewSection

This commit is contained in:
WandererFan 2016-09-08 11:27:21 -04:00
parent 17fe63598f
commit a5b5104875
4 changed files with 41 additions and 3 deletions

View File

@ -18,6 +18,11 @@
<UserDocu>addView(DrawView) - Add a View to this Page</UserDocu> <UserDocu>addView(DrawView) - Add a View to this Page</UserDocu>
</Documentation> </Documentation>
</Methode> </Methode>
<Methode Name="removeView">
<Documentation>
<UserDocu>removeView(DrawView) - Remove a View to this Page</UserDocu>
</Documentation>
</Methode>
<Methode Name="getPageWidth"> <Methode Name="getPageWidth">
<Documentation> <Documentation>
<UserDocu>Return the width of this page</UserDocu> <UserDocu>Return the width of this page</UserDocu>

View File

@ -45,6 +45,31 @@ PyObject* DrawPagePy::addView(PyObject* args)
return PyInt_FromLong((long) rc); return PyInt_FromLong((long) rc);
} }
PyObject* DrawPagePy::removeView(PyObject* args)
{
//this implements iRC = pyPage.removeView(pyView) -or-
//doCommand(Doc,"App.activeDocument().%s.removeView(App.activeDocument().%s)",PageName.c_str(),FeatName.c_str());
PyObject *pcDocObj;
if (!PyArg_ParseTuple(args, "O!", &(App::DocumentObjectPy::Type), &pcDocObj)) {
Base::Console().Error("Error: DrawPagePy::removeView - Bad Arg - not DocumentObject\n");
return NULL;
//TODO: sb PyErr??
//PyErr_SetString(PyExc_TypeError,"removeView expects a DrawView");
//return -1;
}
DrawPage* page = getDrawPagePtr(); //get DrawPage for pyPage
//how to validate that obj is DrawView before use??
DrawViewPy* pyView = static_cast<TechDraw::DrawViewPy*>(pcDocObj);
DrawView* view = pyView->getDrawViewPtr(); //get DrawView for pyView
int rc = page->removeView(view);
return PyInt_FromLong((long) rc);
}
// double getPageWidth() const; // double getPageWidth() const;
PyObject* DrawPagePy::getPageWidth(PyObject *args) PyObject* DrawPagePy::getPageWidth(PyObject *args)
{ {

View File

@ -272,12 +272,20 @@ bool TaskSectionView::accept()
{ {
//calcValues(); //calcValues();
updateValues(); updateValues();
std::string BaseName = m_base->getNameInDocument();
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().%s.ShowSectionLine=True",BaseName.c_str());
return true; return true;
} }
bool TaskSectionView::reject() bool TaskSectionView::reject()
{ {
//TODO: remove viewSection std::string BaseName = m_base->getNameInDocument();
std::string PageName = m_base->findParentPage()->getNameInDocument();
std::string SectionName = m_section->getNameInDocument();
Gui::Command::doCommand(Gui::Command::Gui,"App.activeDocument().%s.ShowSectionLine=False",BaseName.c_str());
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());
return false; return false;
} }

View File

@ -46,8 +46,8 @@ public:
~TaskSectionView(); ~TaskSectionView();
public: public:
bool accept(); virtual bool accept();
bool reject(); virtual bool reject();
protected Q_SLOTS: protected Q_SLOTS:
void onHorizontalClicked(bool b); void onHorizontalClicked(bool b);