/*************************************************************************** * Copyright (c) 2004 Jürgen Riegel * * * * This file is part of the FreeCAD CAx development system. * * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Library General Public * * License as published by the Free Software Foundation; either * * version 2 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU Library General Public License for more details. * * * * You should have received a copy of the GNU Library General Public * * License along with this library; see the file COPYING.LIB. If not, * * write to the Free Software Foundation, Inc., 59 Temple Place, * * Suite 330, Boston, MA 02111-1307, USA * * * ***************************************************************************/ #include "PreCompiled.h" #ifndef _PreComp_ #endif #include "ViewProviderPlaneParametric.h" #include #include using namespace PartGui; //************************************************************************** // Construction/Destruction PROPERTY_SOURCE(PartGui::ViewProviderPlaneParametric, PartGui::ViewProviderPart) ViewProviderPlaneParametric::ViewProviderPlaneParametric() { sPixmap = "Tree_Part_Plane_Parametric.svg"; } ViewProviderPlaneParametric::~ViewProviderPlaneParametric() { } std::vector ViewProviderPlaneParametric::getDisplayModes(void) const { // get the modes of the father std::vector StrList; // add your own modes StrList.push_back("Flat Lines"); StrList.push_back("Shaded"); StrList.push_back("Wireframe"); StrList.push_back("Points"); return StrList; } // ---------------------------------------------------------------------------- PROPERTY_SOURCE(PartGui::ViewProviderFace, PartGui::ViewProviderPlaneParametric) ViewProviderFace::ViewProviderFace() { } ViewProviderFace::~ViewProviderFace() { } std::vector ViewProviderFace::claimChildren(void) const { return std::vector(static_cast(getObject())->Sources.getValues()); } bool ViewProviderFace::canDragObjects() const { return true; } bool ViewProviderFace::canDragObject(App::DocumentObject* obj) const { if (!obj) return false; if (obj->getTypeId().isDerivedFrom(Part::Part2DObject::getClassTypeId())) return true; else return false; } void ViewProviderFace::dragObject(App::DocumentObject* obj) { Part::Face* face = static_cast(getObject()); std::vector sources = face->Sources.getValues(); for (std::vector::iterator it = sources.begin(); it != sources.end(); ++it) { if (*it == obj) { sources.erase(it); face->Sources.setValues(sources); break; } } } bool ViewProviderFace::canDropObjects() const { return true; } bool ViewProviderFace::canDropObject(App::DocumentObject* obj) const { return canDragObject(obj); } void ViewProviderFace::dropObject(App::DocumentObject* obj) { Part::Face* face = static_cast(getObject()); std::vector sources = face->Sources.getValues(); sources.push_back(obj); face->Sources.setValues(sources); }