Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
Definition at line 33 of file RWebDisplayArgs.hxx.
Public Types | |
enum | EBrowserKind { kChrome , kEdge , kSafari , kFirefox , kNative , kCEF , kQt5 , 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=0x50000) |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt5 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. |
kQt5 | Qt5 QWebEngine libraries - Chromium code packed in qt5. |
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 38 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 292 of file RWebDisplayArgs.cxx.
|
inline |
returns configured browser kind, see EBrowserKind for supported values
Definition at line 99 of file RWebDisplayArgs.hxx.
std::string RWebDisplayArgs::GetBrowserName | ( | ) | const |
Returns configured browser name.
Definition at line 252 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 337 of file RWebDisplayArgs.cxx.
|
inline |
[internal] returns web-driver data, used to start window
Definition at line 215 of file RWebDisplayArgs.hxx.
|
inline |
get extra command line arguments for starting web browser command
Definition at line 195 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 306 of file RWebDisplayArgs.cxx.
|
inline |
returns preferable web window height
Definition at line 186 of file RWebDisplayArgs.hxx.
|
inline |
returns http server instance, used for window display
Definition at line 210 of file RWebDisplayArgs.hxx.
|
inline |
returns window url
Definition at line 140 of file RWebDisplayArgs.hxx.
|
static |
Returns string which can be used as argument in RWebWindow::Show() method to display web window in provided Qt5 QWidget.
After RWebWindow is displayed created QWebEngineView can be found with the command:
auto view = qparent->findChild<QWebEngineView*>("RootWebView");
Definition at line 358 of file RWebDisplayArgs.cxx.
|
inline |
get file name to which web browser output should be redirected
Definition at line 200 of file RWebDisplayArgs.hxx.
|
inline |
returns window url
Definition at line 130 of file RWebDisplayArgs.hxx.
|
inline |
returns window url options
Definition at line 151 of file RWebDisplayArgs.hxx.
|
inline |
returns widget kind
Definition at line 135 of file RWebDisplayArgs.hxx.
|
inline |
returns preferable web window width
Definition at line 184 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x position
Definition at line 188 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window y position
Definition at line 190 of file RWebDisplayArgs.hxx.
|
inline |
returns batch mode
Definition at line 162 of file RWebDisplayArgs.hxx.
|
inline |
returns headless mode
Definition at line 167 of file RWebDisplayArgs.hxx.
|
inline |
returns true if interactive browser window supposed to be started
Definition at line 105 of file RWebDisplayArgs.hxx.
|
inline |
returns true if local display like CEF or Qt5 QWebEngine should be used
Definition at line 114 of file RWebDisplayArgs.hxx.
|
inline |
Return true if browser should runs in standalone mode.
Definition at line 146 of file RWebDisplayArgs.hxx.
|
inline |
returns true if browser supports headless mode
Definition at line 120 of file RWebDisplayArgs.hxx.
set batch mode
Definition at line 160 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 qt5 - Qt5 QWebEngine, local display, local communication qt6 - Qt6 QWebEngineCore, local display, local communication local - either cef or qt5 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 159 of file RWebDisplayArgs.cxx.
|
inline |
set browser kind, see EBrowserKind for allowed values
Definition at line 97 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 328 of file RWebDisplayArgs.cxx.
|
inline |
[internal] set web-driver data, used to start window
Definition at line 213 of file RWebDisplayArgs.hxx.
|
inline |
set extra command line arguments for starting web browser command
Definition at line 193 of file RWebDisplayArgs.hxx.
set headless mode
Definition at line 165 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window height
Definition at line 172 of file RWebDisplayArgs.hxx.
|
inline |
set http server instance, used for window display
Definition at line 208 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 280 of file RWebDisplayArgs.cxx.
|
inline |
set window url
Definition at line 138 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x and y position, negative is default
Definition at line 181 of file RWebDisplayArgs.hxx.
|
protected |
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 198 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window width and height
Definition at line 174 of file RWebDisplayArgs.hxx.
|
protected |
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 144 of file RWebDisplayArgs.hxx.
|
inline |
set window url
Definition at line 128 of file RWebDisplayArgs.hxx.
|
inline |
set window url options
Definition at line 149 of file RWebDisplayArgs.hxx.
|
inline |
set widget kind
Definition at line 133 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window width
Definition at line 170 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window x position, negative is default
Definition at line 177 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window y position, negative is default
Definition at line 179 of file RWebDisplayArgs.hxx.
|
friend |
Definition at line 35 of file RWebDisplayArgs.hxx.
! is browser runs in batch mode
Definition at line 63 of file RWebDisplayArgs.hxx.
|
protected |
! special data delivered to driver, can be used for QWebEngine
Definition at line 73 of file RWebDisplayArgs.hxx.
|
protected |
! string to run browser, used with kCustom type
Definition at line 72 of file RWebDisplayArgs.hxx.
|
protected |
! extra arguments which will be append to exec string
Definition at line 59 of file RWebDisplayArgs.hxx.
! is browser runs in headless mode
Definition at line 64 of file RWebDisplayArgs.hxx.
|
protected |
! custom window height, when not specified - used RWebWindow geometry
Definition at line 68 of file RWebDisplayArgs.hxx.
|
protected |
! id of web browser used for display
Definition at line 57 of file RWebDisplayArgs.hxx.
|
protected |
! master window
Definition at line 75 of file RWebDisplayArgs.hxx.
|
protected |
! used master channel
Definition at line 77 of file RWebDisplayArgs.hxx.
|
protected |
! used master connection
Definition at line 76 of file RWebDisplayArgs.hxx.
|
protected |
! HTML page content
Definition at line 60 of file RWebDisplayArgs.hxx.
|
protected |
! filename where browser output should be redirected
Definition at line 61 of file RWebDisplayArgs.hxx.
|
protected |
! http server which handle all requests
Definition at line 66 of file RWebDisplayArgs.hxx.
! indicates if browser should run isolated from other browser instances
Definition at line 65 of file RWebDisplayArgs.hxx.
|
protected |
! URL to display
Definition at line 58 of file RWebDisplayArgs.hxx.
|
protected |
! extra URL options, which are append to window URL
Definition at line 71 of file RWebDisplayArgs.hxx.
|
protected |
! widget kind, used to identify that will be displayed in the web window
Definition at line 62 of file RWebDisplayArgs.hxx.
|
protected |
! custom window width, when not specified - used RWebWindow geometry
Definition at line 67 of file RWebDisplayArgs.hxx.
|
protected |
! custom window x position, negative is default
Definition at line 69 of file RWebDisplayArgs.hxx.
|
protected |
! custom window y position, negative is default
Definition at line 70 of file RWebDisplayArgs.hxx.