Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
GEOMGUI_Selection.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 // File : GEOMGUI_Selection.h
24 // Author : Alexander SOLOVYOV, Open CASCADE S.A.S. (alexander.solovyov@opencascade.com)
25 
26 #ifndef GEOMGUI_SELECTION_H
27 #define GEOMGUI_SELECTION_H
28 
29 #include "GEOM_GEOMGUI.hxx"
30 
31 #include <LightApp_Selection.h>
32 #include <SALOMEDSClient.hxx>
33 
34 #include <SALOMEconfig.h>
35 #include CORBA_SERVER_HEADER(GEOM_Gen)
36 
37 class LightApp_SelectionMgr;
38 class LightApp_DataOwner;
39 
41 {
42 public:
44  virtual ~GEOMGUI_Selection();
45 
46  virtual void init( const QString&, LightApp_SelectionMgr* );
47  virtual bool processOwner( const LightApp_DataOwner* );
48 
49  virtual QVariant parameter( const QString& ) const;
50  virtual QVariant parameter( const int, const QString& ) const;
51 
52  static bool hasChildren( const _PTR(SObject)& );
53  static bool expandable( const _PTR(SObject)& );
54  static bool isCompoundOfVertices( GEOM::GEOM_Object_ptr );
55  static bool isFolder( const _PTR(SObject)& );
56 
57 protected:
58  // virtual QVariant contextParameter( const QString& ) const;
59  // virtual QVariant objectParameter( const int, const QString& ) const;
60 
61 private:
62  bool isVisible( const int ) const;
63  bool isAutoColor( const int ) const;
64  bool isImported( const int ) const;
65  QString typeName( const int ) const;
66  int typeId( const int ) const;
67  QString displayMode( const int ) const;
68  QString selectionMode() const;
69  bool isVectorsMode( const int ) const;
70  bool isVerticesMode( const int ) const;
71  bool isNameMode( const int ) const;
72  bool hasChildren( const int ) const;
73  int nbChildren( const int ) const;
74  bool hasConcealedChildren( const int ) const;
75  bool hasDisclosedChildren( const int ) const;
76  bool compoundOfVertices( const int ) const;
77  bool topLevel( const int ) const;
78  bool autoBringToFront( const int ) const;
79  bool isPhysicalMaterial( const int ) const;
80 
81  bool isComponent( const int ) const;
82  bool isFolder( const int ) const;
83 
84  bool hasDimensions( const int, bool&, bool& ) const;
85  bool hasHiddenDimensions( const int ) const;
86  bool hasVisibleDimensions( const int ) const;
87 
88  int annotationsCount() const;
89 
90  bool hasAnnotations( const int, bool&, bool& ) const;
91  bool hasHiddenAnnotations( const int ) const;
92  bool hasVisibleAnnotations( const int ) const;
93 
94  GEOM::GEOM_Object_ptr getObject( const int ) const;
95  GEOM::GEOM_BaseObject_ptr getBaseObject( const int ) const;
96 
97  bool hasImported() const;
98  bool allImported() const;
99 
100  QVariant visibleProperty( const QString&, const QString& ) const;
101 
102 private:
103  typedef QVector<GEOM::GEOM_BaseObject_var> GeomObjectVector;
104 
105 private:
107  QStringList myAnnotationEntries;
108 };
109 
110 #endif