ROOT logo
// @(#)root/eve:$Id$
// Author: Matevz Tadel 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#include "AliEveMacro.h"

//______________________________________________________________________________
//
// Member fSources is a bitfield, but we do not have a widget
// that can show/edit this (a combo-box with a check-box for each
// entry). So ... use a single value for now,

ClassImp(AliEveMacro)

//______________________________________________________________________________
AliEveMacro::AliEveMacro(Int_t src, const TString& tags, const TString& mac,
			 const TString& foo, const TString& args, Bool_t act) :
  TObject(),
  fSources(src), fTags(tags), fMacro (mac),
  fFunc   (foo), fArgs(args), fActive(act),
  fExecStatus(kNotRun), fExecExcString(), fExecResult(0)
{
  // Constructor.
}

/******************************************************************************/

void AliEveMacro::ResetExecState()
{
  // Reset exec variables into state as if the macro has not been run.

  fExecStatus      = kNotRun;
  fExecExcString = "";
  fExecResult      = 0;
}

void AliEveMacro::SetExecNoData()
{
  // Set last execution state to 'NoData'.

  fExecStatus = kNoData;
}


void AliEveMacro::SetExecOK(TEveElement* result)
{
  // Set last execution state to 'OK' and register result.

  fExecStatus = kOK;
  fExecResult = result;
}


void AliEveMacro::SetExecException(const TString& exception)
{
  // Set last execution state to 'Exception' and store the exception string.

  fExecStatus    = kException;
  fExecExcString = exception;
}

void AliEveMacro::SetExecError()
{
  // Set last execution state to 'Error'.

  fExecStatus = kError;
}

/******************************************************************************/

TString AliEveMacro::FormForExec() const
{
  // Return string suitable for execution.

  return fFunc + "(" + fArgs + ");";
}

TString AliEveMacro::FormForDisplay() const
{
  // Return string suitable for display.

  return TString::Format
    (" %c %-22s  %-30s  %-30s  %-s", fActive ? 'x' : ' ',
     fMacro.Data(), fFunc.Data(), fArgs.Data(), fTags.Data());
}
 AliEveMacro.cxx:1
 AliEveMacro.cxx:2
 AliEveMacro.cxx:3
 AliEveMacro.cxx:4
 AliEveMacro.cxx:5
 AliEveMacro.cxx:6
 AliEveMacro.cxx:7
 AliEveMacro.cxx:8
 AliEveMacro.cxx:9
 AliEveMacro.cxx:10
 AliEveMacro.cxx:11
 AliEveMacro.cxx:12
 AliEveMacro.cxx:13
 AliEveMacro.cxx:14
 AliEveMacro.cxx:15
 AliEveMacro.cxx:16
 AliEveMacro.cxx:17
 AliEveMacro.cxx:18
 AliEveMacro.cxx:19
 AliEveMacro.cxx:20
 AliEveMacro.cxx:21
 AliEveMacro.cxx:22
 AliEveMacro.cxx:23
 AliEveMacro.cxx:24
 AliEveMacro.cxx:25
 AliEveMacro.cxx:26
 AliEveMacro.cxx:27
 AliEveMacro.cxx:28
 AliEveMacro.cxx:29
 AliEveMacro.cxx:30
 AliEveMacro.cxx:31
 AliEveMacro.cxx:32
 AliEveMacro.cxx:33
 AliEveMacro.cxx:34
 AliEveMacro.cxx:35
 AliEveMacro.cxx:36
 AliEveMacro.cxx:37
 AliEveMacro.cxx:38
 AliEveMacro.cxx:39
 AliEveMacro.cxx:40
 AliEveMacro.cxx:41
 AliEveMacro.cxx:42
 AliEveMacro.cxx:43
 AliEveMacro.cxx:44
 AliEveMacro.cxx:45
 AliEveMacro.cxx:46
 AliEveMacro.cxx:47
 AliEveMacro.cxx:48
 AliEveMacro.cxx:49
 AliEveMacro.cxx:50
 AliEveMacro.cxx:51
 AliEveMacro.cxx:52
 AliEveMacro.cxx:53
 AliEveMacro.cxx:54
 AliEveMacro.cxx:55
 AliEveMacro.cxx:56
 AliEveMacro.cxx:57
 AliEveMacro.cxx:58
 AliEveMacro.cxx:59
 AliEveMacro.cxx:60
 AliEveMacro.cxx:61
 AliEveMacro.cxx:62
 AliEveMacro.cxx:63
 AliEveMacro.cxx:64
 AliEveMacro.cxx:65
 AliEveMacro.cxx:66
 AliEveMacro.cxx:67
 AliEveMacro.cxx:68
 AliEveMacro.cxx:69
 AliEveMacro.cxx:70
 AliEveMacro.cxx:71
 AliEveMacro.cxx:72
 AliEveMacro.cxx:73
 AliEveMacro.cxx:74
 AliEveMacro.cxx:75
 AliEveMacro.cxx:76
 AliEveMacro.cxx:77
 AliEveMacro.cxx:78
 AliEveMacro.cxx:79
 AliEveMacro.cxx:80
 AliEveMacro.cxx:81
 AliEveMacro.cxx:82
 AliEveMacro.cxx:83
 AliEveMacro.cxx:84
 AliEveMacro.cxx:85
 AliEveMacro.cxx:86
 AliEveMacro.cxx:87
 AliEveMacro.cxx:88
 AliEveMacro.cxx:89
 AliEveMacro.cxx:90