本文整理汇总了C++中KHTMLPart::openURL方法的典型用法代码示例。如果您正苦于以下问题:C++ KHTMLPart::openURL方法的具体用法?C++ KHTMLPart::openURL怎么用?C++ KHTMLPart::openURL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KHTMLPart
的用法示例。
在下文中一共展示了KHTMLPart::openURL方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setLocation
void HTMLFrameElementImpl::setLocation(const DOMString &str)
{
url = str;
if(!attached())
return;
if(!m_render)
{
detach();
attach();
return;
}
if(!getDocument()->isURLAllowed(url.string()))
return;
// load the frame contents
KHTMLView *w = getDocument()->view();
if(w)
{
KHTMLPart *part = w->part()->findFrame(name.string());
if(part)
{
part->openURL(KURL(getDocument()->completeURL(url.string())));
}
else
{
w->part()->requestFrame(static_cast< RenderFrame * >(m_render), url.string(), name.string());
}
}
}
示例2: OpenURL
void BrowserWindow::OpenURL( const std::string& cURL, const KParts::URLArgs& cArgs )
{
// GlobalMutex::Lock();
// m_pcURLView->Set( cURL.c_str(), false );
m_pcURLView->SetText( cURL.c_str() );
m_pcHTMLPart->browserExtension()->setURLArgs( cArgs );
m_pcHTMLPart->openURL( cURL.c_str() );
// GlobalMutex::Unlock();
}
示例3: title
void Plugin$ {APP_NAME}::slotAction()
{
// This plugin assumes KHTMLPart. If your plugin can handle more
// than this or a different Part than this, simply delete or
// change the following block.
if ( !parent()->inherits("KHTMLPart") )
{
QString title( i18n( "Cannot Translate Source" ) );
QString text( i18n( "You cannot translate anything except web pages "
"with this plugin." ) );
KMessageBox::sorry( 0, text, title );
return;
}
// Get a handle on our parent so we may get the necessary data for
// processing
KHTMLPart *part = dynamic_cast<KHTMLPart *>(parent());
// This plugin only uses the URL. You may use whatever data you
// need.
KURL url( part->url() );
// This is a standard check to make sure we are dealing with a
// valid URL
if ( !url.isValid() )
{
QString title( i18n( "Malformed URL" ) );
QString text( i18n( "The URL you entered is not valid, please "
"correct it and try again." ) );
KMessageBox::sorry( 0, text, title );
return;
}
// The following block is very plugin specific. In this example, we
// translate the current page with AltaVista's BabelFish. You will
// definitely want to change this.
// BEGIN
KURL work( "http://babel.altavista.com/translate.dyn" );
QString query( "urltext=" );
query += KURL::encode_string( url.url() );
work.setQuery( query );
// END
// Finally, execute the request
part->openURL( work );
}
示例4: main
int main(int argc, char *argv[])
{
KCmdLineArgs::init(argc, argv, "Testkhtml", "a basic web browser using the KHTML library", "1.0");
KCmdLineArgs::addCmdLineOptions(options);
KApplication a;
KCmdLineArgs *args = KCmdLineArgs::parsedArgs( );
if ( args->count() == 0 ) {
KCmdLineArgs::usage();
::exit( 1 );
}
KHTMLFactory *fac = new KHTMLFactory();
KMainWindow *toplevel = new KMainWindow();
KHTMLPart *doc = new KHTMLPart( toplevel, 0, toplevel, 0, KHTMLPart::BrowserViewGUI );
Dummy *dummy = new Dummy( doc );
QObject::connect( doc->browserExtension(), SIGNAL( openURLRequest( const KURL &, const KParts::URLArgs & ) ),
dummy, SLOT( slotOpenURL( const KURL&, const KParts::URLArgs & ) ) );
if (args->url(0).url().right(4).find(".xml", 0, false) == 0) {
KParts::URLArgs ags(doc->browserExtension()->urlArgs());
ags.serviceType = "text/xml";
doc->browserExtension()->setURLArgs(ags);
}
doc->openURL( args->url(0) );
// DOMTreeView * dtv = new DOMTreeView(0, doc, "DomTreeView");
// dtv->show();
toplevel->setCentralWidget( doc->widget() );
toplevel->resize( 640, 800);
// dtv->resize(toplevel->width()/2, toplevel->height());
QDomDocument d = doc->domDocument();
QDomElement viewMenu = d.documentElement().firstChild().childNodes().item( 2 ).toElement();
QDomElement e = d.createElement( "action" );
e.setAttribute( "name", "debugRenderTree" );
viewMenu.appendChild( e );
e = d.createElement( "action" );
e.setAttribute( "name", "debugDOMTree" );
viewMenu.appendChild( e );
QDomElement toolBar = d.documentElement().firstChild().nextSibling().toElement();
e = d.createElement( "action" );
e.setAttribute( "name", "reload" );
toolBar.insertBefore( e, toolBar.firstChild() );
e = d.createElement( "action" );
e.setAttribute( "name", "print" );
toolBar.insertBefore( e, toolBar.firstChild() );
(void)new KAction( "Reload", "reload", Qt::Key_F5, dummy, SLOT( reload() ), doc->actionCollection(), "reload" );
KAction* kprint = new KAction( "Print", "print", 0, doc->browserExtension(), SLOT( print() ), doc->actionCollection(), "print" );
kprint->setEnabled(true);
toplevel->guiFactory()->addClient( doc );
doc->setJScriptEnabled(true);
doc->setJavaEnabled(true);
doc->setURLCursor(QCursor(Qt::PointingHandCursor));
a.setTopWidget(doc->widget());
QWidget::connect(doc, SIGNAL(setWindowCaption(const QString &)),
doc->widget(), SLOT(setCaption(const QString &)));
doc->widget()->show();
toplevel->show();
((QScrollView *)doc->widget())->viewport()->show();
int ret = a.exec();
//delete doc;
//delete dtv;
khtml::Cache::clear();
khtml::CSSStyleSelector::clear();
khtml::RenderStyle::cleanup();
delete fac;
return ret;
}