Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
Definition at line 30 of file RWebDisplayArgs.hxx.
Public Types | |
enum | EBrowserKind { kChrome , kEdge , kSafari , kFirefox , kNative , kCEF , kQt6 , kLocal , kDefault , kServer , kEmbedded , kOff , kOn , kCustom } |
Public Member Functions | |
RWebDisplayArgs () | |
Default constructor. | |
RWebDisplayArgs (const char *browser) | |
Constructor. | |
RWebDisplayArgs (const std::string &browser) | |
Constructor. | |
RWebDisplayArgs (int width, int height, int x=-1, int y=-1, const std::string &browser="") | |
Constructor. | |
RWebDisplayArgs (std::shared_ptr< RWebWindow > master, unsigned conndid=0, int channel=-1) | |
Constructor. | |
virtual | ~RWebDisplayArgs () |
Destructor. | |
void | AppendUrlOpt (const std::string &opt) |
append extra url options, add "&" as separator if required | |
EBrowserKind | GetBrowserKind () const |
returns configured browser kind, see EBrowserKind for supported values | |
std::string | GetBrowserName () const |
Returns configured browser name. | |
std::string | GetCustomExec () const |
returns custom executable to start web browser | |
void * | GetDriverData () const |
[internal] returns web-driver data, used to start window | |
const std::string & | GetExtraArgs () const |
get extra command line arguments for starting web browser command | |
std::string | GetFullUrl () const |
returns window url with append options | |
int | GetHeight () const |
returns preferable web window height | |
THttpServer * | GetHttpServer () const |
returns http server instance, used for window display | |
const std::string & | GetPageContent () const |
returns window url | |
const std::string & | GetRedirectOutput () const |
get file name to which web browser output should be redirected | |
const std::string & | GetUrl () const |
returns window url | |
const std::string & | GetUrlOpt () const |
returns window url options | |
const std::string & | GetWidgetKind () const |
returns widget kind | |
int | GetWidth () const |
returns preferable web window width | |
int | GetX () const |
set preferable web window x position | |
int | GetY () const |
set preferable web window y position | |
bool | IsBatchMode () const |
returns batch mode | |
bool | IsHeadless () const |
returns headless mode | |
bool | IsInteractiveBrowser () const |
returns true if interactive browser window supposed to be started | |
bool | IsLocalDisplay () const |
returns true if local display like CEF or Qt5 QWebEngine should be used | |
bool | IsStandalone () const |
Return true if browser should runs in standalone mode. | |
bool | IsSupportHeadless () const |
returns true if browser supports headless mode | |
void | SetBatchMode (bool on=true) |
set batch mode | |
RWebDisplayArgs & | SetBrowserKind (const std::string &kind) |
Set browser kind as string argument. | |
RWebDisplayArgs & | SetBrowserKind (EBrowserKind kind) |
set browser kind, see EBrowserKind for allowed values | |
void | SetCustomExec (const std::string &exec) |
set custom executable to start web browser | |
void | SetDriverData (void *data) |
[internal] set web-driver data, used to start window | |
void | SetExtraArgs (const std::string &args) |
set extra command line arguments for starting web browser command | |
void | SetHeadless (bool on=true) |
set headless mode | |
RWebDisplayArgs & | SetHeight (int h=0) |
set preferable web window height | |
void | SetHttpServer (THttpServer *serv) |
set http server instance, used for window display | |
void | SetMasterWindow (std::shared_ptr< RWebWindow > master, unsigned connid=0, int channel=-1) |
Assign window, connection and channel id where other window will be embed. | |
RWebDisplayArgs & | SetPageContent (const std::string &cont) |
set window url | |
RWebDisplayArgs & | SetPos (int x=-1, int y=-1) |
set preferable web window x and y position, negative is default | |
void | SetRedirectOutput (const std::string &fname="") |
specify file name to which web browser output should be redirected | |
RWebDisplayArgs & | SetSize (int w, int h) |
set preferable web window width and height | |
void | SetStandalone (bool on=true) |
Set standalone mode for running browser, default on When disabled, normal browser window (or just tab) will be started. | |
RWebDisplayArgs & | SetUrl (const std::string &url) |
set window url | |
RWebDisplayArgs & | SetUrlOpt (const std::string &opt) |
set window url options | |
RWebDisplayArgs & | SetWidgetKind (const std::string &kind) |
set widget kind | |
RWebDisplayArgs & | SetWidth (int w=0) |
set preferable web window width | |
RWebDisplayArgs & | SetX (int x=-1) |
set preferable web window x position, negative is default | |
RWebDisplayArgs & | SetY (int y=-1) |
set preferable web window y position, negative is default | |
Static Public Member Functions | |
static std::string | GetQt5EmbedQualifier (const void *qparent, const std::string &urlopt="", unsigned qtversion=0x60000) |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt6 QWidget. | |
static std::string | GetQtEmbedQualifier (const void *qparent, const std::string &urlopt="", unsigned qtversion=0x60000) |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt6 QWidget. | |
Protected Member Functions | |
bool | SetPosAsStr (const std::string &str) |
Set position of web browser window as string like "100,100". | |
bool | SetSizeAsStr (const std::string &str) |
Set size of web browser window as string like "800x600". | |
Protected Attributes | |
bool | fBatchMode {false} |
! is browser runs in batch mode | |
void * | fDriverData {nullptr} |
! special data delivered to driver, can be used for QWebEngine | |
std::string | fExec |
! string to run browser, used with kCustom type | |
std::string | fExtraArgs |
! extra arguments which will be append to exec string | |
bool | fHeadless {false} |
! is browser runs in headless mode | |
int | fHeight {0} |
! custom window height, when not specified - used RWebWindow geometry | |
EBrowserKind | fKind {kNative} |
! id of web browser used for display | |
std::shared_ptr< RWebWindow > | fMaster |
! master window | |
int | fMasterChannel {-1} |
! used master channel | |
unsigned | fMasterConnection {0} |
! used master connection | |
std::string | fPageContent |
! HTML page content | |
std::string | fRedirectOutput |
! filename where browser output should be redirected | |
THttpServer * | fServer {nullptr} |
! http server which handle all requests | |
bool | fStandalone {true} |
! indicates if browser should run isolated from other browser instances | |
std::string | fUrl |
! URL to display | |
std::string | fUrlOpt |
! extra URL options, which are append to window URL | |
std::string | fWidgetKind |
! widget kind, used to identify that will be displayed in the web window | |
int | fWidth {0} |
! custom window width, when not specified - used RWebWindow geometry | |
int | fX {-1} |
! custom window x position, negative is default | |
int | fY {-1} |
! custom window y position, negative is default | |
Friends | |
class | RWebWindow |
#include <ROOT/RWebDisplayArgs.hxx>
Enumerator | |
---|---|
kChrome | Google Chrome browser. |
kEdge | Microsoft Edge browser (Windows only) |
kSafari | Safari browser. |
kFirefox | Mozilla Firefox browser. |
kNative | either Chrome or Firefox - both support major functionality |
kCEF | Chromium Embedded Framework - local display with CEF libs. |
kQt6 | Qt6 QWebEngine libraries - Chromium code packed in qt6. |
kLocal | either CEF or Qt5 - both runs on local display without real http server |
kDefault | default system web browser, can not be used in batch mode |
kServer | indicates that ROOT runs as server and just printouts window URL, browser should be started by the user |
kEmbedded | window will be embedded into other, no extra browser need to be started |
kOff | disable web display, do not start any browser |
kOn | web display enable, first try use embed displays like Qt or CEF, then native browsers and at the end default system browser |
kCustom | custom web browser, execution string should be provided |
Definition at line 35 of file RWebDisplayArgs.hxx.
RWebDisplayArgs::RWebDisplayArgs | ( | ) |
Default constructor.
Browser kind configured from gROOT->GetWebDisplay()
Definition at line 42 of file RWebDisplayArgs.cxx.
RWebDisplayArgs::RWebDisplayArgs | ( | const std::string & | browser | ) |
Constructor.
Browser kind specified as std::string. See SetBrowserKind method for description of allowed parameters
Definition at line 52 of file RWebDisplayArgs.cxx.
RWebDisplayArgs::RWebDisplayArgs | ( | const char * | browser | ) |
Constructor.
Browser kind specified as const char *
. See SetBrowserKind method for description of allowed parameters
Definition at line 62 of file RWebDisplayArgs.cxx.
RWebDisplayArgs::RWebDisplayArgs | ( | std::shared_ptr< RWebWindow > | master, |
unsigned | conndid = 0, | ||
int | channel = -1 ) |
Constructor.
Let specify master window and channel (if reserved already)
Definition at line 82 of file RWebDisplayArgs.cxx.
|
virtualdefault |
Destructor.
Must be defined in source code to correctly call RWebWindow destructor
void RWebDisplayArgs::AppendUrlOpt | ( | const std::string & | opt | ) |
append extra url options, add "&" as separator if required
Append string to url options.
Add "&" as separator if any options already exists
Definition at line 288 of file RWebDisplayArgs.cxx.
|
inline |
returns configured browser kind, see EBrowserKind for supported values
Definition at line 95 of file RWebDisplayArgs.hxx.
std::string RWebDisplayArgs::GetBrowserName | ( | ) | const |
Returns configured browser name.
Definition at line 249 of file RWebDisplayArgs.cxx.
std::string RWebDisplayArgs::GetCustomExec | ( | ) | const |
returns custom executable to start web browser
Returns custom executable to start web browser.
Definition at line 333 of file RWebDisplayArgs.cxx.
|
inline |
[internal] returns web-driver data, used to start window
Definition at line 211 of file RWebDisplayArgs.hxx.
|
inline |
get extra command line arguments for starting web browser command
Definition at line 191 of file RWebDisplayArgs.hxx.
std::string RWebDisplayArgs::GetFullUrl | ( | ) | const |
returns window url with append options
Returns full url, which is combined from URL and extra URL options.
Takes into account "#" symbol in url - options are inserted before that symbol
Definition at line 302 of file RWebDisplayArgs.cxx.
|
inline |
returns preferable web window height
Definition at line 182 of file RWebDisplayArgs.hxx.
|
inline |
returns http server instance, used for window display
Definition at line 206 of file RWebDisplayArgs.hxx.
|
inline |
returns window url
Definition at line 136 of file RWebDisplayArgs.hxx.
|
static |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt6 QWidget.
Kept for backward compatibility, use GetQtEmbedQualifier instead
Definition at line 352 of file RWebDisplayArgs.cxx.
|
static |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt6 QWidget.
After RWebWindow is displayed created QWebEngineView can be found with the command:
auto view = qparent->findChild<QWebEngineView*>("RootWebView");
Definition at line 365 of file RWebDisplayArgs.cxx.
|
inline |
get file name to which web browser output should be redirected
Definition at line 196 of file RWebDisplayArgs.hxx.
|
inline |
returns window url
Definition at line 126 of file RWebDisplayArgs.hxx.
|
inline |
returns window url options
Definition at line 147 of file RWebDisplayArgs.hxx.
|
inline |
returns widget kind
Definition at line 131 of file RWebDisplayArgs.hxx.
|
inline |
returns preferable web window width
Definition at line 180 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x position
Definition at line 184 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window y position
Definition at line 186 of file RWebDisplayArgs.hxx.
|
inline |
returns batch mode
Definition at line 158 of file RWebDisplayArgs.hxx.
|
inline |
returns headless mode
Definition at line 163 of file RWebDisplayArgs.hxx.
|
inline |
returns true if interactive browser window supposed to be started
Definition at line 101 of file RWebDisplayArgs.hxx.
|
inline |
returns true if local display like CEF or Qt5 QWebEngine should be used
Definition at line 110 of file RWebDisplayArgs.hxx.
|
inline |
Return true if browser should runs in standalone mode.
Definition at line 142 of file RWebDisplayArgs.hxx.
|
inline |
returns true if browser supports headless mode
Definition at line 116 of file RWebDisplayArgs.hxx.
set batch mode
Definition at line 156 of file RWebDisplayArgs.hxx.
RWebDisplayArgs & RWebDisplayArgs::SetBrowserKind | ( | const std::string & | _kind | ) |
Set browser kind as string argument.
Recognized values:
chrome - use Google Chrome web browser firefox - use Mozilla Firefox web browser edge - use Microsoft Edge web browser (Windows only) native - either chrome/edge or firefox, only these browsers support batch (headless) mode default - default system web-browser, no batch mode cef - Chromium Embeded Framework, local display, local communication qt6 - Qt6 QWebEngineCore, local display, local communication local - either cef or qt6 off - disable web display on - first try "local", then "native", then "default" (default option)
<prog>
- any program name which will be started to open widget URL, like "/usr/bin/opera"
Definition at line 158 of file RWebDisplayArgs.cxx.
|
inline |
set browser kind, see EBrowserKind for allowed values
Definition at line 93 of file RWebDisplayArgs.hxx.
void RWebDisplayArgs::SetCustomExec | ( | const std::string & | exec | ) |
set custom executable to start web browser
Configure custom web browser.
Either just name of browser which can be used like "opera" or full execution string which must includes $url like "/usr/bin/opera $url"
Definition at line 324 of file RWebDisplayArgs.cxx.
|
inline |
[internal] set web-driver data, used to start window
Definition at line 209 of file RWebDisplayArgs.hxx.
|
inline |
set extra command line arguments for starting web browser command
Definition at line 189 of file RWebDisplayArgs.hxx.
set headless mode
Definition at line 161 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window height
Definition at line 168 of file RWebDisplayArgs.hxx.
|
inline |
set http server instance, used for window display
Definition at line 204 of file RWebDisplayArgs.hxx.
void RWebDisplayArgs::SetMasterWindow | ( | std::shared_ptr< RWebWindow > | master, |
unsigned | connid = 0, | ||
int | channel = -1 ) |
Assign window, connection and channel id where other window will be embed.
Definition at line 276 of file RWebDisplayArgs.cxx.
|
inline |
set window url
Definition at line 134 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x and y position, negative is default
Definition at line 177 of file RWebDisplayArgs.hxx.
Set position of web browser window as string like "100,100".
Definition at line 120 of file RWebDisplayArgs.cxx.
|
inline |
specify file name to which web browser output should be redirected
Definition at line 194 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window width and height
Definition at line 170 of file RWebDisplayArgs.hxx.
Set size of web browser window as string like "800x600".
Definition at line 96 of file RWebDisplayArgs.cxx.
Set standalone mode for running browser, default on When disabled, normal browser window (or just tab) will be started.
Definition at line 140 of file RWebDisplayArgs.hxx.
|
inline |
set window url
Definition at line 124 of file RWebDisplayArgs.hxx.
|
inline |
set window url options
Definition at line 145 of file RWebDisplayArgs.hxx.
|
inline |
set widget kind
Definition at line 129 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window width
Definition at line 166 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x position, negative is default
Definition at line 173 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window y position, negative is default
Definition at line 175 of file RWebDisplayArgs.hxx.
|
friend |
Definition at line 32 of file RWebDisplayArgs.hxx.
! is browser runs in batch mode
Definition at line 59 of file RWebDisplayArgs.hxx.
|
protected |
! special data delivered to driver, can be used for QWebEngine
Definition at line 69 of file RWebDisplayArgs.hxx.
|
protected |
! string to run browser, used with kCustom type
Definition at line 68 of file RWebDisplayArgs.hxx.
|
protected |
! extra arguments which will be append to exec string
Definition at line 55 of file RWebDisplayArgs.hxx.
! is browser runs in headless mode
Definition at line 60 of file RWebDisplayArgs.hxx.
|
protected |
! custom window height, when not specified - used RWebWindow geometry
Definition at line 64 of file RWebDisplayArgs.hxx.
|
protected |
! id of web browser used for display
Definition at line 53 of file RWebDisplayArgs.hxx.
|
protected |
! master window
Definition at line 71 of file RWebDisplayArgs.hxx.
|
protected |
! used master channel
Definition at line 73 of file RWebDisplayArgs.hxx.
|
protected |
! used master connection
Definition at line 72 of file RWebDisplayArgs.hxx.
|
protected |
! HTML page content
Definition at line 56 of file RWebDisplayArgs.hxx.
|
protected |
! filename where browser output should be redirected
Definition at line 57 of file RWebDisplayArgs.hxx.
|
protected |
! http server which handle all requests
Definition at line 62 of file RWebDisplayArgs.hxx.
! indicates if browser should run isolated from other browser instances
Definition at line 61 of file RWebDisplayArgs.hxx.
|
protected |
! URL to display
Definition at line 54 of file RWebDisplayArgs.hxx.
|
protected |
! extra URL options, which are append to window URL
Definition at line 67 of file RWebDisplayArgs.hxx.
|
protected |
! widget kind, used to identify that will be displayed in the web window
Definition at line 58 of file RWebDisplayArgs.hxx.
|
protected |
! custom window width, when not specified - used RWebWindow geometry
Definition at line 63 of file RWebDisplayArgs.hxx.
|
protected |
! custom window x position, negative is default
Definition at line 65 of file RWebDisplayArgs.hxx.
|
protected |
! custom window y position, negative is default
Definition at line 66 of file RWebDisplayArgs.hxx.