Changeset 2787


Ignore:
Timestamp:
01/13/04 16:29:46 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r2784 r2787  
    7979   * mbase/MLogPlugin.[h,cc], mbase/MLogHtml.[h,cc]:
    8080     - added
     81
     82   * mbase/MStatusDisplay.[h,cc]:
     83     - added a Save-As dialog
    8184
    8285
  • trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc

    r2773 r2787  
    8787#include <TGTextView.h>           // TGTextView
    8888#include <TGStatusBar.h>          // TGStatusBar
     89#include <TGFileDialog.h>         // TGFileDialog
    8990#include <TGProgressBar.h>        // TGHProgressBar
    90 
    9191#include <TRootEmbeddedCanvas.h>  // TRootEmbeddedCanvas
    9292
     
    190190    filemenu->AddEntry("Save As status.&root", kFileSaveAsRoot);
    191191    filemenu->AddSeparator();
     192    filemenu->AddEntry("Save &As...",          kFileSaveAs);
     193    filemenu->AddSeparator();
    192194    filemenu->AddEntry("Re&set",               kFileReset);
    193195    filemenu->AddSeparator();
     
    203205    //
    204206    MGPopupMenu *tabmenu = new MGPopupMenu(gClient->GetRoot());
    205     // tabmenu->AddEntry("Save &As...", kFileSaveAs);
    206207    tabmenu->AddEntry("Next [&+]",           kTabNext);
    207208    tabmenu->AddEntry("Previous [&-]",       kTabPrevious);
     
    211212    tabmenu->AddEntry("Save As tab-i.&C",    kTabSaveAsC);
    212213    tabmenu->AddEntry("Save As tab-i.&root", kTabSaveAsRoot);
     214    tabmenu->AddSeparator();
     215    tabmenu->AddEntry("Save &As...",         kTabSaveAs);
    213216    tabmenu->AddSeparator();
    214217    tabmenu->AddEntry("Re&move",             kTabRemove);
     
    10841087        Reset();
    10851088        return kTRUE;
    1086         /*
    1087     case kFileSave:
    1088         cout << "Save..." << endl;
    1089         return kTRUE;
    10901089
    10911090    case kFileSaveAs:
    1092         cout << "SaveAs..." << endl;
    1093         return kTRUE;
    1094 */
     1091        SaveAs();
     1092        return kTRUE;
     1093
    10951094    case kFileSaveAsPS:
    10961095        SaveAsPS();
     
    11111110    case kFilePrint:
    11121111        PrintToLpr();
     1112        return kTRUE;
     1113
     1114    case kTabSaveAs:
     1115        SaveAs(fTab->GetCurrent());
    11131116        return kTRUE;
    11141117
     
    21382141}
    21392142
     2143// --------------------------------------------------------------------------
     2144//
     2145//  Opens a save as dialog
     2146//
     2147Int_t MStatusDisplay::SaveAs(Int_t num)
     2148{
     2149    static const char *gSaveAsTypes[] =
     2150    {
     2151        "PostScript",   "*.ps",
     2152        // "Encapsulated PostScript", "*.eps",
     2153        "Gif files",    "*.gif",
     2154        "Macro files",  "*.C",
     2155        "ROOT files",   "*.root",
     2156        "All files",    "*",
     2157        NULL,           NULL
     2158    };
     2159
     2160    static TString dir(".");
     2161
     2162    TGFileInfo fi; // fFileName and fIniDir deleted in ~TGFileInfo
     2163
     2164    fi.fFileTypes = (const char**)gSaveAsTypes;
     2165    fi.fIniDir    = StrDup(dir);
     2166
     2167    new TGFileDialog(fClient->GetRoot(), this, kFDSave, &fi);
     2168
     2169    if (!fi.fFilename)
     2170        return 0;
     2171
     2172    dir = fi.fIniDir;
     2173
     2174    const TString name(fi.fFilename);
     2175
     2176    if (name.EndsWith(".root")) return SaveAsRoot(num, name);
     2177    if (name.EndsWith(".ps"))   return SaveAsPS(num, name);
     2178    if (name.EndsWith(".gif"))  return SaveAsGIF(num, name);
     2179    if (name.EndsWith(".C"))    return SaveAsC(num, name);
     2180
     2181    Warning("MStatusDisplay::SaveAs", "Unknown Extension: %s", fi.fFilename);
     2182    return 0;
     2183}
     2184
    21402185Bool_t MStatusDisplay::HandleConfigureNotify(Event_t *evt)
    21412186{
     
    22112256    return rc;
    22122257}
    2213 
    2214 /*
    2215  // --------------------------------------------------------------------------
    2216 //
    2217 //  Opens a save as dialog, and tries to store the canvas
    2218 //  in the given output format
    2219 //
    2220 void MGEvtDisplay::SaveAsDialog() const
    2221 {
    2222     static const char *gSaveAsTypes[] =
    2223     {
    2224         "PostScript",   "*.ps",
    2225         "Encapsulated PostScript", "*.eps",
    2226         "Gif files",    "*.gif",
    2227         "Macro files",  "*.C",
    2228         "ROOT files",   "*.root",
    2229         "All files",    "*",
    2230         NULL,           NULL
    2231     };
    2232 
    2233     static TString dir(".");
    2234 
    2235     TGFileInfo fi; // fFileName and fIniDir deleted in ~TGFileInfo
    2236 
    2237     fi.fFileTypes = (const char**)gSaveAsTypes;
    2238     fi.fIniDir    = StrDup(dir);
    2239 
    2240     new TGFileDialog(fClient->GetRoot(), this, kFDSave, &fi);
    2241 
    2242     if (!fi.fFilename)
    2243         return;
    2244 
    2245     dir = fi.fIniDir;
    2246 
    2247     if (strstr(fi.fFilename, ".root") ||
    2248         strstr(fi.fFilename, ".ps")   ||
    2249         strstr(fi.fFilename, ".eps")  ||
    2250         strstr(fi.fFilename, ".gif"))
    2251     {
    2252         fCanvas->SaveAs(fi.fFilename);
    2253         return;
    2254     }
    2255     if (strstr(fi.fFilename, ".C"))
    2256     {
    2257         fCanvas->SaveSource(fi.fFilename);
    2258         return;
    2259     }
    2260     Warning("SaveAsDialog", "Unknown Extension: %s", fi.fFilename);
    2261 }
    2262 */
  • trunk/MagicSoft/Mars/mbase/MStatusDisplay.h

    r2773 r2787  
    182182     Int_t  PrintToLpr(Int_t num);
    183183
     184     Int_t  SaveAs(Int_t num=-1);
     185
    184186     Status_t CheckStatus() const { return fStatus; }
    185187     void ClearStatus() { fStatus = kLoopNone; }
Note: See TracChangeset for help on using the changeset viewer.