X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSMESHGUI%2FSMESHGUI_Hypotheses.h;h=fba15ebd198e33e7ce5b91ac66bae03bb8e6a244;hb=07ec002dfd20ec187228e11533e8e2135eca08fd;hp=43ad6734c4137f77a01f2c51e8fb97df75eed6fb;hpb=c63ee099ad2b149bd70136839c973e8910137bc5;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_Hypotheses.h b/src/SMESHGUI/SMESHGUI_Hypotheses.h index 43ad6734c..fba15ebd1 100644 --- a/src/SMESHGUI/SMESHGUI_Hypotheses.h +++ b/src/SMESHGUI/SMESHGUI_Hypotheses.h @@ -28,6 +28,8 @@ #ifndef SMESHGUI_Hypotheses_HeaderFile #define SMESHGUI_Hypotheses_HeaderFile +#include "SMESH_SMESHGUI.hxx" + #include #include CORBA_SERVER_HEADER(SMESH_Hypothesis) @@ -40,21 +42,24 @@ class QPixmap; /*! * \brief Auxiliary class for creation of hypotheses */ -class SMESHGUI_GenericHypothesisCreator : public QObject +class SMESHGUI_EXPORT SMESHGUI_GenericHypothesisCreator : public QObject { Q_OBJECT public: - SMESHGUI_GenericHypothesisCreator( const QString& ); + SMESHGUI_GenericHypothesisCreator( const QString& theHypType ); virtual ~SMESHGUI_GenericHypothesisCreator(); - void create( const bool isAlgo, QWidget* ); - void edit( SMESH::SMESH_Hypothesis_ptr, QWidget* ); - void create( SMESH::SMESH_Hypothesis_ptr, QWidget* ); + void create( SMESH::SMESH_Hypothesis_ptr, const QString&, QWidget*); + void create( bool isAlgo, const QString&, QWidget*); + void edit( SMESH::SMESH_Hypothesis_ptr, const QString&, QWidget*); + virtual bool checkParams() const = 0; + virtual void onReject(); - QString hypType() const; - bool isCreation() const; + QString hypType() const; + QString hypName() const; + bool isCreation() const; protected: typedef struct @@ -71,6 +76,7 @@ protected: SMESH::SMESH_Hypothesis_var initParamsHypothesis() const; const ListOfWidgets& widgets() const; ListOfWidgets& changeWidgets(); + QtxDialog* dlg() const { return myDlg; } virtual QFrame* buildFrame () = 0; QFrame* buildStdFrame (); @@ -80,7 +86,7 @@ protected: bool getStdParamFromDlg( ListOfStdParams& ) const; static QString stdParamValues( const ListOfStdParams& ); virtual void attuneStdWidget( QWidget*, const int ) const; - virtual QWidget* getCustomWidget( const StdParam &, QWidget* ) const; + virtual QWidget* getCustomWidget( const StdParam &, QWidget*, const int ) const; virtual bool getParamFromCustomWidget( StdParam& , QWidget* ) const; virtual QString caption() const; virtual QPixmap icon() const; @@ -90,13 +96,15 @@ protected slots: virtual void onValueChanged(); private: - bool editHypothesis( SMESH::SMESH_Hypothesis_ptr, QWidget* ); + bool editHypothesis( SMESH::SMESH_Hypothesis_ptr, const QString&, QWidget* ); private: SMESH::SMESH_Hypothesis_var myHypo, myInitParamsHypo; + QString myHypName; QString myHypType; ListOfWidgets myParamWidgets; bool myIsCreate; + QtxDialog* myDlg; }; class SMESHGUI_HypothesisDlg : public QtxDialog @@ -107,18 +115,20 @@ public: SMESHGUI_HypothesisDlg( SMESHGUI_GenericHypothesisCreator*, QWidget* ); virtual ~SMESHGUI_HypothesisDlg(); - void setHIcon( const QPixmap& ); - void setCustomFrame( QFrame* ); - void setType( const QString& ); + void setHIcon( const QPixmap& ); + void setCustomFrame( QFrame* ); + void setType( const QString& ); protected slots: virtual void accept(); + virtual void reject(); void onHelp(); private: SMESHGUI_GenericHypothesisCreator* myCreator; QVBoxLayout* myLayout; - QLabel *myIconLabel, *myTypeLabel; + QLabel* myIconLabel; + QLabel* myTypeLabel; QString myHelpFileName; }; @@ -139,7 +149,8 @@ class HypothesisData const QStringList& theNeededHypos, const QStringList& theOptionalHypos, const QStringList& theInputTypes, - const QStringList& theOutputTypes) + const QStringList& theOutputTypes, + const bool theIsNeedGeometry = true) : TypeName( theTypeName ), PluginName( thePluginName ), ServerLibName( theServerLibName ), @@ -149,7 +160,8 @@ class HypothesisData Dim( theDim ), IsAux( theIsAux ), NeededHypos( theNeededHypos ), OptionalHypos( theOptionalHypos ), - InputTypes( theInputTypes ), OutputTypes( theOutputTypes ) + InputTypes( theInputTypes ), OutputTypes( theOutputTypes ), + IsNeedGeometry( theIsNeedGeometry ) {}; QString TypeName; //!< hypothesis type name @@ -160,6 +172,7 @@ class HypothesisData QString IconId; //!< icon identifier QValueList Dim; //!< list of supported dimensions (see SMESH::Dimension enumeration) bool IsAux; //!< TRUE if given hypothesis is auxiliary one, FALSE otherwise + bool IsNeedGeometry; //!< TRUE if for given hypothesis need shape, FALSE otherwise // for algorithm only: dependencies algo <-> algo and algo -> hypos QStringList NeededHypos; //!< list of obligatory hypotheses