X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_SelectionOp.h;h=82070355c6ae3be6c808a5ad4cd731373d11c166;hp=5dde0a05933ce789052c709e4ff86c562be83372;hb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce;hpb=3f8d4c84db10ac0b6dd2452de5f773a277bce609 diff --git a/src/SMESHGUI/SMESHGUI_SelectionOp.h b/src/SMESHGUI/SMESHGUI_SelectionOp.h index 5dde0a059..82070355c 100644 --- a/src/SMESHGUI/SMESHGUI_SelectionOp.h +++ b/src/SMESHGUI/SMESHGUI_SelectionOp.h @@ -1,40 +1,44 @@ -// Copyright (C) 2003 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 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 -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // +// 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 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 +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : SMESHGUI_SelectionOp.h -// Author : Alexander SOLOVYOV -// Module : SMESH +// File : SMESHGUI_SelectionOp.h +// Author : Alexander SOLOVYOV, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_SELECTIONOP_H +#define SMESHGUI_SELECTIONOP_H + +// SMESH includes +#include "SMESH_SMESHGUI.hxx" -#ifndef SMESHGUI_SelectionOp_H -#define SMESHGUI_SelectionOp_H +#include "SMESHGUI_Operation.h" +#include "SMESHGUI_Dialog.h" -#include -#include +// SALOME GUI includes #include #include +// IDL includes #include -#include CORBA_SERVER_HEADER(SMESH_Gen) - +#include CORBA_SERVER_HEADER(SMESH_Mesh) class SUIT_SelectionFilter; class TColStd_MapOfInteger; @@ -45,20 +49,20 @@ class SMESH_Actor; /* Class : SMESHGUI_SelectionOp Description : Base operation for all operations using object selection in viewer or objectbrowser - through common widgets created by SalomeApp_Dialog::createObject + through common widgets created by LightApp_Dialog::createObject */ -class SMESHGUI_SelectionOp : public SMESHGUI_Operation +class SMESHGUI_EXPORT SMESHGUI_SelectionOp : public SMESHGUI_Operation { Q_OBJECT public: - typedef QValueList IdList; //! List of node or element ids + typedef QList IdList; //! List of node or element ids public: SMESHGUI_SelectionOp( const Selection_Mode = ActorSelection ); virtual ~SMESHGUI_SelectionOp(); - static void extractIds( const QStringList&, IdList&, const QChar ); + static void extractIds( const QStringList&, IdList&, const QChar ); protected: typedef enum @@ -90,58 +94,59 @@ protected: virtual SUIT_SelectionFilter* createFilter( const int ) const; //! Remove only filters set by this operation (they are in map myFilters ) - void removeCustomFilters() const; + void removeCustomFilters(); //! Return what selection mode is set in VTK viewer - Selection_Mode selectionMode() const; + Selection_Mode selectionMode() const; //! Set selection mode in VTK viewer - void setSelectionMode( const Selection_Mode ); + void setSelectionMode( const Selection_Mode ); //! Hilight object in VTK viewer - void highlight( const Handle( SALOME_InteractiveObject )&, - const bool, const bool = true ); + void highlight( const Handle( SALOME_InteractiveObject )&, + const bool, const bool = true ); //! Select some nodes or elements in VTK - void addOrRemoveIndex( const Handle( SALOME_InteractiveObject )&, - const TColStd_MapOfInteger&, const bool ); + void addOrRemoveIndex( const Handle( SALOME_InteractiveObject )&, + const TColStd_MapOfInteger&, const bool isModeShift); - SVTK_ViewWindow* viewWindow() const; - SVTK_Selector* selector() const; + SVTK_ViewWindow* viewWindow() const; + SVTK_Selector* selector() const; //! Get names, types and ids of selected objects - virtual void selected( QStringList&, SMESHGUI_Dialog::TypesList&, QStringList& ) const; + virtual void selected( QStringList&, + SMESHGUI_Dialog::TypesList&, QStringList& ) const; //! Find type by id - virtual int typeById( const QString&, const EntityType ) const; + virtual int typeById( const QString&, const EntityType ) const; //! Char using to divide and in string id representation. By default, '#' - virtual QChar idChar() const; + virtual QChar idChar() const; //! Try to find in certain object selection widget selected node or element ids and return it - void selectedIds( const int, IdList& ) const; + void selectedIds( const int, IdList& ) const; //! Find in QStringList correct node or element ids representation and append integer(id) to IdList - void extractIds( const QStringList&, IdList& ) const; + void extractIds( const QStringList&, IdList& ) const; //! Return selected mesh if selection mode isn't ActorSelection and only one object is selected - SMESH::SMESH_Mesh_var mesh() const; + SMESH::SMESH_Mesh_var mesh() const; //! Return actor according to selected mesh if selection mode isn't ActorSelection - SMESH_Actor* actor() const; + SMESH_Actor* actor() const; protected slots: //! Installs filter corresponding to certain object selection widget - virtual void onActivateObject( int ); + virtual void onActivateObject( int ); //! Removes filter corresponding to certain object selection widget - virtual void onDeactivateObject( int ); + virtual void onDeactivateObject( int ); /*! * Empty default implementation. In successors it may be used for more advanced selection checking. * This slot is connected to signal when the selection changed in some object selection widget */ - virtual void onSelectionChanged( int ); + virtual void onSelectionChanged( int ); /*! Default implementation allowing user to edit selected ids "by hands". In order to run default mechanism, you must set for some @@ -150,7 +155,7 @@ protected slots: to this slot Warning: this mechanism can process only integer ids, NOT MESH OR GROUP NAMES!!! */ - virtual void onTextChanged( int, const QStringList& ); + virtual void onTextChanged( int, const QStringList& ); private: typedef QMap Filters; @@ -160,4 +165,4 @@ private: Selection_Mode myDefSelectionMode, myOldSelectionMode; }; -#endif +#endif // SMESHGUI_SELECTIONOP_H