Analysis  version 7.0 - august 2014
GEVSpectrumEditor.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GEVSpectrumEditor.hh
3  *
4  * Déclaration de la classe GEVSpectrumEditor, qui est
5  * une interface graphique pour créer et éditer des spectres.
6  *
7  * 14 septembre 2009
8  * - prise en compte des spectres 3D
9  */
10 //======================================================================
11 
12 #ifndef GEV_SPECTRUM_EDITOR_HH
13 #define GEV_SPECTRUM_EDITOR_HH
14 
15 #include "GEVPageManager.hh"
16 
17 // includes ROOT
18 #include <TGFrame.h>
19 #include <TGButton.h>
20 #include <TGTextEntry.h>
21 
22 #include "RGItemListBox.hh"
23 
24 //======================================================================
25 /*! \class GEVSpectrumEditor
26  *
27  * Interface graphique permettant de créer et d'éditer les spectres.
28  * Les modifications se font directement sur la liste originale de
29  * spectres, et il n'y a pas d'annulation possible.
30  *
31  * C'est le cas de l'édition des spectres, des filtres et des
32  * contours, du fait de l'imbrication de ces structures référencées
33  * par pointeurs (si on fait des copies de listes, les pointeurs
34  * sur les instances ne sont plus les mêmes, parce que ces listes
35  * sont propriétaires de leurs objets).
36  */
37 
38 class GEVSpectrumEditor : public TGTransientFrame
39 {
40 //----------------------------------------------------------------------
41  /*! \object_doc */
43 //----------------------------------------------------------------------
44 
45  protected:
46  static UInt_t last_width; ///< Largeur au dernier appel
47  static UInt_t last_height; ///< hauteur au dernier appel
48 
49  GEVPageManager * page_mgr; ///< Pointeur sur le gestionnaire de pages
50  SpectrumList * spec_list; ///< Pointeur sur la liste de spectres
51 
52  string filt_names; ///< Noms des filtres associés9a
53  const SpectrumFamily * fam_ptr; ///< Pointeur sur la famille associée aux spectres
54 
55 #ifndef __MAKECINT__
56 #endif
57 
58  // widgets de l'interface
59  RGItemListBox * w_spec_list; ///< Liste de sélection des spectre
60  TGButton * w_button_new; ///< Bouton de création d'un spectre
61  TGButton * w_button_extern; ///< Bouton de définition d'histogrammes externes
62  TGButton * w_button_copy; ///< Bouton de copie d'un spectre
63  TGButton * w_button_rename; ///< Bouton d'édition d'un spectre
64  TGButton * w_button_delete; ///< Bouton de suppression de spectres
65  TGButton * w_button_info; ///< Bouton d'information
66 
67  TGButton * w_button_fam_select; ///< Bouton de sélection par familles
68 
69  TGTextEntry * w_text_fam; ///< Texte indiquant la famille
70  TGTextButton * w_select_fam; ///< Bouton de sélection de la famille
71  TGTextEntry * w_text_filt; ///< Texte indiquant le filtre
72  TGTextButton * w_select_filt; ///< Bouton de sélection du filtre
73  TGTextButton * w_edit_filt; ///< Bouton d'édition des filtres
74 
75  TGTextButton * w_button_load; ///< Bouton de lecture dans un fichier
76  TGTextButton * w_button_save_all; ///< Bouton d'écriture de tous les spectres dans un fichier
77  TGTextButton * w_button_save_select; ///< Bouton d'écriture des spectres sélectionnés dans un fichier
78  TGTextButton * w_button_done; ///< Bouton de fin de traitement
79 
80  static string file_name; ///< Nom du dernier fichier
81 
82  public:
83 //----------------------------------------------------------------------
84 // Constructeur, destructeur, affectation
85  GEVSpectrumEditor ( GEVPageManager * mgr, const TGWindow *mw = NULL );
86  virtual ~GEVSpectrumEditor ( );
87 
88  protected:
89  GEVSpectrumEditor ( const GEVSpectrumEditor & original );
90 
91 //----------------------------------------------------------------------
92  public:
93 
94  virtual void Construct ( );
95  virtual void Start ( );
96 
97  protected:
98  // mise à jour de la liste à partir des spectres
99  virtual void UpdateListBox ( );
100 
101 //----------------------------------------------------------------------
102 // Fonctions associées
103 
104  public:
105  virtual void Quit ( );
106 
107  virtual bool CheckSelectionMoveTop ( );
108  virtual bool CheckSelectionMoveUp ( );
109  virtual bool CheckSelectionMoveDown ( );
110  virtual bool CheckSelectionMoveBottom ( );
111  virtual void MoveButtonsUpdate ( );
112 
113 //----------------------------------------------------------------------
114 // Slots
115  virtual void SelectionChanged ( );
116  virtual void SelectionMoved ( );
117 
118  // slots des boutons
119  virtual void FamilySelection ( );
120 
121  virtual void SelectFamily ( );
122  virtual void SelectFilter ( );
123  virtual void EditFilter ( );
124  virtual void New ( );
125  virtual void Extern ( );
126  virtual void Copy ( );
127  virtual void Rename ( );
128  virtual void Delete ( );
129  virtual void Info ( );
130 
131  // boutons principaux
132  virtual void Load ( );
133  virtual void SaveAll ( );
134  virtual void SaveSelected ( );
135  virtual void Done ( );
136 
137 
138 
139 //----------------------------------------------------------------------
140  public:
141  /*! Définition à usage de ROOT... */
143 };
144 
145 //----------------------------------------------------------------------
146 // FONCTIONS INLINE
147 //----------------------------------------------------------------------
148 
149 
150 //======================================================================
151 #endif
TGTextButton * w_select_fam
Bouton de sélection de la famille.
Definition: GEVSpectrumEditor.hh:70
TGTextButton * w_select_filt
Bouton de sélection du filtre.
Definition: GEVSpectrumEditor.hh:72
TGTextEntry * w_text_fam
Texte indiquant la famille.
Definition: GEVSpectrumEditor.hh:69
virtual bool CheckSelectionMoveDown()
Definition: GEVSpectrumEditor.cpp:485
Definition: SpectrumFamily.hh:25
TGTextEntry * w_text_filt
Texte indiquant le filtre.
Definition: GEVSpectrumEditor.hh:71
TGTextButton * w_button_load
Bouton de lecture dans un fichier.
Definition: GEVSpectrumEditor.hh:75
GEVSpectrumEditor(GEVPageManager *mgr, const TGWindow *mw=NULL)
Definition: GEVSpectrumEditor.cpp:46
virtual void Load()
Definition: GEVSpectrumEditor.cpp:1507
GEVPageManager * page_mgr
Pointeur sur le gestionnaire de pages.
Definition: GEVSpectrumEditor.hh:49
virtual void Construct()
Definition: GEVSpectrumEditor.cpp:82
RGItemListBox * w_spec_list
Liste de sélection des spectre.
Definition: GEVSpectrumEditor.hh:59
virtual bool CheckSelectionMoveUp()
Definition: GEVSpectrumEditor.cpp:442
TGButton * w_button_info
Bouton d&#39;information.
Definition: GEVSpectrumEditor.hh:65
virtual void FamilySelection()
Definition: GEVSpectrumEditor.cpp:809
virtual void Info()
Definition: GEVSpectrumEditor.cpp:1397
TGButton * w_button_new
Bouton de création d&#39;un spectre.
Definition: GEVSpectrumEditor.hh:60
virtual void Delete()
Definition: GEVSpectrumEditor.cpp:1261
TGButton * w_button_extern
Bouton de définition d&#39;histogrammes externes.
Definition: GEVSpectrumEditor.hh:61
virtual void SelectionMoved()
Definition: GEVSpectrumEditor.cpp:767
ClassDef(GEVSpectrumEditor, 0)
virtual void New()
Definition: GEVSpectrumEditor.cpp:996
virtual void SelectionChanged()
Definition: GEVSpectrumEditor.cpp:615
GObject(GEVSpectrumEditor)
Definition: GEVPageManager.hh:96
virtual void EditFilter()
Definition: GEVSpectrumEditor.cpp:861
virtual void SaveSelected()
Definition: GEVSpectrumEditor.cpp:1647
TGTextButton * w_button_save_select
Bouton d&#39;écriture des spectres sélectionnés dans un fichier.
Definition: GEVSpectrumEditor.hh:77
TGTextButton * w_button_save_all
Bouton d&#39;écriture de tous les spectres dans un fichier.
Definition: GEVSpectrumEditor.hh:76
virtual void Start()
Definition: GEVSpectrumEditor.cpp:318
TGTextButton * w_button_done
Bouton de fin de traitement.
Definition: GEVSpectrumEditor.hh:78
static string file_name
Nom du dernier fichier.
Definition: GEVSpectrumEditor.hh:80
virtual void SelectFilter()
Definition: GEVSpectrumEditor.cpp:870
virtual void Rename()
Definition: GEVSpectrumEditor.cpp:1230
virtual ~GEVSpectrumEditor()
Definition: GEVSpectrumEditor.cpp:71
virtual void Done()
Definition: GEVSpectrumEditor.cpp:1740
virtual void Extern()
Definition: GEVSpectrumEditor.cpp:1020
string filt_names
Noms des filtres associés
Definition: GEVSpectrumEditor.hh:52
const SpectrumFamily * fam_ptr
Pointeur sur la famille associée aux spectres.
Definition: GEVSpectrumEditor.hh:53
virtual bool CheckSelectionMoveBottom()
Definition: GEVSpectrumEditor.cpp:528
virtual void Quit()
Definition: GEVSpectrumEditor.cpp:381
virtual bool CheckSelectionMoveTop()
Definition: GEVSpectrumEditor.cpp:396
TGButton * w_button_copy
Bouton de copie d&#39;un spectre.
Definition: GEVSpectrumEditor.hh:62
Definition: GEVSpectrumEditor.hh:38
virtual void UpdateListBox()
Definition: GEVSpectrumEditor.cpp:358
static UInt_t last_height
hauteur au dernier appel
Definition: GEVSpectrumEditor.hh:47
Definition: SpectrumList.hh:30
TGButton * w_button_fam_select
Bouton de sélection par familles.
Definition: GEVSpectrumEditor.hh:67
virtual void SelectFamily()
Definition: GEVSpectrumEditor.cpp:959
virtual void MoveButtonsUpdate()
Definition: GEVSpectrumEditor.cpp:573
SpectrumList * spec_list
Pointeur sur la liste de spectres.
Definition: GEVSpectrumEditor.hh:50
virtual void Copy()
Definition: GEVSpectrumEditor.cpp:1040
TGTextButton * w_edit_filt
Bouton d&#39;édition des filtres.
Definition: GEVSpectrumEditor.hh:73
TGButton * w_button_delete
Bouton de suppression de spectres.
Definition: GEVSpectrumEditor.hh:64
TGButton * w_button_rename
Bouton d&#39;édition d&#39;un spectre.
Definition: GEVSpectrumEditor.hh:63
static UInt_t last_width
Largeur au dernier appel.
Definition: GEVSpectrumEditor.hh:46
virtual void SaveAll()
Definition: GEVSpectrumEditor.cpp:1570