#ifndef SMESHGUI_Hypotheses_HeaderFile
#define SMESHGUI_Hypotheses_HeaderFile
+#include "SMESH_SMESHGUI.hxx"
+
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(SMESH_Hypothesis)
/*!
* \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
SMESH::SMESH_Hypothesis_var initParamsHypothesis() const;
const ListOfWidgets& widgets() const;
ListOfWidgets& changeWidgets();
+ QtxDialog* dlg() const { return myDlg; }
virtual QFrame* buildFrame () = 0;
QFrame* buildStdFrame ();
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;
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
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;
};
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 ),
Dim( theDim ),
IsAux( theIsAux ),
NeededHypos( theNeededHypos ), OptionalHypos( theOptionalHypos ),
- InputTypes( theInputTypes ), OutputTypes( theOutputTypes )
+ InputTypes( theInputTypes ), OutputTypes( theOutputTypes ),
+ IsNeedGeometry( theIsNeedGeometry )
{};
QString TypeName; //!< hypothesis type name
QString IconId; //!< icon identifier
QValueList<int> 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