#ifndef MENU_H
#define MENU_H
#include "Param.h"
#include "Pane.h"
#include "Analysis.h"
/**
* Type de fichier sélectionné dans la boîte de sélection de la classe @ref Menu
*/
enum SelectFileType { SF, SDIF, SDIF_FFT };
/**
* Barre des menus
* @short Barre des menus
* @author Ph.Chose
* @version 10/99
*/
class Menu
{
private:
/**
* Widget de la barre des menus
*/
Widget menuBar;
/**
* Pointeur sur la classe des paramètres
*/
static Param* theParam;
/**
* Pointeur sur la classe d'analyse
*/
static Analysis* theAnalysis;
/**
* Pointeur sur la fenêtre partagée d'affichage
*/
static Pane* thePane;
/**
* Nom de fichier sélectionné
*/
static char* fname;
/**
* Nom de fichier temporaire
*/
static char* tempFname;
public:
/**
* Initialise les paramètres et construit la barre des menus
* @param main_w widget père
* @param p_Param pointeur sur la classe paramètres
* @param p_Analysis poiteur sur la classe d'analyse
* @param pane pointeur sur la fenêtre partagée d'affichage
*/
Menu(Widget main_w, Param* p_Param, Analysis* p_Analysis, Pane* pane);
/**
* Libère la mémoire
*/
~Menu();
private:
/* Prototype callbacks */
/**
* Fonction callback pour le menu File
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void fileCall(Widget w, int item_no);
/**
* Fonction callback pour le menu SDIF Type
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void sdifTypeCall(Widget w, int item_no);
/**
* Fonction callback pour le menu Analysis
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void analysisCall(Widget w, int item_no);
/**
* Fonction callback pour le menu Fréquence
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void freqCall(Widget w, int item_no);
/**
* Fonction callback pour le menu Amplitude
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void amplCall(Widget w, int item_no);
/**
* Fonction callback pour la boîte de sélection de fichiers
* @param sf type de sélection SF ou SDIF
*/
static void selectCall(SelectFileType sf = SDIF);
/**
* Fonction callbacl pour le menu Options
* @param w widget père
* @param item_no élément sélectionné dans le menu
*/
static void optionsCall(Widget w, int item_no);
/**
* Fonction callback pour l'annulation de sélection de fichier
* @param w widget père
*/
static void cancel(Widget w, XtPointer, XmFileSelectionBoxCallbackStruct*);
/**
* Fonction callback pour la sélection de fichier
* @param w widget père
* @param clientData contient le type de boîte de sélection (SF ou SDIF)
* @param selection fichier sélectionné
*/
static void selectActivate(Widget widget, XtPointer clientData, XmFileSelectionBoxCallbackStruct* selection);
};
#endif
| Generated by: chose@josquin on Wed Nov 10 20:57:01 199. |