Analysis  version 7.0 - august 2014
GEVFilterCreator.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GEVFilterCreator.hh
3  *
4  * Déclaration de la classe GEVFilterCreator, qui est
5  * une interface graphique pour définir un nouveau filtre.
6  */
7 //======================================================================
8 
9 #ifndef GEV_FILTER_CREATOR_HH
10 #define GEV_FILTER_CREATOR_HH
11 
12 #include "EventManager.hh"
13 #include "FilterBase.hh"
14 
15 #include "RGBaseRequester.hh"
16 
17 // includes ROOT
18 #include <TGFrame.h>
19 #include <TGButton.h>
20 #include <TGComboBox.h>
21 #include <TGTextEntry.h>
22 #include <TGNumberEntry.h>
23 
24 //======================================================================
25 /*! \class GEVFilterCreator
26  *
27  * Interface graphique de création d'un filtre.
28  *
29  * Elle permet de définir le type de filtre et les paramètres
30  * associés.
31  */
32 class GEVFilterCreator : public RGBaseRequester
33 {
34 //----------------------------------------------------------------------
35  /*! \object_doc */
37 //----------------------------------------------------------------------
38 
39  protected:
40  EventManager * event_mgr; ///< Pointeur sur le gestionnaire d'événements
41 
42  string filt_name; ///< Nom du nouveau filtre
43  static Int_t filt_type; ///< Type du nouveau filtre
44  static Int_t filt_mode; ///< Mode de traitement des paramètres multiples
45 
46  static string cont_name; ///< Nom d'un contour
47  static string cont_param_x; ///< Nom de paramètre X pour filtre contour
48  static string cont_param_y; ///< Nom de paramètre Y pour filtre contour
49 
50  static string filt_name1; ///< Nom de filtre opérande
51  static string filt_name2; ///< Nom de filtre opérande
52  static string fname_list; ///< Liste des noms de filtres
53 
54  static string gate_param; ///< Nom de paramètre pour filtre gate
55  static Double_t par_min; ///< Borne inférieure pour gates
56  static Double_t par_max; ///< Borne supérieure pour gates
57 
58  #ifndef __MAKECINT__
59  string * filt_names; ///< Tableau des noms de filtres (pour requetes)
60  u_int filt_num; ///< Nombre noms de filtres dans la table
61 
62  Filter ** filt_result; ///< Pointeur sur l'adresse du filtre alloué en sortie
63 #endif
64 
65  // widgets de l'interface
66  TGCompositeFrame * w_frame; ///< Cadre principal (de la classe RGBaseRequester)
67 
68  TGLabel * w_name_label; ///< Label pour nom de filtre
69  TGTextEntry * w_name_text; ///< Texte pour nom de filtre
70 
71  TGComboBox * w_filt_type; ///< Type de filtre
72 
73  // cadre filtre contour
74  TGHorizontalFrame * w_cont_frame; ///< Cadre d'ensemble pour paramètres d'un fitre contour
75 
76  TGTextButton * w_cont_select; ///< Bouton de sélection du contour
77  TGTextEntry * w_cont_entry; ///< Saisie du nom de contour
78  TGComboBox * w_cont_multi; ///< Mode pour paramètres multi
79 
80  TGTextButton * w_cont_px_select; ///< Bouton de sélection du paramètre X
81  TGTextEntry * w_cont_px_entry; ///< Saisie du paramètre X
82 
83  TGTextButton * w_cont_py_select; ///< Bouton de sélection du paramètre Y
84  TGTextEntry * w_cont_py_entry; ///< Saisie du paramètre Y
85 
86  // cadre pour filtre gate
87  TGHorizontalFrame * w_gate_frame; ///< Cadre d'ensemble pour paramètres d'un fitre gate
88  TGComboBox * w_gate_multi; ///< Mode pour paramètres multi
89 
90  TGTextButton * w_gate_par_select; ///< Bouton de sélection du paramètre
91  TGTextEntry * w_gate_par_entry; ///< Saisie du paramètre
92  TGNumberEntry * w_gate_min_entry; ///< Saisie de la borne inférieure
93  TGNumberEntry * w_gate_max_entry; ///< Saisie de la borne supérieure
94 
95 
96  // cadre opérande 1 pour filtre opérateur
97  TGHorizontalFrame * w_filt1_frame; ///< Cadre d'ensemble pour filtre opérande
98 
99  TGTextButton * w_filt1_select; ///< Bouton de sélection du filtre
100  TGTextEntry * w_filt1_entry; ///< Saisie du nom de filtre
101 
102  // cadre opérande 2 pour filtre opérateur
103  TGHorizontalFrame * w_filt2_frame; ///< Cadre d'ensemble pour filtre opérande
104 
105  TGTextButton * w_filt2_select; ///< Bouton de sélection du filtre
106  TGTextEntry * w_filt2_entry; ///< Saisie du nom de filtre
107 
108  // cadre opérandes pour filtre opérateur multiple
109  TGVerticalFrame * w_multi_frame; ///< Cadre d'ensemble pour filtres opérandes
110 
111  TGTextButton * w_multi_select; ///< Bouton de sélection de la liste filtre
112  TGTextEntry * w_multi_entry; ///< Saisie de la liste de filtres
113 
114 
115  public:
116 //----------------------------------------------------------------------
117 // Constructeur, destructeur, affectation
118  GEVFilterCreator ( EventManager * evt_mgr,
119  Int_t & result,
120  Filter *& filt_ptr,
121  const TGWindow * mw = NULL );
122  virtual ~GEVFilterCreator ( );
123 
124  protected:
125  GEVFilterCreator ( const GEVFilterCreator & original );
126 
127 //----------------------------------------------------------------------
128  public:
129 
130  virtual void Construct ( );
131  virtual void MapRequester ( );
132  virtual bool CheckInputs ( );
133 
134  virtual Int_t FilterRequest ( TGTextEntry *w_filt_entry, const bool multi = false );
135 
136 //----------------------------------------------------------------------
137 // Slots
138 
139  virtual void ContourTextChanged ( const char *txt );
140  virtual void ContourClicked ( );
141  virtual void ContourParamXChanged ( const char *txt );
142  virtual void ContourParamXClicked ( );
143  virtual void ContourParamYClicked ( );
144 
145  virtual void GateParamChanged ( const char *txt );
146  virtual void GateParamClicked ( );
147 
148  virtual void Filter1Clicked ( );
149  virtual void Filter2Clicked ( );
150  virtual void FilterMultiClicked ( );
151 
152  virtual void TypeSelected ( Int_t type );
153  virtual void MultiModeSelected ( Int_t mode );
154 
155  // boutons de la requête (surcharge de RGMessageRequester)
156  virtual void Button ( Int_t n );
157 
158 //----------------------------------------------------------------------
159  public:
160  /*! Définition à usage de ROOT... */
162 };
163 
164 
165 //======================================================================
166 #endif
GObject(GEVFilterCreator)
static string fname_list
Liste des noms de filtres.
Definition: GEVFilterCreator.hh:52
TGVerticalFrame * w_multi_frame
Cadre d&#39;ensemble pour filtres opérandes.
Definition: GEVFilterCreator.hh:109
TGTextButton * w_filt1_select
Bouton de sélection du filtre.
Definition: GEVFilterCreator.hh:99
virtual bool CheckInputs()
Definition: GEVFilterCreator.cpp:460
ClassDef(GEVFilterCreator, 0)
TGTextEntry * w_gate_par_entry
Saisie du paramètre.
Definition: GEVFilterCreator.hh:91
string filt_name
Nom du nouveau filtre.
Definition: GEVFilterCreator.hh:42
virtual void ContourClicked()
Definition: GEVFilterCreator.cpp:816
TGTextButton * w_filt2_select
Bouton de sélection du filtre.
Definition: GEVFilterCreator.hh:105
static string cont_param_y
Nom de paramètre Y pour filtre contour.
Definition: GEVFilterCreator.hh:48
virtual void Construct()
Definition: GEVFilterCreator.cpp:95
virtual void Filter1Clicked()
Definition: GEVFilterCreator.cpp:1126
TGTextButton * w_cont_select
Bouton de sélection du contour.
Definition: GEVFilterCreator.hh:76
string * filt_names
Tableau des noms de filtres (pour requetes)
Definition: GEVFilterCreator.hh:59
TGComboBox * w_gate_multi
Mode pour paramètres multi.
Definition: GEVFilterCreator.hh:88
static string filt_name2
Nom de filtre opérande.
Definition: GEVFilterCreator.hh:51
TGHorizontalFrame * w_filt1_frame
Cadre d&#39;ensemble pour filtre opérande.
Definition: GEVFilterCreator.hh:97
static string filt_name1
Nom de filtre opérande.
Definition: GEVFilterCreator.hh:50
TGComboBox * w_filt_type
Type de filtre.
Definition: GEVFilterCreator.hh:71
TGTextButton * w_cont_px_select
Bouton de sélection du paramètre X.
Definition: GEVFilterCreator.hh:80
TGTextEntry * w_filt1_entry
Saisie du nom de filtre.
Definition: GEVFilterCreator.hh:100
Definition: Filter.hh:50
TGLabel * w_name_label
Label pour nom de filtre.
Definition: GEVFilterCreator.hh:68
static string gate_param
Nom de paramètre pour filtre gate.
Definition: GEVFilterCreator.hh:54
static Double_t par_max
Borne supérieure pour gates.
Definition: GEVFilterCreator.hh:56
TGHorizontalFrame * w_cont_frame
Cadre d&#39;ensemble pour paramètres d&#39;un fitre contour.
Definition: GEVFilterCreator.hh:74
static Double_t par_min
Borne inférieure pour gates.
Definition: GEVFilterCreator.hh:55
virtual void Button(Int_t n)
Definition: GEVFilterCreator.cpp:667
Definition: GEVFilterCreator.hh:32
virtual void Filter2Clicked()
Definition: GEVFilterCreator.cpp:1134
TGTextEntry * w_cont_px_entry
Saisie du paramètre X.
Definition: GEVFilterCreator.hh:81
TGCompositeFrame * w_frame
Cadre principal (de la classe RGBaseRequester)
Definition: GEVFilterCreator.hh:66
static Int_t filt_mode
Mode de traitement des paramètres multiples.
Definition: GEVFilterCreator.hh:44
static string cont_param_x
Nom de paramètre X pour filtre contour.
Definition: GEVFilterCreator.hh:47
TGTextEntry * w_filt2_entry
Saisie du nom de filtre.
Definition: GEVFilterCreator.hh:106
virtual void ContourParamXClicked()
Definition: GEVFilterCreator.cpp:913
virtual Int_t FilterRequest(TGTextEntry *w_filt_entry, const bool multi=false)
Definition: GEVFilterCreator.cpp:1010
EventManager * event_mgr
Pointeur sur le gestionnaire d&#39;événements.
Definition: GEVFilterCreator.hh:40
virtual void GateParamChanged(const char *txt)
Definition: GEVFilterCreator.cpp:956
TGTextButton * w_gate_par_select
Bouton de sélection du paramètre.
Definition: GEVFilterCreator.hh:90
TGNumberEntry * w_gate_max_entry
Saisie de la borne supérieure.
Definition: GEVFilterCreator.hh:93
virtual void MapRequester()
Definition: GEVFilterCreator.cpp:425
virtual void MultiModeSelected(Int_t mode)
Definition: GEVFilterCreator.cpp:1227
TGTextButton * w_cont_py_select
Bouton de sélection du paramètre Y.
Definition: GEVFilterCreator.hh:83
GEVFilterCreator(EventManager *evt_mgr, Int_t &result, Filter *&filt_ptr, const TGWindow *mw=NULL)
Definition: GEVFilterCreator.cpp:47
virtual void ContourParamXChanged(const char *txt)
Definition: GEVFilterCreator.cpp:877
virtual void ContourTextChanged(const char *txt)
Definition: GEVFilterCreator.cpp:766
virtual void ContourParamYClicked()
Definition: GEVFilterCreator.cpp:936
TGHorizontalFrame * w_gate_frame
Cadre d&#39;ensemble pour paramètres d&#39;un fitre gate.
Definition: GEVFilterCreator.hh:87
virtual void FilterMultiClicked()
Definition: GEVFilterCreator.cpp:1142
TGNumberEntry * w_gate_min_entry
Saisie de la borne inférieure.
Definition: GEVFilterCreator.hh:92
TGHorizontalFrame * w_filt2_frame
Cadre d&#39;ensemble pour filtre opérande.
Definition: GEVFilterCreator.hh:103
static Int_t filt_type
Type du nouveau filtre.
Definition: GEVFilterCreator.hh:43
TGTextEntry * w_name_text
Texte pour nom de filtre.
Definition: GEVFilterCreator.hh:69
virtual ~GEVFilterCreator()
Definition: GEVFilterCreator.cpp:82
virtual void GateParamClicked()
Definition: GEVFilterCreator.cpp:980
static string cont_name
Nom d&#39;un contour.
Definition: GEVFilterCreator.hh:46
TGTextEntry * w_multi_entry
Saisie de la liste de filtres.
Definition: GEVFilterCreator.hh:112
Definition: EventManager.hh:59
virtual void TypeSelected(Int_t type)
Definition: GEVFilterCreator.cpp:1152
u_int filt_num
Nombre noms de filtres dans la table.
Definition: GEVFilterCreator.hh:60
Filter ** filt_result
Pointeur sur l&#39;adresse du filtre alloué en sortie.
Definition: GEVFilterCreator.hh:62
TGTextEntry * w_cont_py_entry
Saisie du paramètre Y.
Definition: GEVFilterCreator.hh:84
TGComboBox * w_cont_multi
Mode pour paramètres multi.
Definition: GEVFilterCreator.hh:78
TGTextButton * w_multi_select
Bouton de sélection de la liste filtre.
Definition: GEVFilterCreator.hh:111
TGTextEntry * w_cont_entry
Saisie du nom de contour.
Definition: GEVFilterCreator.hh:77