Ignore:
Timestamp:
05/02/03 12:46:43 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mbase
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mbase/MLog.cc

    r2052 r2054  
    8989// check for TObjectWarning, TObject::Info, gErrorIgnoreLevel
    9090
     91const char MLog::kESC = '\033'; // (char)27
     92const char *const MLog::kEsc       = "\033[";
     93const char *const MLog::kReset     = "\033[0m";
     94const char *const MLog::kRed       = "\033[31m";
     95const char *const MLog::kGreen     = "\033[32m";
     96#ifdef HAVE_DARKBACKGROUND
     97const char *const MLog::kYellow    = "\033[33m\033[1m";
     98#else
     99const char *const MLog::kYellow    = "\033[33m";
     100#endif
     101const char *const MLog::kUnderline = "\033[4m";;
     102const char *const MLog::kBlink     = "\033[5m";;
     103const char *const MLog::kBright    = "\033[1m";;
     104const char *const MLog::kDark      = "\033[2m";;
     105
    91106//
    92107// This is the definition of the global log facility
     
    180195}
    181196
     197void MLog::Output(ostream &out, int len)
     198{
     199    if (!TestBit(eNoColors))
     200        switch (fOutputLevel)
     201        {
     202        case 0:  out << MLog::kReset;   break;  // all
     203        case 1:  out << MLog::kRed;     break;  // err
     204        case 2:  out << MLog::kYellow;  break;  // warn
     205        case 3:  out << MLog::kGreen;   break;  // inf
     206        }
     207
     208    // Check for EOL
     209    const Bool_t endline = fBase[len-1]=='\n';
     210    // output text to screen (without trailing '\0' or '\n')
     211    out << TString(fBase, len-1);
     212    // reset colors if working with colors
     213    if (!TestBit(eNoColors))
     214        out << kReset;
     215    // output EOL of check found EOL
     216    if (endline)
     217        out << '\n';
     218    out.flush();
     219}
     220
    182221// --------------------------------------------------------------------------
    183222//
     
    198237
    199238    if (fDevice&eStdout)
    200         cout.write(fBase, len);
     239        Output(cout, len);
    201240
    202241    if (fDevice&eStderr)
    203         cerr.write(fBase, len);
     242        Output(cerr, len);
    204243
    205244    if (fDevice&eFile && fout)
     
    289328
    290329    if (fDevice&eStdout)
     330    {
     331        cout << kReset;
    291332        cout.flush();
     333    }
    292334
    293335    if (fDevice&eStderr)
  • trunk/MagicSoft/Mars/mbase/MLog.h

    r2052 r2054  
    2323{
    2424public:
    25     typedef enum _flags { eStdout = 0x1, eStderr = 0x2, eFile = 0x4, eGui = 0x8 } Flags_t;
     25    typedef enum _flags {
     26        eStdout   = 0x001,
     27        eStderr   = 0x002,
     28        eFile     = 0x004,
     29        eGui      = 0x008,
     30        eNoColors = 0x400  //BIT(15)
     31    } Flags_t;
    2632
    2733private:
     34    static const char kESC;
     35    static const char *const kEsc;
     36    static const char *const kReset;
     37    static const char *const kRed;
     38    static const char *const kGreen;
     39    static const char *const kYellow;
     40    static const char *const kUnderline;
     41    static const char *const kBlink;
     42    static const char *const kBright;
     43    static const char *const kDark;
     44
    2845    char        fBuffer;      //!
    2946    char        fBase[bsz+1]; //! Buffer to store the data in
     
    4663    TString  **fGuiLines;     //! Lines to pipe to gui
    4764    Int_t      fNumLines;     //!
    48 //    Bool_t     fGuiLineFlushed;
    49     TString    fGuiLine;  //!
     65    TString    fGuiLine;      //!
    5066
    5167#ifdef _REENTRANT
     
    6379    void ReallocateFile(const char *f);
    6480    void CheckFlag(Flags_t chk, int flag);
     81    void Output(ostream &out, int len);
    6582
    6683public:
     
    143160    void SetNullOutput(Bool_t n=kTRUE) { fIsNull = n; }
    144161
     162    void SetNoColors(Bool_t flag=kTRUE) { flag ? SetBit(eNoColors) : ResetBit(eNoColors); }
     163
    145164    ClassDef(MLog, 0) // This is what we call 'The logging system'
    146165};
  • trunk/MagicSoft/Mars/mbase/MLogo.cc

    r1337 r2054  
    3232//                                                                          //
    3333//////////////////////////////////////////////////////////////////////////////
     34#ifdef HAVE_XPM
    3435#include "MLogo.h"
    3536
     
    123124                                      mag1, &logo, 0, &attr);
    124125#else
    125 #include "../marslogo_neu.xpm"
     126#include "../marslogo.xpm"
    126127    int ret = XpmCreatePixmapFromData(fDisplay, fLogoWindow,
    127                                       marslogo_neu_xpm, &logo, 0, &attr);
     128                                      marslogo, &logo, 0, &attr);
    128129#endif
    129130    XpmFreeAttributes(&attr);
     
    206207    }
    207208}
     209#endif
  • trunk/MagicSoft/Mars/mbase/MLogo.h

    r1337 r2054  
    11#ifndef MARS_MLogo
    22#define MARS_MLogo
     3
     4#ifdef HAVE_XPM
    35
    46#ifndef __CINT__
     
    3133};
    3234
    33 #endif
    34 
    35 #endif
     35#endif // __CINT__
     36#endif // HAVE_XPM
     37#endif // MARS_MLogo
  • trunk/MagicSoft/Mars/mbase/Makefile

    r1715 r2054  
    5050           MContinue.cc \
    5151           MPrint.cc \
     52           MLogo.cc \
    5253           MLogManip.cc
    5354
Note: See TracChangeset for help on using the changeset viewer.