31 ROOT::Experimental::RWebDisplayArgs::RWebDisplayArgs()
40 ROOT::Experimental::RWebDisplayArgs::RWebDisplayArgs(
const std::string &browser)
42 SetBrowserKind(browser);
49 ROOT::Experimental::RWebDisplayArgs::RWebDisplayArgs(
const char *browser)
51 SetBrowserKind(browser);
57 ROOT::Experimental::RWebDisplayArgs::RWebDisplayArgs(
int width,
int height,
int x,
int y,
const std::string &browser)
59 SetSize(width, height);
61 SetBrowserKind(browser);
67 ROOT::Experimental::RWebDisplayArgs::RWebDisplayArgs(std::shared_ptr<RWebWindow> master,
int channel)
69 SetMasterWindow(master, channel);
76 ROOT::Experimental::RWebDisplayArgs::~RWebDisplayArgs()
95 ROOT::Experimental::RWebDisplayArgs &ROOT::Experimental::RWebDisplayArgs::SetBrowserKind(
const std::string &_kind)
97 std::string kind = _kind;
99 auto pos = kind.find(
"?");
101 SetUrlOpt(kind.substr(1));
106 kind = gROOT->GetWebDisplay().Data();
109 SetBrowserKind(kLocal);
110 else if (kind.empty() || (kind ==
"native"))
111 SetBrowserKind(kNative);
112 else if (kind ==
"firefox")
113 SetBrowserKind(kFirefox);
114 else if ((kind ==
"chrome") || (kind ==
"chromium"))
115 SetBrowserKind(kChrome);
116 else if ((kind ==
"cef") || (kind ==
"cef3"))
117 SetBrowserKind(kCEF);
118 else if ((kind ==
"qt") || (kind ==
"qt5"))
119 SetBrowserKind(kQt5);
120 else if ((kind ==
"embed") || (kind ==
"embedded"))
121 SetBrowserKind(kEmbedded);
131 std::string ROOT::Experimental::RWebDisplayArgs::GetBrowserName()
const
133 switch (GetBrowserKind()) {
134 case kChrome:
return "chrome";
135 case kFirefox:
return "firefox";
136 case kNative:
return "native";
137 case kCEF:
return "cef";
138 case kQt5:
return "qt5";
139 case kLocal:
return "local";
140 case kStandard:
return "default";
141 case kEmbedded:
return "embed";
143 auto pos = fExec.find(
" ");
144 return (pos == std::string::npos) ? fExec : fExec.substr(0,pos);
153 void ROOT::Experimental::RWebDisplayArgs::SetMasterWindow(std::shared_ptr<RWebWindow> master,
int channel)
155 SetBrowserKind(kEmbedded);
157 fMasterChannel = channel;
164 void ROOT::Experimental::RWebDisplayArgs::AppendUrlOpt(
const std::string &opt)
166 if (opt.empty())
return;
168 if (!fUrlOpt.empty())
178 std::string ROOT::Experimental::RWebDisplayArgs::GetFullUrl()
const
180 std::string url = GetUrl(), urlopt = GetUrlOpt();
181 if (url.empty() || urlopt.empty())
return url;
183 auto rpos = url.find(
"#");
184 if (rpos == std::string::npos) rpos = url.length();
186 if (url.find(
"?") != std::string::npos)
187 url.insert(rpos,
"&");
189 url.insert(rpos,
"?");
190 url.insert(rpos+1, urlopt);
200 void ROOT::Experimental::RWebDisplayArgs::SetCustomExec(
const std::string &exec)
202 SetBrowserKind(kCustom);
209 std::string ROOT::Experimental::RWebDisplayArgs::GetCustomExec()
const
211 if (GetBrowserKind() != kCustom)
215 if ((fExec ==
"safari") || (fExec ==
"Safari"))
216 return "open -a Safari";