ROOT logo
#ifndef ALIMUONMCHVIEWAPPLICATION_H
#define ALIMUONMCHVIEWAPPLICATION_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup graphics
/// \class AliMUONMchViewApplication
/// \brief Main class for the mchview program
///
// Author Laurent Aphecetche, Subatech

#ifndef ROOT_TRint
#   include <TRint.h>
#endif

class TList;
class TDirectory;
class TGMainFrame;
class AliMUONPainterMatrix;
class TGTab;

class AliMUONMchViewApplication : public TRint
{
public:
  AliMUONMchViewApplication(const char* name, int* argc, char** argv, 
                            UInt_t w=0, UInt_t h=0, UInt_t ox=0, UInt_t oy=0);
  virtual ~AliMUONMchViewApplication();

  void HandleMenu(Int_t i);

  /// Return the version number of the mchview application
  static const char* Version() { return "1.15"; }
  
  /// Return the SVN revision  and version number of the mchview application
  static const char* FullVersion() { return Form("mchview Version %s ($Id$)",Version()); }
  
  void Open(const char* filename);

private:
  /// Not implemented
  AliMUONMchViewApplication(const AliMUONMchViewApplication& rhs);
  /// Not implemented
  AliMUONMchViewApplication& operator=(const AliMUONMchViewApplication& rhs);
  
  void CompareData();  
  void CompareAlignments();
  void CreateMenuBar(UInt_t w);
  void Save();
  void Save(const char* filename);
  void Open();
  void PrintAs();
  void ReleaseNotes();
  void ReadDir(TDirectory& dir);
	AliMUONPainterMatrix* GenerateStartupMatrix();

private:
  TGMainFrame* fMainFrame; ///< pointer to our mainframe
  TList* fPainterMasterFrameList; ///< list of painterMasterFrame objects
  TGTab* fTabs; ///< our tabs
  
  static const Int_t fgkFILESAVEAS; ///< File/Save As... menu
  static const Int_t fgkFILEOPEN; ///< File/Open... menu
  static const Int_t fgkFILEEXIT; ///< File/Exit menu
  static const Int_t fgkFILEPRINTAS; ///< File/Print As... menu
  static const Int_t fgkABOUT; ///< About menu
  static const Int_t fgkCOMPAREDATA; ///< Tools/Compare Data menu
  static const Int_t fgkCOMPAREALIGNMENTS; ///< Tools/Compare Alignments menu
  
  static const char* fgkFileTypes[]; ///< For the open menu
  
  ClassDef(AliMUONMchViewApplication,5) // mchview application
};

#endif
 AliMUONMchViewApplication.h:1
 AliMUONMchViewApplication.h:2
 AliMUONMchViewApplication.h:3
 AliMUONMchViewApplication.h:4
 AliMUONMchViewApplication.h:5
 AliMUONMchViewApplication.h:6
 AliMUONMchViewApplication.h:7
 AliMUONMchViewApplication.h:8
 AliMUONMchViewApplication.h:9
 AliMUONMchViewApplication.h:10
 AliMUONMchViewApplication.h:11
 AliMUONMchViewApplication.h:12
 AliMUONMchViewApplication.h:13
 AliMUONMchViewApplication.h:14
 AliMUONMchViewApplication.h:15
 AliMUONMchViewApplication.h:16
 AliMUONMchViewApplication.h:17
 AliMUONMchViewApplication.h:18
 AliMUONMchViewApplication.h:19
 AliMUONMchViewApplication.h:20
 AliMUONMchViewApplication.h:21
 AliMUONMchViewApplication.h:22
 AliMUONMchViewApplication.h:23
 AliMUONMchViewApplication.h:24
 AliMUONMchViewApplication.h:25
 AliMUONMchViewApplication.h:26
 AliMUONMchViewApplication.h:27
 AliMUONMchViewApplication.h:28
 AliMUONMchViewApplication.h:29
 AliMUONMchViewApplication.h:30
 AliMUONMchViewApplication.h:31
 AliMUONMchViewApplication.h:32
 AliMUONMchViewApplication.h:33
 AliMUONMchViewApplication.h:34
 AliMUONMchViewApplication.h:35
 AliMUONMchViewApplication.h:36
 AliMUONMchViewApplication.h:37
 AliMUONMchViewApplication.h:38
 AliMUONMchViewApplication.h:39
 AliMUONMchViewApplication.h:40
 AliMUONMchViewApplication.h:41
 AliMUONMchViewApplication.h:42
 AliMUONMchViewApplication.h:43
 AliMUONMchViewApplication.h:44
 AliMUONMchViewApplication.h:45
 AliMUONMchViewApplication.h:46
 AliMUONMchViewApplication.h:47
 AliMUONMchViewApplication.h:48
 AliMUONMchViewApplication.h:49
 AliMUONMchViewApplication.h:50
 AliMUONMchViewApplication.h:51
 AliMUONMchViewApplication.h:52
 AliMUONMchViewApplication.h:53
 AliMUONMchViewApplication.h:54
 AliMUONMchViewApplication.h:55
 AliMUONMchViewApplication.h:56
 AliMUONMchViewApplication.h:57
 AliMUONMchViewApplication.h:58
 AliMUONMchViewApplication.h:59
 AliMUONMchViewApplication.h:60
 AliMUONMchViewApplication.h:61
 AliMUONMchViewApplication.h:62
 AliMUONMchViewApplication.h:63
 AliMUONMchViewApplication.h:64
 AliMUONMchViewApplication.h:65
 AliMUONMchViewApplication.h:66
 AliMUONMchViewApplication.h:67
 AliMUONMchViewApplication.h:68
 AliMUONMchViewApplication.h:69
 AliMUONMchViewApplication.h:70
 AliMUONMchViewApplication.h:71
 AliMUONMchViewApplication.h:72
 AliMUONMchViewApplication.h:73
 AliMUONMchViewApplication.h:74
 AliMUONMchViewApplication.h:75
 AliMUONMchViewApplication.h:76
 AliMUONMchViewApplication.h:77