JG ROOT Tools libraries  version 5.0 - august 2014
RGContourListEdit.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RGContourListEdit.hh
3  *
4  * Include file for class RGContourListEdit
5  */
6 //======================================================================
7 
8 #ifndef RG_CONTOUR_LIST_EDIT_HH
9 #define RG_CONTOUR_LIST_EDIT_HH
10 
11 #include "RGContourEdit.hh"
12 #include "RContourList.hh"
13 
14 //======================================================================
15 /*! class RGContourListEdit
16  *
17  * Class defining an editor of a list of contours in a pad.
18  *
19  * Additional options with respect to RGContourEdit:
20  * - \b LC_COL: line color for displayed contours
21  * - \b LC_STY: line style for displayed contours
22  * - \b LC_WID: line width for displayed contours
23  * - \b LS_COL: line color for edited contour
24  * - \b LS_STY: line style for edited contour
25  * - \b LS_WID: line width for edited contour
26  *
27  */
29 {
30  //------------------------------------------------------------
31  /*! \object_doc{RGContourListEdit} */
33  //------------------------------------------------------------
34 
35  public:
36 
37  // Note:
38  // C'est le champ 'contour_ptr' de la classe RGContourEdit qui définit
39  // le contour de la liste en cours d'édition. S'il est NULL, il s'agit
40  // d'un nouveau contour.
41 
42  protected:
43  static string no_name; ///< Default contour name
44  RContourList * contour_list; ///< Pointeur sur la liste de contours à éditer
45 
46  TList display_list; ///< Liste des objets à tracer pour la liste de contours
47 
48 
49  bool check_saved; ///< Test si on vérifie les modifications de liste avant de quitter
50  bool modified_list; ///< Test si la liste a été modifiée
51  bool append_load; ///< Test si la liste est complétée ou remplacé par le chargement d'un fichier
52  string file_name; ///< Nom du dernier fichier
53  string file_base; ///< Nom de base du fichier
54  string file_dir; ///< Nom du répertoire
55 
56  TAttLine lc_att; ///< Attributs graphiques des lignes des contours affichés6
57  TAttLine ls_att; ///< Attributs graphiques des lignes du contour édité1
58 
59 
60  // widgets
61  TGHorizontalFrame * w_gcl_ct_button_hframe; ///< Ligne des boutons du contour
62  TGTextButton * w_gcl_ct_button_select; ///< Bouton de selection du contour
63  TGTextButton * w_gcl_ct_button_new; ///< Bouton de création d'un nouveau contour
64  TGTextButton * w_gcl_ct_button_delete; ///< Bouton de suppression du contour édité
65  TGTextButton * w_gcl_ct_button_ok; ///< Bouton de validation du contour
66  TGTextButton * w_gcl_ct_button_cancel; ///< Bouton d'annulation du contour
67  TGGroupFrame * w_gcl_ct_list_group; ///< Cadre de la liste
68  TGTextButton * w_gcl_ls_button_show; ///< Bouton de sélection des contoours visibles
69  TGTextButton * w_gcl_ls_button_delete; ///< Bouton de suppression de contours
70  TGTextButton * w_gcl_ls_button_load; ///< Bouton de lecture d'un fichier
71  TGCheckButton * w_gcl_ls_button_append; ///< Bouton qui indique si les contours lus sont ajoutés à la liste
72  TGTextButton * w_gcl_ls_button_save; ///< Bouton d'écriture d'un fichier
73 
74  //------------------------------------------------------------
75  // Constructors / affectation / destructor
76  public:
77  // Constructeur avec retour du contour
78  RGContourListEdit ( const TGWindow * parent,
79  TVirtualPad * pad,
80  const char * title,
81  RContourList & liste,
82  const string & options = "",
83  const u_int flags = 0,
84  const bool auto_start = true );
85 
86  private:
87  // Constructeur de recopie
88  RGContourListEdit ( const RGContourListEdit & obj );
89 
90  public:
91  // Destructeur
92  virtual ~RGContourListEdit();
93 
94  //------------------------------------------------------------
95  // FUNCTIONS
96 
97  public:
98  // Traitement de la requête
99  virtual void Construct ( );
100  virtual void Request ( );
101 
102  // définition des options
103  virtual void SetOptions ( const string &opts = "" );
104  virtual void SetContourEditTitle ( );
105 
106  protected:
107  virtual void UpdateWidgetsState ( );
108  virtual void SetModified ( const bool status = true );
109  virtual void SetModifiedList ( const bool status = true );
110 
111  virtual bool ModifiedListCheck ( );
112 
113  virtual void UpdateContourWidgets ( );
114  virtual bool ContourNameCheck ( const string &name, RContour *current = NULL );
115 
116  // fonctions relatives au tracé des contours de la liste
117  virtual void ClearDisplayTable ( );
118  virtual void CreateDisplayTable ( );
119  virtual void RedrawContours ( const bool recreate = true );
120 
121  virtual void SetEditedContour ( RContour * ctr );
122  virtual void DeleteContour ( RContour * ctr, const bool update = true );
123 
124  //------------------------------------------------------------
125  // SLOTS
126 
127  public:
128  virtual void DoneButton ( );
129 
130  // boutons relatifs au contour
131  virtual void SelectContourButton ( );
132  virtual void NewContourButton ( );
133  virtual void DeleteContourButton ( );
134  virtual void UpdateContourButton ( );
135  virtual void ResetContourButton ( );
136 
137  // boutons relatifs à la liste
138  virtual void ShowListButton ( );
139  virtual void DeleteListButton ( );
140  virtual void LoadListButton ( );
141  virtual void AppendListButton ( );
142  virtual void SaveListButton ( );
143 
144  //------------------------------------------------------------
145  /*! For ROOT dictionary.*/
147 } ;
148 
149 //----------------------------------------------------------------------
150 // Inline functions
151 #include "icc/RGContourListEdit.icc"
152 
153 //======================================================================
154 #endif
virtual void DeleteContour(RContour *ctr, const bool update=true)
Definition: RGContourListEdit.cpp:667
virtual void SaveListButton()
Definition: RGContourListEdit.cpp:1068
virtual void UpdateContourWidgets()
Definition: RGContourListEdit.cpp:458
TAttLine lc_att
Attributs graphiques des lignes des contours affichés
Definition: RGContourListEdit.hh:56
TGCheckButton * w_gcl_ls_button_append
Bouton qui indique si les contours lus sont ajoutés à la liste.
Definition: RGContourListEdit.hh:71
bool append_load
Test si la liste est complétée ou remplacé par le chargement d&#39;un fichier.
Definition: RGContourListEdit.hh:51
Definition: RGContourEdit.hh:26
TGGroupFrame * w_gcl_ct_list_group
Cadre de la liste.
Definition: RGContourListEdit.hh:67
TGTextButton * w_gcl_ct_button_new
Bouton de création d&#39;un nouveau contour.
Definition: RGContourListEdit.hh:63
TGTextButton * w_gcl_ls_button_show
Bouton de sélection des contoours visibles.
Definition: RGContourListEdit.hh:68
virtual void CreateDisplayTable()
Definition: RGContourListEdit.cpp:545
virtual void DeleteListButton()
Definition: RGContourListEdit.cpp:898
ClassDef(RGContourListEdit, 0)
virtual void NewContourButton()
Definition: RGContourListEdit.cpp:751
virtual void DoneButton()
Definition: RGContourListEdit.cpp:695
virtual void SetContourEditTitle()
Definition: RGContourListEdit.cpp:377
virtual bool ContourNameCheck(const string &name, RContour *current=NULL)
Definition: RGContourListEdit.cpp:501
virtual void Request()
Definition: RGContourListEdit.cpp:316
Definition: RContourList.hh:28
RGContourListEdit(const TGWindow *parent, TVirtualPad *pad, const char *title, RContourList &liste, const string &options="", const u_int flags=0, const bool auto_start=true)
Definition: RGContourListEdit.cpp:41
virtual void Construct()
Definition: RGContourListEdit.cpp:100
TGTextButton * w_gcl_ct_button_cancel
Bouton d&#39;annulation du contour.
Definition: RGContourListEdit.hh:66
virtual void SetEditedContour(RContour *ctr)
Definition: RGContourListEdit.cpp:623
bool modified_list
Test si la liste a été modifiée
Definition: RGContourListEdit.hh:50
TList display_list
Liste des objets à tracer pour la liste de contours.
Definition: RGContourListEdit.hh:46
string file_name
Nom du dernier fichier.
Definition: RGContourListEdit.hh:52
ROptionString options
Options.
Definition: RGGetPoints.hh:163
TGTextButton * w_gcl_ls_button_load
Bouton de lecture d&#39;un fichier.
Definition: RGContourListEdit.hh:70
bool check_saved
Test si on vérifie les modifications de liste avant de quitter.
Definition: RGContourListEdit.hh:49
virtual bool ModifiedListCheck()
Definition: RGContourListEdit.cpp:475
virtual void SelectContourButton()
Definition: RGContourListEdit.cpp:711
string file_dir
Nom du répertoire.
Definition: RGContourListEdit.hh:54
GObject(RGContourListEdit)
virtual void LoadListButton()
Definition: RGContourListEdit.cpp:974
TGTextButton * w_gcl_ct_button_ok
Bouton de validation du contour.
Definition: RGContourListEdit.hh:65
virtual void ClearDisplayTable()
Definition: RGContourListEdit.cpp:530
virtual void ShowListButton()
Definition: RGContourListEdit.cpp:841
virtual void RedrawContours(const bool recreate=true)
Definition: RGContourListEdit.cpp:604
virtual void AppendListButton()
Definition: RGContourListEdit.cpp:1058
virtual void SetOptions(const string &opts="")
Definition: RGContourListEdit.cpp:346
RContourList * contour_list
Pointeur sur la liste de contours à éditer.
Definition: RGContourListEdit.hh:44
virtual void UpdateContourButton()
Definition: RGContourListEdit.cpp:767
string file_base
Nom de base du fichier.
Definition: RGContourListEdit.hh:53
virtual void ResetContourButton()
Definition: RGContourListEdit.cpp:821
virtual void SetModifiedList(const bool status=true)
Definition: RGContourListEdit.icc:17
virtual ~RGContourListEdit()
Definition: RGContourListEdit.cpp:86
virtual void DeleteContourButton()
Definition: RGContourListEdit.cpp:759
virtual void UpdateWidgetsState()
Definition: RGContourListEdit.cpp:392
virtual void SetModified(const bool status=true)
Definition: RGContourListEdit.icc:11
static string no_name
Default contour name.
Definition: RGContourListEdit.hh:43
TAttLine ls_att
Attributs graphiques des lignes du contour édité
Definition: RGContourListEdit.hh:57
TGTextButton * w_gcl_ls_button_save
Bouton d&#39;écriture d&#39;un fichier.
Definition: RGContourListEdit.hh:72
TGTextButton * w_gcl_ct_button_delete
Bouton de suppression du contour édité
Definition: RGContourListEdit.hh:64
TGTextButton * w_gcl_ls_button_delete
Bouton de suppression de contours.
Definition: RGContourListEdit.hh:69
Definition: RGContourListEdit.hh:28
TGTextButton * w_gcl_ct_button_select
Bouton de selection du contour.
Definition: RGContourListEdit.hh:62
TGHorizontalFrame * w_gcl_ct_button_hframe
Ligne des boutons du contour.
Definition: RGContourListEdit.hh:61
Definition: RContour.hh:25