X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshDlg.h;h=f8d8b108e1d7db746ade6e4717979c321953389d;hb=9d134b21b1ed187851322a6b5feef3bee83b6583;hp=08f11ff6fee6755b3418db23aaeaaf5b38d23aff;hpb=f7aba4830d53719b963fdb7fccc98b760fdef2d1;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshDlg.h b/src/SMESHGUI/SMESHGUI_MeshDlg.h index 08f11ff6f..f8d8b108e 100644 --- a/src/SMESHGUI/SMESHGUI_MeshDlg.h +++ b/src/SMESHGUI/SMESHGUI_MeshDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2014 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 @@ -6,7 +6,7 @@ // 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 @@ -38,11 +38,12 @@ #include class SMESHGUI_MeshTab; -class QTabWidget; +class QAction; class QComboBox; -class QToolButton; +class QListWidget; class QMenu; -class QAction; +class QTabWidget; +class QToolButton; /*! * \brief Dialog for mech creation or editing @@ -76,6 +77,7 @@ public: int getActiveObject(); void setAvailableMeshType(const QStringList& ); int currentMeshType(); + void setCurrentMeshType( const int ); signals: void hypoSet( const QString& ); @@ -88,7 +90,7 @@ private slots: void onGeomSelectionButton( bool ); void onChangedMeshType( const int ); -private: + private: QMap myTabs; QTabWidget* myTabWg; QToolButton* myHypoSetButton; @@ -97,33 +99,37 @@ private: }; /*! - * \brief Tab for tab widget containing controls for definition of + * \brief Tab for tab widget containing controls for definition of * algorithms and hypotheses -*/ + */ class SMESHGUI_EXPORT SMESHGUI_MeshTab : public QFrame { Q_OBJECT - -public: + + public: /*! To differ main algorithms, hypotheses and additional ones*/ enum HypType - { + { Algo = 0, //!< algorithms MainHyp, //!< main hypothesis - AddHyp //!< additional hypothesis - }; - + AddHyp, //!< additional hypothesis + MoreAddHyp //! since several additional hypothesis are possible, the 2-nd, 3-d etc + // additional hypotheses are coded as being of HypType (AddHyp + 1), (AddHyp + 2) etc. + // Nb of HypType's after MainHyp is returned by SMESHGUI_MeshTab::nbAddHypTypes() + }; + public: SMESHGUI_MeshTab( QWidget* ); virtual ~SMESHGUI_MeshTab(); void setAvailableHyps( const int, const QStringList& ); - void setExistingHyps( const int, const QStringList& ); + void setExistingHyps( const int, const QStringList&, bool=false); void addHyp( const int, const QString& ); - void renameHyp( const int, const int, const QString& ); + //void renameHyp( const int, const int, const QString& ); void setCurrentHyp( const int, const int ); int currentHyp( const int ) const; + int nbAddHypTypes() const; void reset(); signals: @@ -138,14 +144,24 @@ private slots: void onCreateHyp(); void onEditHyp(); void onHyp( int ); - -private: - QMap myHyp; - QMap myCreateHyp; - QMap myEditHyp; - - QMap myAvailableHyps; - QMap myExistingHyps; + void onMoreAddHyp(); + void onLessAddHyp(); + +private: + + void addItem( const QString& txt, const int type, const int index ); + int getCurrentIndex( const int type, const bool curByType=false) const; + + QMap myAvailableHypTypes; + + QMap myHypCombo; + QMap myCreateHypBtn; + QMap myEditHypBtn; + + QToolButton* myMoreAddHypBtn; + QToolButton* myLessAddHypBtn; + QListWidget* myAddHypList; // 2-nd, etc. additional hyps + }; #endif // SMESHGUI_MESHDLG_H