class KHTMLPart

HTML Browser Widget. More...

Definition#include <khtml_part.h>
InheritsKParts::ReadOnlyPart (kparts) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Slots

Signals

Protected Methods

Protected Slots


Detailed Description

This class is khtml's main class. It features an almost complete web browser, and html renderer.

The easiest way to use this class (if you just want to display a an HTML page at some URL) is the following:


 KURL url = "http://www.kde.org";
 KHTMLPart *w = new KHTMLPart();
 w->openURL(url);
 w->view()->resize(500, 400);
 w->show();

By default Java and JavaScript support are disabled. You can enable them by using the enableJava() and enableJScript() methods.

Some apps want to write their HTML code directly into the widget instead of it opening an url. You can also do that in the following way:


 QString myHTMLCode = ...;
 KHTMLPart *w = new KHTMLPart();
 w->begin();
 w->write(myHTMLCode);
 ...
 w->end();

You can do as many calls to write as you want. But there are two write() methods, one accepting a QString one accepting a char @p * argument. You should use one or the other (but not both) since the method using the char @p * argument does an additional decoding step to convert the written data to Unicode.

enum GUIProfile { DefaultGUI, BrowserViewGUI }

GUIProfile

 KHTMLPart ( QWidget *parentWidget = 0, const char *widgetname = 0, QObject *parent = 0, const char *name = 0, GUIProfile prof = DefaultGUI )

KHTMLPart

Construct a new KHTMLPart.

KHTML basically consists of two objects: The KHTMLPart itself, holding the document data (DOM document), and the KHTMLView, derived from QScrollview, in which the document content is rendered in. You can specify two different parent objects for a KHTMLPart, one parent for the KHTMLPart document and on parent for the KHTMLView. If the second parent argument is 0L, then parentWidget is used as parent for both objects, the part and the view.

 KHTMLPart ( KHTMLView *view, QObject *parent = 0, const char *name = 0, GUIProfile prof = DefaultGUI )

KHTMLPart

 ~KHTMLPart ()

~KHTMLPart

[virtual]

Destructor.

bool  openURL ( const KURL &url )

openURL

[virtual]

Opens the specified URL url.

Reimplemented from KParts::ReadOnlyPart::openURL .

Reimplemented from ReadOnlyPart.

bool  closeURL ()

closeURL

[virtual]

Stop loading the document and kill all data requests (for images, etc.)

Reimplemented from ReadOnlyPart.

DOM::HTMLDocument  htmlDocument ()

htmlDocument

[const]

Retrieve a reference to the DOM HTML document (for non-HTML documents, returns null)

DOM::Document  document ()

document

[const]

Retrieve a reference to the DOM document.

DOM::Node  activeNode ()

activeNode

[const]

Retrieve the node that has the keyboard focus

KParts::BrowserExtensionbrowserExtension ()

browserExtension

[const]

Retrieve a pointer to the KParts::BrowserExtension

KHTMLViewview ()

view

[const]

Retrieve a pointer to the HTML document's view.

void  setJScriptEnabled ( bool enable )

setJScriptEnabled

Enable/disable Javascript support. Note that this will in either case permanently override the default usersetting. If you want to have the default UserSettings, don't call this method.

void  enableJScript ( bool enable )

enableJScript

Deprecated, use setJScriptEnabled instead.

bool  jScriptEnabled ()

jScriptEnabled

[const]

Returns true if Javascript support is enabled or false otherwise.

void  enableMetaRefresh ( bool enable )

enableMetaRefresh

Enable/disable the automatic forwarding by <meta http-equiv="refresh" ....>

bool  metaRefreshEnabled ()

metaRefreshEnabled

[const]

Returns true if automtaic forwarding is enabled.

QVariant  executeScript ( const QString &script )

executeScript

Execute the specified snippet of JavaScript code.

Returns true if JavaScript was enabled, no error occured and the code returned true itself or false otherwise.

QVariant  executeScript ( const DOM::Node &n, const QString &script )

executeScript

Same as above except the Node parameter specifying the 'this' value.

void  setDNDEnabled ( bool b )

setDNDEnabled

Enable or disable Drag'n'Drop support. A drag operation is started if the users drags a link.

bool  dndEnabled ()

dndEnabled

[const]

Returns whether Dragn'n'Drop support is enabled or not.

void  setJavaEnabled ( bool enable )

setJavaEnabled

Enable/disable Java applet support. Note that calling this function will permanently override the User settings about Java applet support. Not calling this function is the only way to let the default settings apply.

void  enableJava ( bool enable )

enableJava

Deprecated, use setJavaEnabled instead.

bool  javaEnabled ()

javaEnabled

[const]

Return if Java applet support is enabled/disabled.

KJavaAppletContextjavaContext ()

javaContext

Return the java context of the applets. If no applet exists, 0 is returned.

KJavaAppletContextcreateJavaContext ()

createJavaContext

Return the java context of the applets. If no context exists yet, a new one is created.

void  enablePlugins ( bool enable )

enablePlugins

Deprecated. Use setPluginsEnabled instead.

void  setPluginsEnabled ( bool enable )

setPluginsEnabled

Enable or disable plugins via, default is enabled

bool  pluginsEnabled ()

pluginsEnabled

[const]

Return if plugins are enabled/disabled.

void  autoloadImages ( bool enable )

autoloadImages

Deprecated. Use setAutoloadImages instead.

void  setAutoloadImages ( bool enable )

setAutoloadImages

Specify whether images contained in the document should be loaded automatically or not.

bool  autoloadImages ()

autoloadImages

[const]

Return whether images contained in the document are loaded automatically or not.

void  begin ( const KURL &url = KURL(), int xOffset = 0, int yOffset = 0 )

begin

[virtual]

Clear the widget and prepares it for new content.

If you want url() to return for example "file:/tmp/test.html", you can use the following code:


 view->begin( KURL("file:/tmp/test.html" ) );

All child frames and the old document are removed if you call this method.

Parameters:
urlis the url of the document to be displayed. Even if you are generating the HTML on the fly, it may be useful to specify a directory so that any pixmaps are found.
xOffsetis the initial horizontal scrollbar value. Usually you don't want to use this.
yOffsetis the initial vertical scrollbar value. Usually you don't want to use this.

void  write ( const char *str, int len = -1 )

write

[virtual]

Write another part of the HTML code to the widget.

You may call this function many times in sequence. But remember: The fewer calls you make, the faster the widget will be.

The HTML code is send through a decoder which decodes the stream to Unicode.

The len parameter is needed for streams encoded in utf-16, since these can have \0 chars in them. In case the encoding you're using isn't utf-16, you can safely leave out the length parameter.

Attention: Don't mix calls to write( const char *) with calls to write( const QString & ).

The result might not be what you want.

void  write ( const QString &str )

write

[virtual]

Write another part of the HTML code to the widget.

You may call this function many times in sequence. But remember: The fewer calls you make, the faster the widget will be.

void  end ()

end

[virtual]

Call this after your last call to write().

void  paint (QPainter *, const QRect &, int = 0, bool * = 0)

paint

Paints the HTML page to a QPainter. See KHTMLView::paint for details

void  setBaseURL ( const KURL &url )

setBaseURL

Mainly used internally.

Sets the document's base URL.

KURL  baseURL ()

baseURL

[const]

Retrieve the base URL of this document

The base URL is ususally set by a <base url=...> tag in the document head. If no base tag is set, the url of the current document serves as base url and is returned.

void  setBaseTarget ( const QString &target )

setBaseTarget

Mainly used internally.

Sets the document's base target.

QString  baseTarget ()

baseTarget

[const]

Retrieve the base target of this document.

The base target is ususally set by a <base target=...> tag in the document head.

KURL  completeURL ( const QString &url, const QString &target = QString::null )

completeURL

Constructs a KURL object (representing an absolute URL) given a possibly relative URL (for example from a document's anchor) .

void  scheduleRedirection ( int delay, const QString &url )

scheduleRedirection

bool  setCharset ( const QString &name, bool override = false )

setCharset

Set the charset to use for displaying HTML pages.

If override is true, it will override charset specifications of the document.

bool  setEncoding ( const QString &name, bool override = false )

setEncoding

Set the encoding the page uses.

This can be different from the charset. The widget will try to reload the current page in the new encoding, if url() is not empty.

QString  encoding ()

encoding

return the encoding the page currently uses.

Note that the encoding might be different from the charset.

void  setUserStyleSheet (const KURL &url)

setUserStyleSheet

Set a user defined style sheet to be used on top of the HTML 4 default style sheet.

This gives a wide range of possibilities to change the layout of the page.

void  setUserStyleSheet (const QString &styleSheet)

setUserStyleSheet

Set a user defined style sheet to be used on top of the HTML 4 default style sheet.

This gives a wide range of possibilities to change the layout of the page.

void  setFontSizes (const QValueList<int> &newFontSizes )

setFontSizes

Set point sizes to be associated with the HTML-sizes used in <FONT size=Html-Font-Size>

Html-Font-Sizes range from 0 (smallest) to 6 (biggest), but you can specify up to 15 font sizes, the bigger ones will get used, if <font size=+1> extends over 7, or if a 'font-size: larger' style declaration gets into this region.

They are related to the CSS font sizes by 0 == xx-small to 6 == xx-large.

QValueList<int>  fontSizes ()

fontSizes

[const]

Get point sizes to be associated with the HTML-sizes used in <FONT size=Html-Font-Size>

Html-Font-Sizes range from 0 (smallest) to 6 (biggest).

They are related to the CSS font sizes by 0 == xx-small to 6 == xx-large.

void  resetFontSizes ()

resetFontSizes

Reset the point sizes to be associated with the HTML-sizes used in <FONT size=Html-Font-Size> to their default.

Html-Font-Sizes range from 0 (smallest) to 6 (biggest).

void  setStandardFont ( const QString &name )

setStandardFont

Set the standard font style.

Parameters:
nameThe font name to use for standard text.

void  setFixedFont ( const QString &name )

setFixedFont

Set the fixed font style.

Parameters:
nameThe font name to use for fixed text, e.g. the <tt>&lt;pre&gt;</tt> tag.

bool  gotoAnchor ( const QString &name )

gotoAnchor

Find the anchor named name.

If the anchor is found, the widget scrolls to the closest position. Returns if the anchor has been found.

void  setURLCursor ( const QCursor &c )

setURLCursor

Set the cursor to use when the cursor is on a link.

const QCursor&  urlCursor ()

urlCursor

[const]

Retrieve the cursor which is used when the cursor is on a link.

void  findTextBegin ()

findTextBegin

Initiate a text search.

bool  findTextNext ( const QRegExp &exp, bool forward )

findTextNext

Find the next occurrance of the expression.

bool  findTextNext ( const QString &str, bool forward, bool caseSensitive )

findTextNext

Find the next occurence of the string.

QString  selectedText ()

selectedText

[const virtual]

Get the text the user has marked.

DOM::Range  selection ()

selection

[const]

Retrieve the selected part of the HTML.

void  setSelection ( const DOM::Range & )

setSelection

set the current selection

bool  hasSelection ()

hasSelection

[const]

Has the user selected anything?

Call selectedText() to retrieve the selected text.

Returns: true if there is text selected.

void  selectAll ()

selectAll

Marks all text in the document as selected.

void  show ()

show

Convenience method to show the document's view.

Equivalent to widget()->show() or view()->show() .

void  hide ()

hide

Convenience method to hide the document's view.

Equivalent to widget()->hide() or view()->hide().

KParts::PartManagerpartManager ()

partManager

Retrieve a reference to the partmanager instance which manages html frame objects.

void  saveState ( QDataStream &stream )

saveState

[virtual]

Save the KHTMLPart's complete state (including child frame objects) to the provided QDataStream.

This is called from the saveState() method of the browserExtension().

void  restoreState ( QDataStream &stream )

restoreState

[virtual]

Restore the KHTMLPart's previously saved state (including child frame objects) from the provided QDataStream.

This is called from the restoreState() method of the browserExtension() .

See also: saveState()

bool  restoreURL ( const KURL &url )

restoreURL

Internal method called by restoreState() when the document, which is to be restored, is contained in the html page-cache.

DOM::Node  nodeUnderMouse ()

nodeUnderMouse

[const]

Retrieve the Node currently under the mouse

const KHTMLSettingssettings ()

settings

[const]

KHTMLPartparentPart ()

parentPart

Retrieve a pointer to the parent KHTMLPart if the part is a frame in an HTML frameset.

Returns 0L otherwise.

QStringList  frameNames ()

frameNames

[const]

Retrieve a list of names of all frame (including iframe) objects of the current document. Note that this method is not working recursively for sub-frames.

const QList<KParts::ReadOnlyPart>  frames ()

frames

[const]

KHTMLPartfindFrame ( const QString &f )

findFrame

Find a frame by name. Returns 0L if frame can't be found.

bool  frameExists ( const QString &frameName )

frameExists

Returns whether a frame with the specified name is exists or not. In contrary to the findFrame method this one also returns true if the frame is defined but no displaying component has been found/loaded, yet.

bool  openURLInFrame ( const KURL &url, const KParts::URLArgs &urlArgs )

openURLInFrame

The real implementation of the openURLInFrame method of KParts::BrowserExtension, called by khtml's implementation of the BrowserExtension interface.

void  setJSStatusBarText ( const QString &text )

setJSStatusBarText

Called by KJS. Sets the StatusBarText assigned via window.status

void  setJSDefaultStatusBarText ( const QString &text )

setJSDefaultStatusBarText

Called by KJS. Sets the DefaultStatusBarText assigned via window.defaultStatus

QString  jsStatusBarText ()

jsStatusBarText

[const]

Called by KJS. Returns the StatusBarText assigned via window.status

QString  jsDefaultStatusBarText ()

jsDefaultStatusBarText

[const]

Called by KJS. Returns the DefaultStatusBarText assigned via window.defaultStatus

void  onURL ( const QString &url )

onURL

[signal]

Emitted if the cursor is moved over an URL.

void  popupMenu (const QString &url, const QPoint &point)

popupMenu

[signal]

Emitted when the user clicks the right mouse button on the document.

void  selectionChanged ()

selectionChanged

[signal]

This signal is emitted when the selection changes.

void  nodeActivated (const DOM::Node &)

nodeActivated

[signal]

This signal is emitted when an element retrieves the keyboard focus. Note that the signal argument can be a null node if no element is active, meaning a node has explicitly been deactivated without a new one becoming active.

bool  event ( QEvent *event )

event

[protected virtual]

Reimplementation of KParts::ReadOnlyPart::event .

bool  eventFilter ( QObject *o, QEvent *event )

eventFilter

[protected virtual]

Reimplementation of QObject::eventFilter .

void  khtmlMousePressEvent ( khtml::MousePressEvent *event )

khtmlMousePressEvent

[protected virtual]

Eventhandler of the khtml::MousePressEvent.

void  khtmlMouseDoubleClickEvent ( khtml::MouseDoubleClickEvent * )

khtmlMouseDoubleClickEvent

[protected virtual]

Eventhandler for the khtml::MouseDoubleClickEvent.

void  khtmlMouseMoveEvent ( khtml::MouseMoveEvent *event )

khtmlMouseMoveEvent

[protected virtual]

Eventhandler for the khtml::MouseDoubleClickEvent.

void  khtmlMouseReleaseEvent ( khtml::MouseReleaseEvent *event )

khtmlMouseReleaseEvent

[protected virtual]

Eventhandler for the khtml::MouseMoveEvent.

void  khtmlDrawContentsEvent ( khtml::DrawContentsEvent * )

khtmlDrawContentsEvent

[protected virtual]

Eventhandler for the khtml::DrawContentsEvent.

void  guiActivateEvent ( KParts::GUIActivateEvent *event )

guiActivateEvent

[protected virtual]

Internal reimplementation of KParts::Part::guiActivateEvent .

Reimplemented from ReadOnlyPart.

bool  openFile ()

openFile

[protected virtual]

Internal empty reimplementation of KParts::ReadOnlyPart::openFile .

Reimplemented from ReadOnlyPart.

void  overURL ( const QString &url, const QString &target )

overURL

[protected virtual]

void  urlSelected ( const QString &url, int button = 0, int state = 0, const QString &_target = QString::null )

urlSelected

[protected virtual]

bool  processObjectRequest ( khtml::ChildFrame *child, const KURL &url, const QString &mimetype )

processObjectRequest

[protected]

void  submitForm ( const char *action, const QString &url, const QByteArray &formData, const QString &target, const QString& contentType = QString::null, const QString& boundary = QString::null )

submitForm

[protected virtual]

void  popupMenu ( const QString &url )

popupMenu

[protected virtual]

KParts::ReadOnlyPartcreatePart ( QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name, const QString &mimetype, QString &serviceName, QStringList &serviceTypes, const QStringList &params)

createPart

[protected virtual]

This method is called when a new embedded object (include html frames) is to be created. Reimplement it if you want to add support for certain embeddable objects without registering them in the KDE wide registry system (KSyCoCa) . Another reason for re-implementing this method could be if you want to derive from KTHMLPart and also want all html frame objects to be a object of your derived type, in which case you should return a new instance for the mimetype 'text/html' .

void  updateFontSize ( int add )

updateFontSize

[protected]

void  setFontBaseInternal ( int base, bool absolute )

setFontBaseInternal

[protected]

void  setActiveNode (const DOM::Node &)

setActiveNode

[slot]

Call this method to explicitly pass the focus to a certain element of the current document.

void  reparseConfiguration ()

reparseConfiguration

[protected slots slot]

Internal. Called by the BrowserExtension .

void  emitSelectionChanged ()

emitSelectionChanged

[protected]