Web-based ROOT files and objects browser.
For normal interactive mode, any modern web browser should be able to display it. Chrome or Firefox browsers are though required when running ROOT in batch mode.
Most configuration options for RBrowser, such as default web browser, server mode are not specific to this class, but are rather applied for all web widgets: canvases, geometry viewer, eve7, browser, fit panel, etc.
Following .rootrc
parameters can be configured for the browser:
WebGui.Browser.SortBy: sort by "name", "size", "none" (default "name") WebGui.Browser.Reverse: reverse item order (default off) WebGui.Browser.ShowHidden: show hidden files (default off) WebGui.Browser.LastCycle: show only last key cycle (default off) WebGui.Browser.Expand: expand browsable area (default off)
Definition at line 26 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< RBrowserWidget > | AddCatchedWidget (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< RBrowserWidget > | AddWidget (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< RBrowserWidget > | FindWidget (const std::string &name, const std::string &kind="") const |
Find widget by name or kind. | |
std::shared_ptr< RBrowserWidget > | GetActiveWidget () 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. | |
std::string | ProcessDrop (unsigned connid, std::vector< std::string > &args) |
Process drop of item in the current tab. | |
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< RBrowserTimer > | fTimer |
! timer to handle postponed requests | |
std::string | fTitle |
! title | |
bool | fUseRCanvas {false} |
! which canvas should be used | |
std::shared_ptr< RWebWindow > | fWebWindow |
! 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
Definition at line 286 of file RBrowser.cxx.
|
virtual |
destructor
Definition at line 384 of file RBrowser.cxx.
Activate widget in RBrowser One should specify title and (optionally) kind of widget like "tcanvas" or "geom".
Definition at line 1064 of file RBrowser.cxx.
|
protected |
Add widget catched from external scripts.
Definition at line 642 of file RBrowser.cxx.
|
protected |
Create new widget and send init message to the client.
Definition at line 662 of file RBrowser.cxx.
|
inline |
Definition at line 86 of file RBrowser.hxx.
|
inline |
Definition at line 85 of file RBrowser.hxx.
|
protected |
Creates new widget.
Definition at line 612 of file RBrowser.cxx.
|
protected |
Check if any widget was modified and update if necessary.
Definition at line 828 of file RBrowser.cxx.
void RBrowser::ClearOnClose | ( | const std::shared_ptr< void > & | handle | ) |
Set handle which will be cleared when connection is closed.
Definition at line 1090 of file RBrowser.cxx.
|
protected |
Close and delete specified widget.
Definition at line 688 of file RBrowser.cxx.
|
protected |
Find widget by name or kind.
Definition at line 672 of file RBrowser.cxx.
|
inlineprotected |
Definition at line 53 of file RBrowser.hxx.
|
inline |
Is RWebWindow::Show calls catched for embeding of created widgets.
Definition at line 102 of file RBrowser.hxx.
|
protected |
Return the current directory of ROOT.
Definition at line 810 of file RBrowser.cxx.
|
protected |
Get content of history file.
Definition at line 701 of file RBrowser.cxx.
|
protected |
Get content of log file.
Definition at line 724 of file RBrowser.cxx.
|
inline |
Definition at line 82 of file RBrowser.hxx.
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 600 of file RBrowser.cxx.
void RBrowser::Hide | ( | ) |
|
protected |
Create message which send to client to create new widget.
Definition at line 818 of file RBrowser.cxx.
|
protected |
Process browser request.
Definition at line 396 of file RBrowser.cxx.
|
protected |
Process dbl click on browser item.
Definition at line 445 of file RBrowser.cxx.
|
protected |
Process drop of item in the current tab.
Definition at line 549 of file RBrowser.cxx.
|
protected |
Process received message from the client.
Definition at line 880 of file RBrowser.cxx.
|
protected |
Process postponed requests - decouple from websocket handling Only requests which can take longer time should be postponed.
Definition at line 850 of file RBrowser.cxx.
|
protected |
Process run macro command in the editor.
Definition at line 431 of file RBrowser.cxx.
Process file save command in the editor.
Definition at line 420 of file RBrowser.cxx.
|
protected |
Process client connect.
Definition at line 742 of file RBrowser.cxx.
|
protected |
Send generic progress message to the web window Should show progress bar on client side.
Definition at line 791 of file RBrowser.cxx.
Enable/disable catch of RWebWindow::Show calls to embed created widgets, default on.
Definition at line 99 of file RBrowser.hxx.
Definition at line 83 of file RBrowser.hxx.
void RBrowser::SetWorkingPath | ( | const std::string & | path | ) |
Set working path in the browser.
Definition at line 1049 of file RBrowser.cxx.
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.
always_start_new_browser | configured, starts new window |
args | display arguments |
Definition at line 580 of file RBrowser.cxx.
|
friend |
Definition at line 28 of file RBrowser.hxx.
|
protected |
! name of active widget
Definition at line 37 of file RBrowser.hxx.
|
protected |
! central browsing element
Definition at line 46 of file RBrowser.hxx.
! if arbitrary RWebWindow::Show calls should be catched by browser
Definition at line 36 of file RBrowser.hxx.
|
protected |
! default connection id
Definition at line 33 of file RBrowser.hxx.
|
protected |
! last value of send progress
Definition at line 41 of file RBrowser.hxx.
|
protected |
! time when last progress message was send
Definition at line 42 of file RBrowser.hxx.
|
protected |
! postponed messages, handled in timer
Definition at line 48 of file RBrowser.hxx.
|
protected |
! file name for prompt output
Definition at line 40 of file RBrowser.hxx.
|
protected |
! timer to handle postponed requests
Definition at line 47 of file RBrowser.hxx.
|
protected |
! title
Definition at line 32 of file RBrowser.hxx.
! which canvas should be used
Definition at line 35 of file RBrowser.hxx.
|
protected |
! web window to browser
Definition at line 44 of file RBrowser.hxx.
|
protected |
! counter for created widgets
Definition at line 39 of file RBrowser.hxx.
|
protected |
! all browser widgets
Definition at line 38 of file RBrowser.hxx.