当前位置: 首页>>代码示例>>C++>>正文


C++ WebView::topLevelFrame方法代码示例

本文整理汇总了C++中WebView::topLevelFrame方法的典型用法代码示例。如果您正苦于以下问题:C++ WebView::topLevelFrame方法的具体用法?C++ WebView::topLevelFrame怎么用?C++ WebView::topLevelFrame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WebView的用法示例。


在下文中一共展示了WebView::topLevelFrame方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: createWindow

Page* WebChromeClient::createWindow(Frame*, const FrameLoadRequest& frameLoadRequest, const WindowFeatures& features)
{
#if OS(AMIGAOS4)
    if (features.dialog) {
        fprintf(stderr, "%s: features.dialog not implemented on AmigaOS4.\n", __PRETTY_FUNCTION__);
        return 0;
    }

    extern BalWidget *createAmigaWindow(WebView *);

    WebView* newWebView = WebView::createInstance();
    if (newWebView) {
        BalWidget *newowbwindow = createAmigaWindow(newWebView);
        if (newowbwindow) {
            BalRectangle clientRect = {0, 0, newowbwindow->webViewWidth, newowbwindow->webViewHeight};
            newWebView->initWithFrame(clientRect, frameLoadRequest.frameName().utf8().data(), "");
            newWebView->setViewWindow(newowbwindow);

            if (!amigaConfig.tabs
             && (features.xSet || features.ySet || features.widthSet || features.heightSet))
                IIntuition->ChangeWindowBox(newowbwindow->window,
                                            features.xSet ? features.x : newowbwindow->window->LeftEdge,
                                            features.ySet ? features.y : newowbwindow->window->TopEdge,
                                            features.widthSet ? features.width : newowbwindow->window->Width,
                                            features.heightSet ? features.height : newowbwindow->window->Height);

            printf("url = %s\n", frameLoadRequest.resourceRequest().url().prettyURL().utf8().data());
            newWebView->mainFrame()->loadURL(frameLoadRequest.resourceRequest().url().prettyURL().utf8().data());

            return core(newWebView);
        }
        delete newWebView;
    }

    return 0;
#else
    IntRect frameRect(m_webView->frameRect());
    IntRect r(features.xSet ? features.x : 0, 
              features.ySet ? features.y : 0, 
              features.widthSet ? features.width : frameRect.width(),
              features.heightSet ? features.height : frameRect.height());
    
    bool modal = false;
    if (features.dialog)
        modal = true;
        
    WebViewWindow* win = new WebViewWindow(modal, m_webView, r);
    win->loadUrl(frameLoadRequest.resourceRequest().url().string().utf8().data());
    WebView* view = win->webView();
    view->setMenubarVisible(features.menuBarVisible);
    view->setStatusbarVisible(features.statusBarVisible);
    view->setToolbarsVisible(features.toolBarVisible);
    view->setLocationbarVisible(features.locationBarVisible);
    WebFrame* webFrame = view->topLevelFrame();
    if (webFrame)
        webFrame->setAllowsScrolling(features.scrollbarsVisible);
    win->show();
    return core(view);
#endif
}
开发者ID:jackiekaon,项目名称:owb-mirror,代码行数:60,代码来源:WebChromeClient.cpp


注:本文中的WebView::topLevelFrame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。