X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2FGEOMGUI%2FGEOMGUI_Selection.h;h=b2738f75f0919ec7a0556edda7e09b8db81e52c0;hb=6c2ee27d457fe387b43fc9a13739adf0e7282cce;hp=fe7a6bc9accf2e6f5c27f07a8b8d0f1413dc353d;hpb=6fa64130e586f57e807bfb298c52f10bfb2c0b2d;p=modules%2Fgeom.git diff --git a/src/GEOMGUI/GEOMGUI_Selection.h b/src/GEOMGUI/GEOMGUI_Selection.h index fe7a6bc9a..b2738f75f 100644 --- a/src/GEOMGUI/GEOMGUI_Selection.h +++ b/src/GEOMGUI/GEOMGUI_Selection.h @@ -1,55 +1,96 @@ -// GEOMGUI_Selection +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // -// 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 -// Lesser General Public License for more details. +// 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 +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// -// -// File : GEOMGUI_Selection.h -// Author : Alexander SOLOVYOV -// Module : GUI -// $Header$ -#ifndef GEOMGUI_SELECTION_HeaderFile -#define GEOMGUI_SELECTION_HeaderFile +// File : GEOMGUI_Selection.h +// Author : Alexander SOLOVYOV, Open CASCADE S.A.S. (alexander.solovyov@opencascade.com) + +#ifndef GEOMGUI_SELECTION_H +#define GEOMGUI_SELECTION_H + +#include "GEOM_GEOMGUI.hxx" #include +#include #include #include CORBA_SERVER_HEADER(GEOM_Gen) -class GEOMGUI_Selection : public LightApp_Selection +class LightApp_SelectionMgr; +class LightApp_DataOwner; + +class GEOMGUI_EXPORT GEOMGUI_Selection : public LightApp_Selection { public: GEOMGUI_Selection(); virtual ~GEOMGUI_Selection(); - virtual QtxValue param( const int, const QString& ) const; - virtual QtxValue globalParam( const QString& ) const; + virtual void init( const QString&, LightApp_SelectionMgr* ); + virtual bool processOwner( const LightApp_DataOwner* ); + + virtual QVariant parameter( const QString& ) const; + virtual QVariant parameter( const int, const QString& ) const; + + static bool hasChildren( const _PTR(SObject)& ); + static bool expandable( const _PTR(SObject)& ); + static bool isCompoundOfVertices( GEOM::GEOM_Object_ptr ); + static bool isFolder( const _PTR(SObject)& ); + +protected: + // virtual QVariant contextParameter( const QString& ) const; + // virtual QVariant objectParameter( const int, const QString& ) const; private: bool isVisible( const int ) const; - QString typeName( const int ) const; + bool isAutoColor( const int ) const; + bool isImported( const int ) const; + QString typeName( const int ) const; + int typeId( const int ) const; QString displayMode( const int ) const; + QString selectionMode() const; + bool isVectorsMode( const int ) const; + bool hasChildren( const int ) const; + int nbChildren( const int ) const; + bool hasConcealedChildren( const int ) const; + bool hasDisclosedChildren( const int ) const; + bool compoundOfVertices( const int ) const; + bool topLevel( const int ) const; + bool autoBringToFront( const int ) const; + bool isPhysicalMaterial( const int ) const; bool isComponent( const int ) const; + bool isFolder( const int ) const; GEOM::GEOM_Object_ptr getObject( const int ) const; + GEOM::GEOM_BaseObject_ptr getBaseObject( const int ) const; + + bool hasImported() const; + bool allImported() const; + + QVariant visibleProperty( const QString&, const QString& ) const; + +private: + typedef QVector GeomObjectVector; + +private: + GeomObjectVector myObjects; }; #endif