#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. |