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.
|
inline |
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.
|
inline |
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.
|
inline |
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.
|
protected |
! 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.
|
protected |
! 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.
|
protected |
! 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.