Back Midas Rome Roody Rootana
  Root Display GUI, Page 6 of 7  Not logged in ELOG logo
ID Date Author Topicdown Subject
  23   30 Jul 2003 Greg List of Development Components for MIROODAS
> 2. Improved Fit Panel
> 3. Improved Draw Options Panel
> 5. TCanvas updates
> 6. TTreeViewer updates
> 7. Improve Attributes Panel

What are these "improvements" and "updates"? We cannot plan without good data.

K.O.
  24   14 Aug 2003 Greg  
MAIN GUI
========
Invocation:
TTriumfFileGUI -h 
 ->Displays Usage message
TTriumfFileGUI host
 ->Opens GUI and connects to host on default port 9090
TTriumfFileGUI host:port
 ->Opens GUI and connects to host on port (to be implemented)
TTriumfFileGUI file.root
 ->Opens GUI and opens file.root for browsing
TTriumfFileGUI file.hbook
 ->Opens GUI and opens file.hbook for browsing (to be implemented)
TTriumfFileGUI
 ->Opens GUI

File Menu
 -> Open .root
	Opens file selection dialog to find and open a ROOT file
 -> Open .hbook
	Opens file selection dialog to find and open an HBOOK file
 -> Online
	Opens hostname entry dialog ... Will try and access that host on
        port 9090 (currently using 9090 as default port)
 	If hostname:port, will try and access hostname on proper port 
        (Not Yet Implemented)
 -> Save
	Not Yet Implemented -> Idea:
		Will bring up a save dialog which will allow user to save 
		all opened histograms
 -> Exit
	Closes the program

Refresh Menu
 ->Not Yet Implemented -> Idea: (Radio Buttons)
     ->Stop Refresh
	 Stops the refreshing of online histograms by stopping the TTimer
     ->Refresh 1 sec  \
     ->Refresh 3 sec   |
     ->Refresh 5 sec   |-- Change TTimer time length (and start it)
     ->Refresh 10 sec /

Zones Menu 
  ->Not Yet Implemented -> Idea: (Radio Button)
     ->1x1
     ->1x2
     ->2x1
     ->2x2
     ->3x3
     -> ...
	Each of these will changes force all the new TCanvas() created to be 
	divided into zones
	If double clicked (TGListTree or TGListView) will create new canvas,
        unless option is changed in AddHist to Menu.
        If from context menu -> can overlay in current pad
                             -> can plot in current pad (removes old hist)
                             -> can create new canvas
                             -> can plot in next pad (if last pad ... plot 
                                in first pad)

AddHist to Menu:
  ->Not Yet Implemented -> Idea: (Radio Button)
      -> 4 Options:
	-> plot in new canvas
        -> plot in current pad
        -> plot in next pad
        -> overlay in current pad
      -> Depending on which one is checked the double click functionality 
         will change

Open Files Panel (TGListTree)
  ->Shows open files (offline and online) as well as TH*, TProfile*, TTree ...
  ->Need to add ContextMenus
	ContextMenu (depends on UserData)
	 ->Close Files (remove file from list)
	 ->Plot Options (for histograms) ->see AddHist to menu options
  ->Need to have: when item selected in TGListTree, items in TGListView
    are deselected

Open Histograms Panel (TGListView)
  ->Shows open histograms (i.e. goes over gROOT->GetListOfCanvases())
  ->Need to add ContextMenus
      ->Histogram stuff ->see AddHist to menu options
  ->Need to have: when item selected in TGListView, itesms in TGListTree
    are deselected

Buttons
  ->Not yet Implemented
  ->Refresh (goes over all open histograms)
  ->Banish 
     ->if histogram selected ... removes from associated Pad and 
       deletes from list (in TGListView)
     ->if file is selected in TGListTree ... removes file (may need to close 
       TTreeViewer ... but histograms are made persistent so no need to 
       close)
     ->Save same functionality as the File->Save
  25   14 Aug 2003 Greg Miroodas
MAIN GUI
========
Invocation:
TTriumfFileGUI -h 
 ->Displays Usage message
TTriumfFileGUI host
 ->Opens GUI and connects to host on default port 9090
TTriumfFileGUI host:port
 ->Opens GUI and connects to host on port (to be implemented)
TTriumfFileGUI file.root
 ->Opens GUI and opens file.root for browsing
TTriumfFileGUI file.hbook
 ->Opens GUI and opens file.hbook for browsing (to be implemented)
TTriumfFileGUI
 ->Opens GUI

File Menu
 -> Open .root
	Opens file selection dialog to find and open a ROOT file
 -> Open .hbook
	Opens file selection dialog to find and open an HBOOK file
 -> Online
	Opens hostname entry dialog ... Will try and access that host on
        port 9090 (currently using 9090 as default port)
 	If hostname:port, will try and access hostname on proper port 
        (Not Yet Implemented)
 -> Save
	Not Yet Implemented -> Idea:
		Will bring up a save dialog which will allow user to save 
		all opened histograms
 -> Exit
	Closes the program

Refresh Menu
 ->Not Yet Implemented -> Idea: (Radio Buttons)
     ->Stop Refresh
	 Stops the refreshing of online histograms by stopping the TTimer
     ->Refresh 1 sec  \
     ->Refresh 3 sec   |
     ->Refresh 5 sec   |-- Change TTimer time length (and start it)
     ->Refresh 10 sec /

Zones Menu 
  ->Not Yet Implemented -> Idea: (Radio Button)
     ->1x1
     ->1x2
     ->2x1
     ->2x2
     ->3x3
     -> ...
	Each of these will changes force all the new TCanvas() created to be 
	divided into zones
	If double clicked (TGListTree or TGListView) will create new canvas,
        unless option is changed in AddHist to Menu.
        If from context menu -> can overlay in current pad
                             -> can plot in current pad (removes old hist)
                             -> can create new canvas
                             -> can plot in next pad (if last pad ... plot 
                                in first pad)

AddHist to Menu:
  ->Not Yet Implemented -> Idea: (Radio Button)
      -> 4 Options:
	-> plot in new canvas
        -> plot in current pad
        -> plot in next pad
        -> overlay in current pad
      -> Depending on which one is checked the double click functionality 
         will change

Open Files Panel (TGListTree)
  ->Shows open files (offline and online) as well as TH*, TProfile*, TTree ...
  ->Need to add ContextMenus
	ContextMenu (depends on UserData)
	 ->Close Files (remove file from list)
	 ->Plot Options (for histograms) ->see AddHist to menu options
  ->Need to have: when item selected in TGListTree, items in TGListView
    are deselected

Open Histograms Panel (TGListView)
  ->Shows open histograms (i.e. goes over gROOT->GetListOfCanvases())
  ->Need to add ContextMenus
      ->Histogram stuff ->see AddHist to menu options
  ->Need to have: when item selected in TGListView, itesms in TGListTree
    are deselected

Buttons
  ->Not yet Implemented
  ->Refresh (goes over all open histograms)
  ->Banish 
     ->if histogram selected ... removes from associated Pad and 
       deletes from list (in TGListView)
     ->if file is selected in TGListTree ... removes file (may need to close 
       TTreeViewer ... but histograms are made persistent so no need to 
       close)
     ->Save same functionality as the File->Save
  ->Clear (clears currently selected histogram)
  26   20 Dec 2003 Joe cleanup by Joe
Joe Chuma commited some code cleanup and sundry unknown changes. K.O.
  27   20 Dec 2003 Konstantin remove Greg King from email list
I removed Greg King from the MIROODAS email notification. K.O.
  28   20 Dec 2003 Konstantin Simplify Makefile
I commited a simplification of the Makefile:
- "make" now builds the GUI executable
- removed useless cruft for building the GUI on Solaris, RedHat 4.x, etc
K.O.
  29   20 Dec 2003 Konstantin silence message "No Loaded Online Histograms"
I commited a change to TTriumfFileGUI.cxx to silence the message "No Loaded
Online Histograms". K.O.
  30   20 Dec 2003 Konstantin Fix Chuma's CVS access
Somehow neither Joe nor myself were in the "cvs" group and could not commit
to the miroodas CVS. Fixed by editing root@dasdevpc:/etc/group + NIS reload.
K.O.
  31   01 Jan 2004 Konstantin Implement "Draw in next pad" and ilk
I commited fixes for a few annoying problems:
1) get rid of useless "delete/create TCanvas"
2) make the "zones" actually work
3) implement "draw in new canvas", "draw in current pad", "draw in next pad"
and "overplot in current pad"
4) consolidate all drawing into a single "DrawObject()" function.
K.O.
  32   09 Jan 2004 Joe draw in first pad
Modified TTriumfFileGUI to draw in the first pad when the canvas
is divided into zones.  Also, a few cosmetic changes.
  33   12 Jan 2004 Joe drop down menu changes
Modified TTriumfFileGui.h and .cxx to fix up drop down menus, putting in
check marks to denote which option is currently in effect.  Also, a few more
cosmetic changes.
  34   15 Jan 2004 Joe context menu added, etc.
Added context menu -- single right click on a data item in the upper
TreeView window and a context menu opens on the right, choose where to plot
the item.  This becomes the default plotting location if you later double
click on an item.

Items chosen to plot from upper TreeView window will only appear once in the
lower ListView window (checks name, title, source, and type).

Also, more code clean-up (the "this" pointer was being deleted on exit even
though "this" was created on the stack and not on the heap???).
  35   16 Jan 2004 Joe x-axis zoom with online histograms
If you zoom in on the x-axis for an online histogram, the zoom now remains
in effect when the histogram is refreshed.  Also, the check mark in the
refresh drop-down menu now stays with the proper value.  Y-axis zooming is
also implemented, but commented out for now, since not sure if this is a
good idea for 1D histograms.
  36   19 Jan 2004 Joe context menu for online histograms
implemented context menu when right clicking on an online histogram in the
upper TreeView, also eliminated duplicate entries for online histograms in
the lower ListView.
  37   03 Mar 2004 Joe new tabbed gui
The new tabbed qui has been committed to CVS.  There are still problems, and
bugs, and not all the buttons have been activated.  Work continues.
  38   05 Mar 2004 Joe MIDASviewer update
Committed MainFrame.cxx/.h with a fix for the problem of segmentation faults
while updating online histograms.  The problem was the pointers to the
histograms needed to be changed in the TGLVContainers when the histograms
were deleted and recreated due to being updated.  The main difficulty was
getting a handle on which TGLVEntry matched which histogram, when the
histogram pointers were obtained from the TPad and not the TGLVContainer. 
Anyway, you can now view online histograms without the program crashing.
  39   10 Mar 2004 Joe Peak finding added to MIDASviewer
The peak find panel has been added to MIDASviewer.  Click on the speed
button to open the panel.  Click the Find button to find peaks, and do a fit
if the attempt to fit check box is checked.  Fitting seems slow, but that is
all internal to ROOT.
  40   12 Mar 2004 Joe online groups added to MIDASviewer
Online histograms can now be collected in named groups.  Each group is
displayed in its own TCanvas window, instead of tabs within one window, but
hopefully that will come.  Right now, I see no way to implement TGTab's
within a TCanvas window, but the 8pi viewer does it, so it must be possible.
 A check is done so each group can contain only one instance of a histogram.
  42   31 Mar 2004 Joe latest version of the root viewer gui
The bottom canvas window has been removed.  The superfluous buttons have
been removed.  No response, yet, to my question in the ROOT forums regarding
inserting PeakFind in the pre-defined context menu when right-clicking on a
histogram.
  43   08 Apr 2004 Joe context menu progress with TTriumfFileGUI
PeakFind has been added to the context menu when right clicking on a drawn
histogram.  There are still problems to overcome:  the PeakFind panel needs
to communicate back to the gui that it has been deleted (to overcome a
segmentation violation error when the pointer is deleted a second time);
multiple PeakFind menu items appear when the canvas is split into multiple
pads (even though it is not added if already in the menu???); still no way
found to get a context menu for the folder icons (Files, Online, Groups);
need to figure out a way to let the user choose the active pad, so he/she
can pick any drawn histogram for peak finding (currently it only works with
the latest drawn histogram).  Also, Clear All online histograms has been
added to the main menu (it used to be a button).
ELOG V3.1.4-2e1708b5