-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
//
// 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.
+// version 2.1 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
#define STDMESHERSGUI_SUBSHAPESELECTORWDG_H
// SMESH includes
-#include <SMESHGUI.h>
+#include "SMESHGUI.h"
#include "SMESH_StdMeshersGUI.hxx"
#include "SMESH_SMESHGUI.hxx"
#include <QStringList>
#include <TopoDS_Shape.hxx>
-#include <SMESHGUI_VTKUtils.h>
+#include <string>
class SMESHGUI;
class LightApp_SelectionMgr;
class SVTK_Selector;
class QPushButton;
class QLabel;
-class QLineEdit;
-class QCheckBox;
class QListWidget;
-class SMESH_Actor;
class SMESH_PreviewActorsCollection;
class vtkRenderer;
class SUIT_SelectionFilter;
Q_OBJECT
public:
- StdMeshersGUI_SubShapeSelectorWdg( QWidget* parent = 0,
- TopAbs_ShapeEnum aSubShType = TopAbs_EDGE );
+ StdMeshersGUI_SubShapeSelectorWdg( QWidget* parent = 0,
+ TopAbs_ShapeEnum subShType = TopAbs_EDGE,
+ const bool toShowList = true,
+ const bool toShowActivateBtn = false);
~StdMeshersGUI_SubShapeSelectorWdg();
SMESH::long_array_var GetListOfIDs();
- void SetListOfIDs( SMESH::long_array_var );
+ bool SetListOfIDs( SMESH::long_array_var );
+ const QList<int>& GetSelectedIDs() const { return mySelectedIDs; }
- void SetGeomShapeEntry( const QString& theEntry );
- const char* GetGeomShapeEntry() { return myEntry.toLatin1().data();}
-
- void SetMainShapeEntry( const QString& theEntry );
+ void SetGeomShapeEntry( const QString& theEntry,
+ const QString& theMainShapeEntry);
const char* GetMainShapeEntry();
TopoDS_Shape GetGeomShape() { return myGeomShape; }
TopoDS_Shape GetMainShape() { return myMainShape; }
- QList<int> GetCorrectedListOfIDs( bool fromSubshapeToMainshape = true );
-
static GEOM::GEOM_Object_var GetGeomObjectByEntry( const QString& );
static TopoDS_Shape GetTopoDSByEntry( const QString& );
QString GetValue() const { return myParamValue; }
- void showPreview ( bool );
+ void ShowPreview( bool );
int GetListSize() { return myListOfIDs.size(); }
- void SetMaxSize(int aMaxSize) { myMaxSize = aMaxSize; }
- //void SetSubShType(TopAbs_ShapeEnum aSubShType) { mySubShType = aSubShType; }
+ void SetMaxSize(int aMaxSize) { myMaxSize = aMaxSize; }
+
+ vtkRenderer* GetRenderer() { return myRenderer; }
+ SMESH_PreviewActorsCollection* GetActorCollection() { return myPreviewActor; }
+ void ClearSelected();
+
+public slots:
+ void ActivateSelection( bool );
+
+signals:
+ void selectionChanged(); // in the list
+ void shapeSelected(); // globally
private:
void updateState();
void onRemove();
void onPrevious();
void onNext();
- void SelectionIntoArgument();
+ void selectionIntoArgument();
void onListSelectionChanged();
private:
SMESH::SMESH_Mesh_var myMesh;
TopoDS_Shape myGeomShape; // shape whose sub-shapes are selected
TopoDS_Shape myMainShape; // main shape of the mesh
- QString myEntry;
- QString myMainEntry;
+ std::string myEntry;
+ std::string myMainEntry;
vtkRenderer* myRenderer;
QListWidget* myListWidget;
+ QPushButton* myActivateButton;
QPushButton* myAddButton;
QPushButton* myRemoveButton;
QLabel* myInfoLabel;
QString myParamValue;
bool myIsShown;
- bool myIsNotCorrected;
// for manage possible size of myListOfIDs
int myMaxSize;