File tree Expand file tree Collapse file tree 1 file changed +25
-3
lines changed
Expand file tree Collapse file tree 1 file changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -15,11 +15,33 @@ ViewFactory* ViewFactory::GetInstance()
1515 return instance;
1616}
1717
18- QWidget* ViewFactory::create (const std::string & id)
18+ QWidget* ViewFactory::create (const std::string &id)
1919{
2020 FactoryMap::iterator it = factory.find (id);
2121 if (it != factory.end ())
22+ {
23+ qDebug ()<<" [WD]:" <<" ViewFactory create:" <<QString (it->first .c_str ());
2224 return it->second ->create ();
23- qDebug ()<<" [WD]:" <<" Browser class" <<QString (id.c_str ())<<" is not registered. Create default one" ;
24- return new QWebViewExt;
25+ }
26+ else
27+ {
28+ // get first found QWebView; only for QWebView, for NativeWD need additional implementation
29+ FactoryMap::iterator it = factory.begin ();
30+ for (it; it != factory.end (); ++it)
31+ {
32+ QWidget* retWidget;
33+
34+ retWidget = it->second ->create ();
35+ QWebView* retView = qobject_cast<QWebView*> (retWidget);
36+ if (retView)
37+ {
38+ qDebug ()<<" [WD]:" <<" ViewFactory create first found registered QWebView subclass:" <<QString (it->first .c_str ());
39+ return retView;
40+ }
41+ else
42+ delete retWidget;
43+ }
44+ qDebug ()<<" [WD]:" <<" ViewFactory create default QWebViewExt" ;
45+ return new QWebViewExt;
46+ }
2547}
You can’t perform that action at this time.
0 commit comments