/*************************************************************************** * Copyright (c) 2012-2013 Luke Parry * * * * 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_ # include # include # include # include # include # include # include # include # include #endif #include #include #include #include #include "../App/DrawViewCollection.h" #include "QGIViewCollection.h" using namespace TechDrawGui; QGIViewCollection::QGIViewCollection(const QPoint &pos, QGraphicsScene *scene) :QGIView(pos, scene) { setFlags(QGraphicsItem::ItemIsSelectable); setPos(pos); setHandlesChildEvents(false); //setCacheMode(QGraphicsItem::NoCache); setAcceptHoverEvents(true); setFlag(QGraphicsItem::ItemIsMovable, true); } QGIViewCollection::~QGIViewCollection() { } QVariant QGIViewCollection::itemChange(GraphicsItemChange change, const QVariant &value) { return QGraphicsItemGroup::itemChange(change, value); } void QGIViewCollection::mouseReleaseEvent(QGraphicsSceneMouseEvent * event) { if(scene() && this == scene()->mouseGrabberItem()) { Gui::Command::openCommand("Drag View Collection"); Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.X = %f", getViewObject()->getNameInDocument(), x()); Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.Y = %f", getViewObject()->getNameInDocument(), getY()); Gui::Command::commitCommand(); //Gui::Command::updateActive(); } QGraphicsItem::mouseReleaseEvent(event); } void QGIViewCollection::updateView(bool update) { return QGIView::updateView(update); } #include "moc_QGIViewCollection.cpp"