Skip to content
Jonas Schwabe edited this page Jan 6, 2016 · 3 revisions

Application Class

  • We need an application class which has to be a child of TAppplication
  • We need to set neccessary values in gSystem (e.g. gSystem->SetProgname( "node" ); which is the only thing pyroot does).
  • We need to set gBenchmark and gStyle most liekly to instances of TBenchmark and TStyle.
  • Maybe we need an exception handler that forwards Root exceptions to node.js

#Global variables gROOT->GetListOfGlobals(kTRUE); returns a TCollection of TGlobal with all global vars. What we need to do is find the correct global, maybe by comparing it's name (TGlobal::GetName).

Depending on the type (TGlobal::GetTypeName or TGlobal::GetFullTypeName) we need to decide what to do next. Scalar datatypes like ints chars or even strings (when the address points to a cstring) should be pretty easy to handle, TGlobal::GetAddress is a void pointer to the data.

#UI Thread gSystem->ProcessEvents(); needs to be called frequently when GUIs are on screen. This should be called in a loop when a GUI is requested via the ApplicationClass

Clone this wiki locally