Holds different arguments for starting browser with RWebDisplayHandle::Display() method.
Definition at line 33 of file RWebDisplayArgs.hxx.
Public Types | |
enum | EBrowserKind { kChrome , kEdge , kFirefox , kNative , kCEF , kQt5 , kQt6 , kLocal , kDefault , kServer , kEmbedded , kOff , 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) |
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 |
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 282 of file RWebDisplayArgs.cxx.
|
inline |
returns configured browser kind, see EBrowserKind for supported values
Definition at line 97 of file RWebDisplayArgs.hxx.
std::string RWebDisplayArgs::GetBrowserName | ( | ) | const |
Returns configured browser name.
Definition at line 244 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 327 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 296 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 Qt5 QWidget.
After RWebWindow is displayed created QWebEngineView can be found with the command:
auto view = qparent->findChild<QWebEngineView*>("RootWebView");
Definition at line 348 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 103 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.
|
inline |
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, supports headless mode from v60, default firefox - use Mozilla Firefox browser, supports headless mode from v57 native - (or empty string) either chrome or firefox, only these browsers support batch (headless) mode browser - default system web-browser, no batch mode safari - Safari browser on Mac 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
<prog>
- any program name which will be started instead of default browser, like /usr/bin/opera
Definition at line 157 of file RWebDisplayArgs.cxx.
|
inline |
set browser kind, see EBrowserKind for allowed values
Definition at line 95 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 318 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.
|
inline |
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 270 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.
|
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 194 of file RWebDisplayArgs.hxx.
|
inline |
set preferable web window width and height
Definition at line 170 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 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 35 of file RWebDisplayArgs.hxx.
|
protected |
! is browser runs in batch mode
Definition at line 61 of file RWebDisplayArgs.hxx.
|
protected |
! special data delivered to driver, can be used for QWebEngine
Definition at line 71 of file RWebDisplayArgs.hxx.
|
protected |
! string to run browser, used with kCustom type
Definition at line 70 of file RWebDisplayArgs.hxx.
|
protected |
! extra arguments which will be append to exec string
Definition at line 57 of file RWebDisplayArgs.hxx.
|
protected |
! is browser runs in headless mode
Definition at line 62 of file RWebDisplayArgs.hxx.
|
protected |
! custom window height, when not specified - used RWebWindow geometry
Definition at line 66 of file RWebDisplayArgs.hxx.
|
protected |
! id of web browser used for display
Definition at line 55 of file RWebDisplayArgs.hxx.
|
protected |
! master window
Definition at line 73 of file RWebDisplayArgs.hxx.
|
protected |
! used master channel
Definition at line 75 of file RWebDisplayArgs.hxx.
|
protected |
! used master connection
Definition at line 74 of file RWebDisplayArgs.hxx.
|
protected |
! HTML page content
Definition at line 58 of file RWebDisplayArgs.hxx.
|
protected |
! filename where browser output should be redirected
Definition at line 59 of file RWebDisplayArgs.hxx.
|
protected |
! http server which handle all requests
Definition at line 64 of file RWebDisplayArgs.hxx.
|
protected |
! indicates if browser should run isolated from other browser instances
Definition at line 63 of file RWebDisplayArgs.hxx.
|
protected |
! URL to display
Definition at line 56 of file RWebDisplayArgs.hxx.
|
protected |
! extra URL options, which are append to window URL
Definition at line 69 of file RWebDisplayArgs.hxx.
|
protected |
! widget kind, used to identify that will be displayed in the web window
Definition at line 60 of file RWebDisplayArgs.hxx.
|
protected |
! custom window width, when not specified - used RWebWindow geometry
Definition at line 65 of file RWebDisplayArgs.hxx.
|
protected |
! custom window x position, negative is default
Definition at line 67 of file RWebDisplayArgs.hxx.
|
protected |
! custom window y position, negative is default
Definition at line 68 of file RWebDisplayArgs.hxx.