|
|
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 document.
KParts::BrowserExtension * browserExtension ()
| browserExtension |
[const]
Retrieve a pointer to the KParts::BrowserExtension
KHTMLView * view ()
| view |
[const]
Retrieve a pointer to the HTML document's view.
void enableJScript ( bool enable )
| enableJScript |
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.
bool jScriptEnabled ()
| jScriptEnabled |
[const]
Returns true
if Javascript support is enabled or false
otherwise.
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 |
bool dndEnabled ()
| dndEnabled |
[const]
void enableJava ( bool enable )
| enableJava |
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.
bool javaEnabled ()
| javaEnabled |
[const]
Return if Java applet support is enabled/disabled.
KJavaAppletContext * javaContext ()
| javaContext |
Return the java context of the applets. If no applet exists, 0 is returned.
KJavaAppletContext * createJavaContext ()
| createJavaContext |
Return the java context of the applets. If no context exists yet, a new one is created.
void autoloadImages ( bool enable )
| autoloadImages |
Should images be loaded automatically? Default is true
.
(not implemented at the moment)
bool autoloadImages ()
| autoloadImages |
[const]
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:
url | is 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. |
xOffset | is the initial horizontal scrollbar value. Usually you don't want to use this. |
yOffset | is 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 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.
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 |
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 1 (smallest) to 7 (biggest).
void setStandardFont ( const QString &name )
| setStandardFont |
Set the standard font style.
Parameters:
name | The font name to use for standard text. |
void setFixedFont ( const QString &name )
| setFixedFont |
Set the fixed font style.
Parameters:
name | The font name to use for fixed text, e.g. the <tt><pre></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.
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 |
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::PartManager * partManager ()
| partManager |
void saveState ( QDataStream &stream )
| saveState |
[virtual]
Save the KHTMLPart's complete state (including child frame objects) to the provided QDataStream.
You can use this method to provide history functionality.
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 |
DOM::Node nodeUnderMouse ()
| nodeUnderMouse |
[const]
Retrieve the Node
currently under the mouse
const KHTMLSettings * settings ()
| settings |
[const]
KHTMLPart * parentPart ()
| 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]
const QList<KParts::ReadOnlyPart> frames ()
| frames |
[const]
KHTMLPart * findFrame ( 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 |
void onURL ( const QString &url )
| onURL |
[signal]
Eemitted 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]
bool event ( QEvent *event )
| event |
[protected: virtual]
void khtmlMousePressEvent ( khtml::MousePressEvent *event )
| khtmlMousePressEvent |
[protected: virtual]
void khtmlMouseDoubleClickEvent ( khtml::MouseDoubleClickEvent * )
| khtmlMouseDoubleClickEvent |
[protected: virtual]
void khtmlMouseMoveEvent ( khtml::MouseMoveEvent *event )
| khtmlMouseMoveEvent |
[protected: virtual]
void khtmlMouseReleaseEvent ( khtml::MouseReleaseEvent *event )
| khtmlMouseReleaseEvent |
[protected: virtual]
void khtmlDrawContentsEvent ( khtml::DrawContentsEvent * )
| khtmlDrawContentsEvent |
[protected: virtual]
void guiActivateEvent ( KParts::GUIActivateEvent *event )
| guiActivateEvent |
[protected: virtual]
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::ReadOnlyPart * createPart ( QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name, const QString &mimetype, QString &serviceName, QStringList &serviceTypes, const QStringList ¶ms)
| createPart |
[protected: virtual]
void updateFontSize ( int add )
| updateFontSize |
[protected: ]
void setFontBaseInternal ( int base, bool absolute )
| setFontBaseInternal |
[protected: ]
void reparseConfiguration ()
| reparseConfiguration |
[protected slots: slot]
Internal. Called by the BrowserExtension .