#include #include #include #include #include "MLog.h" #include "MLogManip.h" #include "MArgs.h" #include "MStatusDisplay.h" using namespace std; static void StartUpMessage() { // 1 2 3 4 5 // 12345678901234567890123456789012345678901234567890 gLog << endl; gLog << "showplot --- Mars V" << MARSVER << " compiled on <" << __DATE__ << "> using ROOT v" << ROOTVER << endl; gLog << endl; } static void Usage() { // 1 2 3 4 5 6 7 8 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 gLog << all << endl; gLog << "Sorry the usage is:" << endl; gLog << " showplot filename" << endl << endl; gLog << "Description:" << endl; gLog << " Use showplot to display a MStatusArray in an MStatusDisplay." << endl; gLog << " MStatusArrays are typically written by programs showing data" << endl; gLog << " check plots, like callisto." << endl; gLog << endl; } int main(int argc, char **argv) { StartUpMessage(); // // Evaluate arguments // MArgs arg(argc, argv); if (arg.HasOnly("-?") || arg.HasOnly("-h") || arg.HasOnly("--help")) { Usage(); return -1; } // // check for the right usage of the program // if (arg.GetNumArguments()!=1) { Usage(); return -1; } const TString kInput = arg.GetArgumentStr(0); TApplication app("Callisto", &argc, argv); if (gROOT->IsBatch() || !gClient) { gLog << "Bombing... maybe your DISPLAY variable is not set correctly!" << endl; return 1; } // // Update frequency by default = 1Hz // MStatusDisplay *d = new MStatusDisplay; // From now on each 'Exit' means: Terminate the application d->SetTitle(kInput); d->Open(kInput); // From now on each 'Close' means: Terminate the application d->SetBit(MStatusDisplay::kExitLoopOnClose); // Wait until the user decides to exit the application app.Run(kFALSE); return 0; }