-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 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
#include <QList>
#include <QMap>
#include <QSet>
+#include <QTreeWidget>
#include <QVector>
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SMESH_Mesh)
+#include CORBA_SERVER_HEADER(SMESH_Group)
class QButtonGroup;
class QLabel;
class QPushButton;
class QTabWidget;
class QTextBrowser;
-class QTreeWidget;
-class QTreeWidgetItem;
class SMESH_Actor;
class SMDS_MeshNode;
class SMDS_MeshElement;
+class ExtraWidget;
+
class SMESHGUI_EXPORT SMESHGUI_MeshInfo : public QFrame
{
Q_OBJECT;
i0DStart,
i0D,
i0DEnd,
- i1DStart = i0DEnd,
+ iBallsStart = i0DEnd,
+ iBalls,
+ iBallsEnd,
+ i1DStart = iBallsEnd,
i1D,
i1DEnd,
i2DStart = i1DEnd,
i3DHexahedrons,
i3DPyramids,
i3DPrisms,
+ i3DHexaPrisms,
i3DPolyhedrons,
i3DEnd,
iElementsEnd = i3DEnd
void setFontAttributes( QWidget*, int, bool = true );
void setFieldsVisible( int, int, bool );
+private slots:
+ void loadMesh();
+
private:
- iwlist myWidgets;
+ iwlist myWidgets;
+ QPushButton* myLoadBtn;
};
class SMESHGUI_EXPORT SMESHGUI_ElemInfo : public QWidget
QList<long> myIDs;
int myIsElement;
QWidget* myFrame;
- QWidget* myExtra;
- QLabel* myCurrent;
- QPushButton* myPrev;
- QPushButton* myNext;
+ ExtraWidget* myExtra;
int myIndex;
};
{
class ItemDelegate;
+ enum { Bold = 0x01, All = 0x80 };
+
public:
SMESHGUI_TreeElemInfo( QWidget* = 0 );
void clearInternal();
private:
- QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 100 );
+ QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 0 );
private:
QTreeWidget* myInfo;
};
+class GrpComputor: public QObject
+{
+ Q_OBJECT;
+
+public:
+ GrpComputor( SMESH::SMESH_GroupBase_ptr, QTreeWidgetItem*, QObject* );
+ QTreeWidgetItem* getItem() { return myItem; }
+
+public slots:
+ void compute();
+
+private:
+ SMESH::SMESH_GroupBase_var myGroup;
+ QTreeWidgetItem* myItem;
+};
+
+class SMESHGUI_EXPORT SMESHGUI_AddInfo : public QTreeWidget
+{
+ Q_OBJECT;
+
+ enum { Bold = 0x01, All = 0x80 };
+
+public:
+ SMESHGUI_AddInfo( QWidget* = 0 );
+ ~SMESHGUI_AddInfo();
+
+ void showInfo( SMESH::SMESH_IDSource_ptr );
+ // void clear();
+
+private slots:
+ void changeLoadToCompute();
+ void showPreviousGroups();
+ void showNextGroups();
+ void showPreviousSubMeshes();
+ void showNextSubMeshes();
+
+private:
+ QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 0 );
+ void meshInfo( SMESH::SMESH_Mesh_ptr, QTreeWidgetItem* );
+ void subMeshInfo( SMESH::SMESH_subMesh_ptr, QTreeWidgetItem* );
+ void groupInfo( SMESH::SMESH_GroupBase_ptr, QTreeWidgetItem* );
+
+ void showGroups();
+ void showSubMeshes();
+
+private:
+ QList<GrpComputor*> myComputors;
+ SMESH::ListOfGroups_var myGroups;
+ SMESH::submesh_array_var mySubMeshes;
+};
+
class SMESHGUI_EXPORT SMESHGUI_MeshInfoDlg : public QDialog
{
Q_OBJECT;
//! Information type
enum {
BaseInfo, //!< base mesh information
- ElemInfo //!< mesh element information
+ ElemInfo, //!< mesh element information
+ AddInfo //!< additional information
};
SMESHGUI_MeshInfoDlg( QWidget* = 0, int = BaseInfo );
QButtonGroup* myMode;
QLineEdit* myID;
SMESHGUI_ElemInfo* myElemInfo;
+ SMESHGUI_AddInfo* myAddInfo;
SMESH_Actor* myActor;
};