Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RBrowser Class Reference

Web-based ROOT files and objects browser.

Definition at line 27 of file RBrowser.hxx.

Public Member Functions

 RBrowser (bool use_rcanvas=false)
 constructor
 
virtual ~RBrowser ()
 destructor
 
bool ActivateWidget (const std::string &title, const std::string &kind="")
 Activate widget in RBrowser One should specify title and (optionally) kind of widget like "tcanvas" or "geom".
 
void AddRCanvas ()
 
void AddTCanvas ()
 
void ClearOnClose (const std::shared_ptr< void > &handle)
 Set handle which will be cleared when connection is closed.
 
bool GetCatchWindowShow () const
 Is RWebWindow::Show calls catched for embeding of created widgets.
 
bool GetUseRCanvas () const
 
std::string GetWindowUrl (bool remote)
 Return URL parameter for the window showing ROOT Browser See ROOT::RWebWindow::GetUrl docu for more details.
 
void Hide ()
 hide Browser
 
void SetCatchWindowShow (bool on=true)
 Enable/disable catch of RWebWindow::Show calls to embed created widgets, default on.
 
void SetUseRCanvas (bool on=true)
 
void SetWorkingPath (const std::string &path)
 Set working path in the browser.
 
void Show (const RWebDisplayArgs &args="", bool always_start_new_browser=false)
 show Browser in specified place
 

Protected Member Functions

std::shared_ptr< RBrowserWidgetAddCatchedWidget (RWebWindow *win, const std::string &kind)
 Add widget catched from external scripts.
 
void AddInitWidget (const std::string &kind)
 Create new widget and send init message to the client.
 
std::shared_ptr< RBrowserWidgetAddWidget (const std::string &kind)
 Creates new widget.
 
void CheckWidgtesModified (unsigned connid)
 Check if any widget was modified and update if necessary.
 
void CloseTab (const std::string &name)
 Close and delete specified widget.
 
std::shared_ptr< RBrowserWidgetFindWidget (const std::string &name, const std::string &kind="") const
 Find widget by name or kind.
 
std::shared_ptr< RBrowserWidgetGetActiveWidget () const
 
std::string GetCurrentWorkingDirectory ()
 Return the current directory of ROOT.
 
std::vector< std::string > GetRootHistory ()
 Get content of history file.
 
std::vector< std::string > GetRootLogs ()
 Get content of log file.
 
std::string NewWidgetMsg (std::shared_ptr< RBrowserWidget > &widget)
 Create message which send to client to create new widget.
 
std::string ProcessBrowserRequest (const std::string &msg)
 Process browser request.
 
std::string ProcessDblClick (unsigned connid, std::vector< std::string > &args)
 Process dbl click on browser item.
 
void ProcessMsg (unsigned connid, const std::string &arg)
 Process received message from the client.
 
void ProcessPostponedRequests ()
 Process postponed requests - decouple from websocket handling Only requests which can take longer time should be postponed.
 
void ProcessRunMacro (const std::string &file_path)
 Process run macro command in the editor.
 
void ProcessSaveFile (const std::string &fname, const std::string &content)
 Process file save command in the editor.
 
void SendInitMsg (unsigned connid)
 Process client connect.
 
void SendProgress (unsigned connid, float progr)
 Send generic progress message to the web window Should show progress bar on client side.
 

Protected Attributes

std::string fActiveWidgetName
 ! name of active widget
 
RBrowserData fBrowsable
 ! central browsing element
 
bool fCatchWindowShow {true}
 ! if arbitrary RWebWindow::Show calls should be catched by browser
 
unsigned fConnId {0}
 ! default connection id
 
float fLastProgressSend {0}
 ! last value of send progress
 
long long fLastProgressSendTm {0}
 ! time when last progress message was send
 
std::vector< std::vector< std::string > > fPostponed
 ! postponed messages, handled in timer
 
std::string fPromptFileOutput
 ! file name for prompt output
 
std::unique_ptr< RBrowserTimerfTimer
 ! timer to handle postponed requests
 
std::string fTitle
 ! title
 
bool fUseRCanvas {false}
 ! which canvas should be used
 
std::shared_ptr< RWebWindowfWebWindow
 ! web window to browser
 
int fWidgetCnt {0}
 ! counter for created widgets
 
std::vector< std::shared_ptr< RBrowserWidget > > fWidgets
 ! all browser widgets
 

Friends

class RBrowserTimer
 

#include <ROOT/RBrowser.hxx>

Constructor & Destructor Documentation

◆ RBrowser()

RBrowser::RBrowser ( bool  use_rcanvas = false)

constructor

Definition at line 277 of file RBrowser.cxx.

◆ ~RBrowser()

RBrowser::~RBrowser ( )
virtual

destructor

Definition at line 352 of file RBrowser.cxx.

Member Function Documentation

◆ ActivateWidget()

bool RBrowser::ActivateWidget ( const std::string &  title,
const std::string &  kind = "" 
)

Activate widget in RBrowser One should specify title and (optionally) kind of widget like "tcanvas" or "geom".

Definition at line 975 of file RBrowser.cxx.

◆ AddCatchedWidget()

std::shared_ptr< RBrowserWidget > RBrowser::AddCatchedWidget ( RWebWindow win,
const std::string &  kind 
)
protected

Add widget catched from external scripts.

Definition at line 587 of file RBrowser.cxx.

◆ AddInitWidget()

void RBrowser::AddInitWidget ( const std::string &  kind)
protected

Create new widget and send init message to the client.

Definition at line 606 of file RBrowser.cxx.

◆ AddRCanvas()

void ROOT::RBrowser::AddRCanvas ( )
inline

Definition at line 86 of file RBrowser.hxx.

◆ AddTCanvas()

void ROOT::RBrowser::AddTCanvas ( )
inline

Definition at line 85 of file RBrowser.hxx.

◆ AddWidget()

std::shared_ptr< RBrowserWidget > RBrowser::AddWidget ( const std::string &  kind)
protected

Creates new widget.

Definition at line 555 of file RBrowser.cxx.

◆ CheckWidgtesModified()

void RBrowser::CheckWidgtesModified ( unsigned  connid)
protected

Check if any widget was modified and update if necessary.

Definition at line 766 of file RBrowser.cxx.

◆ ClearOnClose()

void RBrowser::ClearOnClose ( const std::shared_ptr< void > &  handle)

Set handle which will be cleared when connection is closed.

Definition at line 1001 of file RBrowser.cxx.

◆ CloseTab()

void RBrowser::CloseTab ( const std::string &  name)
protected

Close and delete specified widget.

Definition at line 632 of file RBrowser.cxx.

◆ FindWidget()

std::shared_ptr< RBrowserWidget > RBrowser::FindWidget ( const std::string &  name,
const std::string &  kind = "" 
) const
protected

Find widget by name or kind.

Definition at line 616 of file RBrowser.cxx.

◆ GetActiveWidget()

std::shared_ptr< RBrowserWidget > ROOT::RBrowser::GetActiveWidget ( ) const
inlineprotected

Definition at line 54 of file RBrowser.hxx.

◆ GetCatchWindowShow()

bool ROOT::RBrowser::GetCatchWindowShow ( ) const
inline

Is RWebWindow::Show calls catched for embeding of created widgets.

Definition at line 102 of file RBrowser.hxx.

◆ GetCurrentWorkingDirectory()

std::string RBrowser::GetCurrentWorkingDirectory ( )
protected

Return the current directory of ROOT.

Definition at line 748 of file RBrowser.cxx.

◆ GetRootHistory()

std::vector< std::string > RBrowser::GetRootHistory ( )
protected

Get content of history file.

Definition at line 645 of file RBrowser.cxx.

◆ GetRootLogs()

std::vector< std::string > RBrowser::GetRootLogs ( )
protected

Get content of log file.

Definition at line 668 of file RBrowser.cxx.

◆ GetUseRCanvas()

bool ROOT::RBrowser::GetUseRCanvas ( ) const
inline

Definition at line 82 of file RBrowser.hxx.

◆ GetWindowUrl()

std::string RBrowser::GetWindowUrl ( bool  remote)

Return URL parameter for the window showing ROOT Browser See ROOT::RWebWindow::GetUrl docu for more details.

Definition at line 543 of file RBrowser.cxx.

◆ Hide()

void RBrowser::Hide ( )

hide Browser

Hide ROOT Browser.

Definition at line 533 of file RBrowser.cxx.

◆ NewWidgetMsg()

std::string RBrowser::NewWidgetMsg ( std::shared_ptr< RBrowserWidget > &  widget)
protected

Create message which send to client to create new widget.

Definition at line 756 of file RBrowser.cxx.

◆ ProcessBrowserRequest()

std::string RBrowser::ProcessBrowserRequest ( const std::string &  msg)
protected

Process browser request.

Definition at line 363 of file RBrowser.cxx.

◆ ProcessDblClick()

std::string RBrowser::ProcessDblClick ( unsigned  connid,
std::vector< std::string > &  args 
)
protected

Process dbl click on browser item.

Definition at line 412 of file RBrowser.cxx.

◆ ProcessMsg()

void RBrowser::ProcessMsg ( unsigned  connid,
const std::string &  arg 
)
protected

Process received message from the client.

Definition at line 815 of file RBrowser.cxx.

◆ ProcessPostponedRequests()

void RBrowser::ProcessPostponedRequests ( )
protected

Process postponed requests - decouple from websocket handling Only requests which can take longer time should be postponed.

Definition at line 788 of file RBrowser.cxx.

◆ ProcessRunMacro()

void RBrowser::ProcessRunMacro ( const std::string &  file_path)
protected

Process run macro command in the editor.

Definition at line 398 of file RBrowser.cxx.

◆ ProcessSaveFile()

void RBrowser::ProcessSaveFile ( const std::string &  fname,
const std::string &  content 
)
protected

Process file save command in the editor.

Definition at line 387 of file RBrowser.cxx.

◆ SendInitMsg()

void RBrowser::SendInitMsg ( unsigned  connid)
protected

Process client connect.

Definition at line 686 of file RBrowser.cxx.

◆ SendProgress()

void RBrowser::SendProgress ( unsigned  connid,
float  progr 
)
protected

Send generic progress message to the web window Should show progress bar on client side.

Definition at line 729 of file RBrowser.cxx.

◆ SetCatchWindowShow()

void ROOT::RBrowser::SetCatchWindowShow ( bool  on = true)
inline

Enable/disable catch of RWebWindow::Show calls to embed created widgets, default on.

Definition at line 99 of file RBrowser.hxx.

◆ SetUseRCanvas()

void ROOT::RBrowser::SetUseRCanvas ( bool  on = true)
inline

Definition at line 83 of file RBrowser.hxx.

◆ SetWorkingPath()

void RBrowser::SetWorkingPath ( const std::string &  path)

Set working path in the browser.

Definition at line 960 of file RBrowser.cxx.

◆ Show()

void RBrowser::Show ( const RWebDisplayArgs args = "",
bool  always_start_new_browser = false 
)

show Browser in specified place

Show or update RBrowser in web window If web window already started - just refresh it like "reload" button does If no web window exists or.

Parameters
always_start_new_browserconfigured, starts new window
argsdisplay arguments

Definition at line 521 of file RBrowser.cxx.

Friends And Related Symbol Documentation

◆ RBrowserTimer

friend class RBrowserTimer
friend

Definition at line 29 of file RBrowser.hxx.

Member Data Documentation

◆ fActiveWidgetName

std::string ROOT::RBrowser::fActiveWidgetName
protected

! name of active widget

Definition at line 38 of file RBrowser.hxx.

◆ fBrowsable

RBrowserData ROOT::RBrowser::fBrowsable
protected

! central browsing element

Definition at line 47 of file RBrowser.hxx.

◆ fCatchWindowShow

bool ROOT::RBrowser::fCatchWindowShow {true}
protected

! if arbitrary RWebWindow::Show calls should be catched by browser

Definition at line 37 of file RBrowser.hxx.

◆ fConnId

unsigned ROOT::RBrowser::fConnId {0}
protected

! default connection id

Definition at line 34 of file RBrowser.hxx.

◆ fLastProgressSend

float ROOT::RBrowser::fLastProgressSend {0}
protected

! last value of send progress

Definition at line 42 of file RBrowser.hxx.

◆ fLastProgressSendTm

long long ROOT::RBrowser::fLastProgressSendTm {0}
protected

! time when last progress message was send

Definition at line 43 of file RBrowser.hxx.

◆ fPostponed

std::vector<std::vector<std::string> > ROOT::RBrowser::fPostponed
protected

! postponed messages, handled in timer

Definition at line 49 of file RBrowser.hxx.

◆ fPromptFileOutput

std::string ROOT::RBrowser::fPromptFileOutput
protected

! file name for prompt output

Definition at line 41 of file RBrowser.hxx.

◆ fTimer

std::unique_ptr<RBrowserTimer> ROOT::RBrowser::fTimer
protected

! timer to handle postponed requests

Definition at line 48 of file RBrowser.hxx.

◆ fTitle

std::string ROOT::RBrowser::fTitle
protected

! title

Definition at line 33 of file RBrowser.hxx.

◆ fUseRCanvas

bool ROOT::RBrowser::fUseRCanvas {false}
protected

! which canvas should be used

Definition at line 36 of file RBrowser.hxx.

◆ fWebWindow

std::shared_ptr<RWebWindow> ROOT::RBrowser::fWebWindow
protected

! web window to browser

Definition at line 45 of file RBrowser.hxx.

◆ fWidgetCnt

int ROOT::RBrowser::fWidgetCnt {0}
protected

! counter for created widgets

Definition at line 40 of file RBrowser.hxx.

◆ fWidgets

std::vector<std::shared_ptr<RBrowserWidget> > ROOT::RBrowser::fWidgets
protected

! all browser widgets

Definition at line 39 of file RBrowser.hxx.

Libraries for ROOT::RBrowser:

The documentation for this class was generated from the following files: