FEDRA emulsion software from the OPERA Collaboration
EdbEDAListTab Class Reference

#include <EdbEDATabs.h>

Public Member Functions

 EdbEDAListTab ()
 
void MakeGUI ()
 
void ReadSelectedList ()
 
void ReviceFileList ()
 
void WriteListFile ()
 

Private Attributes

TGCheckButton * fCheck_list_clear_previous
 
TGTextEditor * fListFileEditor
 
TGListBox * fListFiles
 
TGListBox * fListFilesOpened
 

Constructor & Destructor Documentation

◆ EdbEDAListTab()

EdbEDAListTab::EdbEDAListTab ( )
inline
20 {MakeGUI();}
void MakeGUI()
Definition: EdbEDATabs.C:67

Member Function Documentation

◆ MakeGUI()

void EdbEDAListTab::MakeGUI ( )
67  {
68  // Create minimal GUI for event navigation.
69 
70  TEveBrowser* browser = gEve->GetBrowser();
71  browser->StartEmbedding(TRootBrowser::kLeft);
72 
73  TGMainFrame* frmMain = new TGMainFrame(gClient->GetRoot(), 1000, 600);
74  frmMain->SetWindowName("XX GUI");
75  frmMain->SetCleanup(kDeepCleanup);
76  frmMain->SetLayoutBroken(kTRUE);
77  int posy=5;
78  TGLabel *fLabel = new TGLabel(frmMain,"List files");
79  fLabel->MoveResize(5,posy,60,20);
80 
81  posy+=20;
82  TGTextButton *fb = new TGTextButton(frmMain,"Update");
83  fb->Connect("Clicked()", "EdbEDAListTab", this, "ReviceFileList()");
84  fb->MoveResize(5,posy,50,20);
85  //SetCommand("revice_file_list(); fListFiles->MoveResize(5,50,230,150);");
86 
87  fb = new TGTextButton(frmMain,"Read");
88  fb->Connect("Clicked()", "EdbEDAListTab", this, "ReadSelectedList()");
89  fb->MoveResize(60,posy,60,20);
90  //fb->SetCommand("read_selected_list(); fListFilesOpened->MoveResize(5,230,230,80);");
91 
92  fCheck_list_clear_previous = new TGCheckButton(frmMain,"Clear previous");
93  fCheck_list_clear_previous->MoveResize(125, posy, 105,20);
94  fCheck_list_clear_previous->SetState(kButtonDown);
95 
96 
97  posy+=25;
98  int dy=100;
99  //printf("%d %d\n", posy,dy);
100  // list box
101  fListFiles = new TGListBox(frmMain);
102  frmMain->AddFrame(fListFiles);
103  fListFiles->MoveResize(5,posy,230,dy);
104  ReviceFileList();
105 
106  posy+=dy+10;
107  dy =10;
108  fLabel = new TGLabel(frmMain,"Opened list");
109  fLabel->MoveResize(5,posy,70,dy);
110 
111  //printf("%d %d\n", posy,dy);
112  posy+=dy;
113  dy =60;
114  fListFilesOpened = new TGListBox(frmMain);
115  frmMain->AddFrame(fListFilesOpened);
116  fListFilesOpened->MoveResize(5,posy,230,dy);
117 
118  posy+=dy+5;
119  dy =20;
120 
121  fb = new TGTextButton(frmMain,"Save current track list");
122  //fb->SetCommand("write_list()");
123  fb->Connect("Clicked()", "EdbEDAListTab", this, "WriteListFile()");
124  fb->MoveResize(100,posy,130, dy);
125 
126  posy+=dy+10;
127  dy =370;
128  fListFileEditor = new TGTextEditor((const char *)NULL,frmMain);
129  frmMain->AddFrame(fListFileEditor);
130  fListFileEditor->MoveResize(5,posy,230,dy);
131 
132  frmMain->MapSubwindows();
133  frmMain->Resize();
134  frmMain->MapWindow();
135 
136  browser->StopEmbedding();
137  browser->SetTabTitle("Lists", 0);
138 }
TGListBox * fListFilesOpened
Definition: EdbEDATabs.h:14
TGTextEditor * fListFileEditor
Definition: EdbEDATabs.h:15
TGListBox * fListFiles
Definition: EdbEDATabs.h:13
TGCheckButton * fCheck_list_clear_previous
Definition: EdbEDATabs.h:16
void ReviceFileList()
Definition: EdbEDATabs.C:26
#define NULL
Definition: nidaqmx.h:84

◆ ReadSelectedList()

void EdbEDAListTab::ReadSelectedList ( )
43  {
46 
47  TGLBEntry *e = fListFiles->GetSelectedEntry();
48  if(NULL==e) { printf("Please select list file.\n"); return;}
49  printf("list file selected %d %s\n",fListFiles->GetSelected(), e->GetTitle());
50 
51  fListFileEditor->LoadFile(const_cast<char*> (e->GetTitle()));
52 
53  int clear_previous = fCheck_list_clear_previous->GetState()==kButtonDown ? 1 : 0;
54 
55  if(clear_previous) {
56  set->ClearTracks();
57  fListFilesOpened->RemoveAll();
58  }
59 
60  gEDA->GetMainTab()->ReadListFile(const_cast<char*> (e->GetTitle()), clear_previous);
61 
62  fListFilesOpened->AddEntry(e->GetTitle(),0);
63  fListFilesOpened->MoveResize(fListFilesOpened->GetX(), fListFilesOpened->GetY(), fListFilesOpened->GetWidth(), fListFilesOpened->GetHeight());
64  gEDA->Redraw();
65 }
EdbEDA * gEDA
Definition: EdbEDA.C:3
void ReadListFile(const char *filename=NULL, bool clear_previous=kFALSE)
Definition: EdbEDAMainTab.C:1177
Definition: EdbEDATrackSet.h:178
void Redraw()
Definition: EdbEDA.h:680
EdbEDAMainTab * GetMainTab()
Definition: EdbEDA.h:724
void StorePrevious()
Definition: EdbEDA.h:689
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
EdbScanSet * set
Definition: emtraceback.cpp:14

◆ ReviceFileList()

void EdbEDAListTab::ReviceFileList ( )
26  {
27  fListFiles->RemoveAll();
28  void *dir = gSystem->OpenDirectory(".");
29  const char *filename;
30  int i=0;
31  while ((filename = gSystem->GetDirEntry(dir))){
32  TString s = filename;
33  if(s.Contains(".lst")){
34  if(s.Contains("lnk")==0){
35  //printf("%s %d\n",filename,i);
36  fListFiles->AddEntry(filename,i++);
37  }}
38  }
39  gSystem->FreeDirectory(dir);
40  fListFiles->MoveResize(fListFiles->GetX(), fListFiles->GetY(), fListFiles->GetWidth(), fListFiles->GetHeight());
41 }
string filename
Definition: emthickness.cpp:34
EdbSegP * s
Definition: tlg2pattern.C:32

◆ WriteListFile()

void EdbEDAListTab::WriteListFile ( )

Member Data Documentation

◆ fCheck_list_clear_previous

TGCheckButton* EdbEDAListTab::fCheck_list_clear_previous
private

◆ fListFileEditor

TGTextEditor* EdbEDAListTab::fListFileEditor
private

◆ fListFiles

TGListBox* EdbEDAListTab::fListFiles
private

◆ fListFilesOpened

TGListBox* EdbEDAListTab::fListFilesOpened
private

The documentation for this class was generated from the following files: