EX> // Balises C++, évitant les doublons d'includes CM> #ifndef {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H CM> #define {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H CM> EX> // Inclusion de la classe parente des étapes CM> #include "ct_step/abstract/ct_abstractstep.h" CM> EX> // Inclure ensuite ici les éventuelles classes de définitions nécessaires à votre étape EX> NC> {{INCLUDES}}{{ACTION_INCL}} CM> /*! CM> * \class {{CODE_UPPER}}_Step{{NAME}} CM> * \ingroup Steps_{{CODE_UPPER}} CM> * EX> * \brief Cette classe ne fait rien EX> * EX> * Son but est de montrer la gestion des boites de dialogues de paramétrage EX> * EX> * Ici, l'étape ne prend pas de données en entrée ni en sortie, mais on peut quand même EX> * hériter de CT_AbstractStep, car les modèles prévoient ce type de fonctionnement NC> * \brief {{DESCRIPTION_SHORT}} NC> * NC> * {{DESCRIPTION_LONG}} CM> * EX> * \param _intParam Paramètre entier EX> * \param _doubleParam Paramètre double EX> * \param _boolParam Paramètre booléen EX> * \param _listParam Paramètre liste EX> * \param _choiceParam Paramètre de choix EX> * \param _fileNameParam Paramètre de nom de fichier NC> {{ATTRIBUTES_DESC}} CM> * EX> * Modèle IN : Aucun NC> * Modèle IN : {{MODEL_IN_DESC}} CM> * EX> * Modèle OUT : Aucun NC> * Modèle OUT : {{MODEL_OUT_DESC}} CM> * CM> */ CM> EX> // Une étape doit hériter de CT_AbstractStep (ou d'une classe en héritant) CM> class {{CODE_UPPER}}_Step{{NAME}} : public CT_AbstractStep CM> { EX> // Macro Qt, donnant accès à certaines fonctionnalités EX> // En l'occurence, permet de récupérer le nom de l'étape CM> Q_OBJECT CM> EX> // Simple alias pour réutiliser le type de la classe mère avec 'SuperClass' CM> using SuperClass = CT_AbstractStep; CM> CM> public: EX> // Constructeur/destructeur de l'étape CM> {{CODE_UPPER}}_Step{{NAME}}(); CM> ~{{CODE_UPPER}}_Step{{NAME}}(); CM> EX> // Description de l'étape (tooltip dans le menu contectuel) CM> QString description() const; EX> EX> // Description détaillée de l'étape (dans le menu de description) CM> QString detailledDescription() const; EX> EX> // Méthode de copie de l'étape, utilisée lors de l'ajout d'une étapes à partir du menu contextuel CM> CT_VirtualAbstractStep* createNewInstance() const final; CM> CM> protected: EX> // Spécifications des résultats d'entrée souhaités (IN) CM> void declareInputModels(CT_StepInModelStructureManager& manager) final; EX> EX> // Boite de saisie des paramètres de l'étape CM> void fillPostInputConfigurationDialog(CT_StepConfigurableDialog* postInputConfigDialog) final; EX> EX> // Spécification des résultats de sortie créés par l'étape (OUT) CM> void declareOutputModels(CT_StepOutModelStructureManager& manager) final; EX> EX> // Etape de calcul, créant les données des résultats de sortie CM> void compute() final; CM> EX> // Pour d'autres fonctions standard de 'CT_AbstractStep', consultez directement la classe NC> {{ACTION_FCT}} CM> CM> private: EX> // Dans la zone privée : les paramètres de l'étapes (initialisés dans le constructeur) EX> int _intParam; /*!< Paramètre entier */ EX> double _doubleParam; /*!< Paramètre double */ EX> bool _boolParam; /*!< Paramètre booléen */ EX> QString _listParam; /*!< Paramètre liste */ EX> int _choiceParam; /*!< Paramètre de choix */ EX> QStringList _fileNameParam; /*!< Paramètre de nom de fichier */ EX> QString _stringParam; /*!< Paramètre QString */ NC> {{ATTRIBUTES_DECL}} CM> EX> // Dans cet exemple, on peut récupérer n'importe quel résultat, puis EX> // on ne fait rien, donc le groupe de donnée par défaut sera vide NC> {{MODEL_IN_DECL}} NC> NC> {{MODEL_OUT_DECL}} NC> NC> {{ACTION_ATR}} CM> }; CM> CM> #endif // {{CODE_UPPER}}_STEP{{NAME_UPPER}}_H