EX> /* EX> Implémentation du gestionnaire d'étapes EX> */ EX> EX> // Inclusion des classes génériques de plugin_shared nécessaires CM> #include "{{CODE_LOWER}}_pluginmanager.h" CM> EX> // Inclure ici toutes les entêtes des classes définissant des EX> // étapes/actions/exporters/readers/filtres/metriques dans le plugin EX> #include "steps/{{CODE_LOWER}}_steptutorial01.h" EX> #include "steps/{{CODE_LOWER}}_steptutorial02.h" EX> #include "steps/{{CODE_LOWER}}_steptutorial03.h" EX> #include "steps/{{CODE_LOWER}}_steptutorial04.h" EX> #include "filters/{{CODE_LOWER}}_filtertutorial05.h" EX> #include "metrics/{{CODE_LOWER}}_metrictutorial06.h" EX> #include "readers/{{CODE_LOWER}}_readertutorial07.h" EX> #include "exporters/{{CODE_LOWER}}_exportertutorial08.h" EX> #include "items/{{CODE_LOWER}}_itemtutorial09.h" EX> EX> // Constructeur (appelle le constructeur générique) CM> {{CODE_UPPER}}_PluginManager::{{CODE_UPPER}}_PluginManager() : CT_AbstractStepPlugin() CM> { CM> } CM> EX> // Destructeur (ne fait rien de particulier) CM> {{CODE_UPPER}}_PluginManager::~{{CODE_UPPER}}_PluginManager() CM> { CM> } CM> EX> // URL vers la page officielle du plugin CM> QString {{CODE_UPPER}}_PluginManager::getPluginURL() const CM> { EX> return QString("http://rdinnovation.onf.fr/projects/plugin-{{CODE_LOWER}}/wiki"); NC> return QString("{{URL}}"); CM> } CM> EX> // Cette méthode retourne le nom du plugin à afficher dans Computree CM> QString {{CODE_UPPER}}_PluginManager::getPluginOfficialName() const CM> { CM> return QString("{{CODE_UPPER}}"); CM> } CM> EX> // Cette méthode retourne la référence complète du plugin CM> QString {{CODE_UPPER}}_PluginManager::getPluginRISCitation() const CM> { CM> return QString("TY - COMP\n" EX> "TI - Plugin {{CODE_UPPER}} for Computree\n" EX> "AU - Piboule, Alexandre\n" EX> "PB - Office National des Forêts, RDI Department\n" EX> "PY - 2021\n" EX> "UR - http://rdinnovation.onf.fr/projects/plugin-tufr/wiki\n" NC> "TI - Title of the plugin\n" NC> "AU - Author's name\n" NC> "PB - Publisher of the plugin\n" NC> "PY - Year of release\n" NC> "UR - URL of the plugin\n" CM> "ER - \n"); CM> } CM> EX> // Cette méthode utilise la méthode d'initialisation par défaut de la classe mère CM> bool {{CODE_UPPER}}_PluginManager::init() CM> { CM> return CT_AbstractStepPlugin::init(); CM> } CM> EX> // Cette méthode permet de construire la liste des étapes indépendantes EX> // Les étapes indépendantes, ne nécessitent pas d'étape mère pour être ajoutée EX> // Pour autant ce ne sont pas des étapes standard de chargement de fichier CM> bool {{CODE_UPPER}}_PluginManager::loadCanBeAddedFirstStep() CM> { EX> // Ajout d'étapes EX> addNewPointsStep<{{CODE_UPPER}}_StepTutorial01>(CT_StepsMenu::LP_Create); EX> addNewPointsStep<{{CODE_UPPER}}_StepTutorial02>(CT_StepsMenu::LP_Create); EX> EX> // Voici quelques possibilités de type d'étape à rajouter, leur type et catégorie EX> // (entre parenthèse) permettant de les classer dans l'arborescence Computree : EX> // addNewBetaStep EX> // addNewExportStep EX> // addNewLoadStep EX> // addNewMetricStep EX> // addNewRastersStep EX> // addNewShapes2DStep EX> // addNewVoxelsStep EX> // addNewWorkflowStep EX> // Et également les catégories possibles (dépendent du type !) : EX> // CT_StepsMenu::LP_Create EX> // CT_StepsMenu::LP_Analyze EX> // CT_StepsMenu::LP_Clusters EX> // CT_StepsMenu::LP_Filter EX> // ... EX> EX> // Si toutes les étapes ont pu être ajoutées, la méthode renvoie true (on peut continuer) CM> return true; CM> } CM> EX> // Cette méthode permet de construire le menu contextuel des étapes normales du plugin CM> bool {{CODE_UPPER}}_PluginManager::loadGenericsStep() CM> { EX> // Ajout d'un étape dans le menu EX> addNewPointsStep<{{CODE_UPPER}}_StepTutorial03>(CT_StepsMenu::LP_Transform); EX> addNewPointsStep<{{CODE_UPPER}}_StepTutorial04>(CT_StepsMenu::LP_Create); EX> EX> // Si toutes les étapes ont pu être ajoutées, la méthode renvoie true (on peut continuer) CM> return true; CM> } CM> EX> // Cette méthode permet de construire la liste des étapes de chargement de fichier du plugin EX> // Si le plugin n'en contient pas, cette méthode se contente de renvoyer true CM> bool {{CODE_UPPER}}_PluginManager::loadOpenFileStep() CM> { CM> return true; CM> } CM> EX> // Cette méthode permet de construire les actions qui permette d'afficher des boites de dialogue CM> bool {{CODE_UPPER}}_PluginManager::loadActions() CM> { CM> return true; CM> } CM> EX> // Cette méthode permet de construire les filtres sur les données CM> bool {{CODE_UPPER}}_PluginManager::loadFilters() CM> { EX> addNewFilter(new {{CODE_UPPER}}_FilterTutorial05()); EX> EX> // Si toutes les étapes ont pu être ajoutées, la méthode renvoie true (on peut continuer) CM> return true; CM> } CM> EX> // Cette méthode permet de construire les métriques extraites des données CM> bool {{CODE_UPPER}}_PluginManager::loadMetrics() CM> { EX> addNewMetric(new {{CODE_UPPER}}_MetricTutorial06()); EX> EX> // Si toutes les étapes ont pu être ajoutées, la méthode renvoie true (on peut continuer) CM> return true; CM> } CM> EX> // Cette méthode permet de construire les fonctions d'importation de données CM> bool {{CODE_UPPER}}_PluginManager::loadReaders() CM> { CM> return true; CM> } CM> EX> // Cette méthode permet de construire les fonctions d'exportation de données CM> bool {{CODE_UPPER}}_PluginManager::loadExporters() CM> { CM> return true; CM> } CM> EX> // Cette méthode permet de construire les items spécifiques à ce plugin CM> bool {{CODE_UPPER}}_PluginManager::loadItemDrawables() CM> { CM> return true; CM> }