Back to index

salome-gui  6.5.0
QxGraph_ActiveItem.h
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 #ifndef QXGRAPH_ACTIVEITEM_H
00024 #define QXGRAPH_ACTIVEITEM_H
00025 
00026 #include "QxGraph.h"
00027 
00028 #include <qpoint.h>
00029 #include <qwmatrix.h>
00030 #include <qevent.h>
00031 
00032 class QXGRAPH_EXPORT QxGraph_ActiveItem
00033 {
00034  public:
00035   QxGraph_ActiveItem() {}
00036   ~QxGraph_ActiveItem() {}
00037 
00038   virtual bool isMoveable() = 0;
00039   virtual void beforeMoving() = 0;
00040   virtual void afterMoving() = 0;
00041 
00042   virtual bool isResizable(QPoint thePoint, int& theCursorType) { return false; }
00043   virtual bool isResizing() { return false; }
00044   virtual void beforeResizing(int theCursorType) {}
00045   virtual void resize(QPoint thePoint) {}
00046   virtual void afterResizing() {}
00047 
00048   virtual void hilight(const QPoint& theMousePos, const bool toHilight = true) = 0;
00049   virtual void select(const QPoint& theMousePos, const bool toSelect = true) = 0;
00050   virtual void showPopup(QWidget* theParent, QMouseEvent* theEvent, const QPoint& theMousePos = QPoint()) = 0;
00051 
00052   virtual QString getToolTipText(const QPoint& theMousePos, QRect& theRect) const = 0;
00053 
00054   virtual bool arePartsOfOtherItem(QxGraph_ActiveItem* theSecondItem) { return false; }
00055 
00056   void setTMatrix(QWMatrix theMatrix) { myTMatrix = theMatrix; }
00057   QWMatrix getTMatrix() const { return myTMatrix; }
00058 
00059  private:
00060   QWMatrix myTMatrix; // canvas view's current transformation matrix
00061 };
00062 
00063 #endif