|
|
#ifndef ANALYSIS_H #define ANALYSIS_H #include "Param.h" #include "Pane.h" /** * Programme d'analyse utilisé */ enum AnalysisType { PARTIAL, HMM }; /** * Analyse de sons au format SF au moyen de HMM ou de partial++ * * @short Menu analyse * @author Ph.Chose * @version 10/99 */ class Analysis { public: /** * Nom du fichier à analyser privé de son extension. */ char* fileName; /** * ID du processus fils d'analyse */ int pid; private: /** * Dialogue de sélection de fichiers */ Widget dialog; /** * Pointeur sur les paramètres */ Param* p_Param; /** * Pointeur sur la fenêtre d'affichage */ Pane* thePane; /** * Type d'analyse partial++ ou hmm */ AnalysisType anType; public: /** * Constructeur * @param p_Param pointeur sur la classes des paramètres * @param thePane pointeur sur la fenêtre graphique */ Analysis(Param* p_Param, Pane* thePane); /** * Destructeur. Libère la mémoire. */ ~Analysis(); /** * Affiche la boîte de sélection de fichier. * @param parent widget père * @param anType type d'analyse requis (HMM ou P++) */ void display(Widget parent, AnalysisType anType); /** * Tue le processus correspondant l'ID @ref Analysis::pid */ void stopAnalysis(); /** * Démarre une analyse (HMM ou P++). Crée un ligne de commande à partir des paramètres de la classe * @ref Param. * Fait un fork puis un exec sur hmm ou sur partial++ * @param fname nom du fichier SF à analyser * @param widget boîte de sélection de fichier d'où vient la requête d'analyse */ void startAnalysis(char* fname, Widget widget = NULL); private: /** * Fonction callback de sélection de fichier * @param widget boîte de sélection de fichiers * @param clientData pointeur sur l'instance de la classe @ref Analysis. (callback MOTIF en C++) * @param selection structure de sélection de fichier */ static void fileSelect(Widget widget, XtPointer clientData, XmFileSelectionBoxCallbackStruct* selection); /** * Fonction callback d'annulation de sélection de fichier * @param widget boîte de sélection de fichiers */ static void cancel(Widget widget, XtPointer, XtPointer); }; #endif
Generated by: chose@josquin on Wed Nov 10 20:57:01 199. |