26 #ifndef __tdehtml_part_h__ 27 #define __tdehtml_part_h__ 29 #include "dom/html_document.h" 30 #include "dom/dom2_range.h" 32 #include <tdeparts/part.h> 33 #include <tdeparts/browserextension.h> 34 #include <kdemacros.h> 35 #include <kfinddialog.h> 39 class TDEHTMLPartPrivate;
44 class KJavaAppletContext;
50 class HTMLDocumentImpl;
52 class HTMLTitleElementImpl;
53 class HTMLElementImpl;
54 class HTMLFrameElementImpl;
55 class HTMLIFrameElementImpl;
56 class HTMLObjectElementImpl;
57 class HTMLFormElementImpl;
58 class HTMLAnchorElementImpl;
59 class HTMLMetaElementImpl;
62 class HTMLEventListener;
75 class RenderPartObject;
78 class MousePressEvent;
79 class MouseDoubleClickEvent;
81 class MouseReleaseEvent;
82 class DrawContentsEvent;
85 class CSSStyleSelector;
95 class JSEventListener;
96 class JSLazyEventListener;
100 class ScheduledAction;
106 class LiveConnectExtension;
188 friend class DOM::HTMLTitleElementImpl;
189 friend class DOM::HTMLFrameElementImpl;
190 friend class DOM::HTMLIFrameElementImpl;
191 friend class DOM::HTMLObjectElementImpl;
192 friend class DOM::HTMLAnchorElementImpl;
193 friend class DOM::HTMLMetaElementImpl;
194 friend class DOM::NodeImpl;
195 friend class TDEHTMLRun;
196 friend class DOM::HTMLFormElementImpl;
197 friend class tdehtml::RenderPartObject;
198 friend class KJS::Window;
199 friend class KJS::ScheduledAction;
200 friend class KJS::JSNodeFilter;
201 friend class KJS::WindowFunc;
202 friend class KJS::ExternalFunc;
203 friend class KJS::JSEventListener;
204 friend class KJS::JSLazyEventListener;
205 friend class KJS::DOMDocument;
206 friend class KJS::SourceFile;
207 friend class KJSProxy;
209 friend class DOM::DocumentImpl;
210 friend class DOM::HTMLDocumentImpl;
211 friend class TDEHTMLPartBrowserHostExtension;
212 friend class tdehtml::HTMLTokenizer;
213 friend class tdehtml::XMLTokenizer;
214 friend class tdehtml::RenderWidget;
215 friend class tdehtml::CSSStyleSelector;
217 friend class TDEHTMLPartFunction;
218 friend class TDEHTMLPopupGUIClient;
220 TQ_PROPERTY(
bool javaScriptEnabled READ jScriptEnabled WRITE setJScriptEnabled )
221 TQ_PROPERTY(
bool javaEnabled READ javaEnabled WRITE setJavaEnabled )
222 TQ_PROPERTY(
bool autoloadImages READ autoloadImages WRITE setAutoloadImages )
223 TQ_PROPERTY(
bool dndEnabled READ dndEnabled WRITE setDNDEnabled )
224 TQ_PROPERTY(
bool pluginsEnabled READ pluginsEnabled WRITE setPluginsEnabled )
231 TQ_PROPERTY( TQCString dcopObjectId READ dcopObjectId )
232 TQ_PROPERTY(
bool modified READ isModified )
235 enum GUIProfile { DefaultGUI, BrowserViewGUI };
249 TDEHTMLPart( TQWidget *parentWidget = 0,
const char *widgetname = 0,
250 TQObject *parent = 0,
const char *name = 0, GUIProfile prof = DefaultGUI );
252 TDEHTMLPart(
TDEHTMLView *view, TQObject *parent = 0,
const char *name = 0, GUIProfile prof = DefaultGUI );
264 virtual bool openURL(
const KURL &url );
269 virtual bool closeURL();
277 virtual void showError( TDEIO::Job* job );
293 TQString documentSource()
const;
318 void setJScriptEnabled(
bool enable );
324 bool jScriptEnabled()
const;
343 KJS::Interpreter *jScriptInterpreter();
356 void setStatusMessagesEnabled(
bool enable );
361 bool statusMessagesEnabled()
const;
366 void setMetaRefreshEnabled(
bool enable );
371 bool metaRefreshEnabled()
const;
377 TQVariant executeScript(
const DOM::Node &n,
const TQString &script );
383 void setDNDEnabled(
bool b );
388 bool dndEnabled()
const;
396 void setJavaEnabled(
bool enable );
401 bool javaEnabled()
const;
406 KJavaAppletContext *javaContext();
412 KJavaAppletContext *createJavaContext();
417 void setPluginsEnabled(
bool enable );
422 bool pluginsEnabled()
const;
430 void setAutoloadImages(
bool enable );
437 bool autoloadImages()
const;
455 void setOnlyLocalReferences(
bool enable );
461 bool onlyLocalReferences()
const;
466 bool isCaretMode()
const;
472 bool isEditable()
const;
487 void setCaretPosition(
DOM::Node node,
long offset,
bool extendSelection =
false);
497 CaretVisible, CaretInvisible, CaretBlink
518 #ifndef KDE_NO_COMPAT 519 void enableJScript(
bool e ) { setJScriptEnabled(e); }
520 void enableJava(
bool e ) { setJavaEnabled(e); }
521 void enablePlugins(
bool e ) { setPluginsEnabled(e); }
522 void autoloadImages(
bool e ) { setAutoloadImages(e); }
523 void enableMetaRefresh(
bool e ) { setMetaRefreshEnabled(e); }
524 bool setCharset(
const TQString &,
bool ) {
return true; }
526 KURL baseURL()
const;
527 TQString baseTarget()
const;
533 KURL backgroundURL()
const;
538 void scheduleRedirection(
int delay,
const TQString &url,
bool lockHistory =
true );
562 virtual void begin(
const KURL &url =
KURL(),
int xOffset = 0,
int yOffset = 0 );
584 virtual void write(
const char *str,
int len = -1 );
593 virtual void write(
const TQString &str );
610 void paint( TQPainter *,
const TQRect &,
int = 0,
bool * = 0 );
618 bool setEncoding(
const TQString &name,
bool override =
false );
625 TQString encoding()
const;
636 void setUserStyleSheet(
const KURL &url );
647 void setUserStyleSheet(
const TQString &styleSheet );
656 void setStandardFont(
const TQString &name );
664 void setFixedFont(
const TQString &name );
673 bool gotoAnchor(
const TQString &name );
692 void setURLCursor(
const TQCursor &c );
697 TQCursor urlCursor()
const;
705 FindLinksOnly = 1 * KFindDialog::MinimumUserOption,
706 FindNoPopups = 2 * KFindDialog::MinimumUserOption
725 void findText(
const TQString &str,
long options, TQWidget *parent = 0,
726 KFindDialog *findDialog = 0 );
731 void findTextBegin();
738 bool findTextNext(
const TQString &str,
bool forward,
bool caseSensitive,
bool isRegExp );
754 bool findTextNext(
bool reverse );
766 void setZoomFactor(
int percent);
771 int zoomFactor()
const;
776 virtual TQString selectedText()
const;
786 TQString selectedTextAsHTML()
const;
791 DOM::Range selection()
const;
804 void selection(
DOM::Node &startNode,
long &startOffset,
805 DOM::Node &endNode,
long &endOffset)
const;
810 void setSelection(
const DOM::Range & );
820 bool hasSelection()
const;
854 virtual void saveState( TQDataStream &stream );
864 virtual void restoreState( TQDataStream &stream );
882 DOM::Node nonSharedNodeUnderMouse()
const;
902 TQStringList frameNames()
const;
904 TQPtrList<KParts::ReadOnlyPart> frames()
const;
934 bool frameExists(
const TQString &frameName );
950 void setJSStatusBarText(
const TQString &text );
957 void setJSDefaultStatusBarText(
const TQString &text );
964 TQString jsStatusBarText()
const;
971 TQString jsDefaultStatusBarText()
const;
976 TQString referrer()
const;
981 TQString pageReferrer()
const;
986 TQString lastModified()
const;
991 void preloadStyleSheet(
const TQString &url,
const TQString &stylesheet );
996 void preloadScript(
const TQString &url,
const TQString &script );
1001 bool restored()
const;
1004 enum FormNotification { NoNotification = 0, Before, Only, Unused=255 };
1011 void setFormNotification(FormNotification fn);
1019 FormNotification formNotification()
const;
1036 bool isModified()
const;
1043 void setSuppressedPopupIndicator(
bool enable );
1049 void setSuppressedPopupIndicator(
bool enable,
TDEHTMLPart *originPart );
1055 bool inProgress()
const;
1061 void onURL(
const TQString &url );
1066 void popupMenu(
const TQString &url,
const TQPoint &point );
1071 void selectionChanged();
1080 void nodeActivated(
const DOM::Node & );
1097 void caretPositionChanged(
const DOM::Node &node,
long offset);
1106 void formSubmitNotification(
const char *action,
const TQString& url,
1107 const TQByteArray& formData,
const TQString& target,
1108 const TQString& contentType,
const TQString& boundary);
1117 KURL completeURL(
const TQString &url );
1125 void htmlError(
int errorCode,
const TQString& text,
const KURL& reqUrl );
1127 virtual void customEvent( TQCustomEvent *event );
1132 virtual void tdehtmlMousePressEvent( tdehtml::MousePressEvent *event );
1136 virtual void tdehtmlMouseDoubleClickEvent( tdehtml::MouseDoubleClickEvent * );
1140 virtual void tdehtmlMouseMoveEvent( tdehtml::MouseMoveEvent *event );
1144 virtual void tdehtmlMouseReleaseEvent( tdehtml::MouseReleaseEvent *event );
1148 virtual void tdehtmlDrawContentsEvent( tdehtml::DrawContentsEvent * );
1158 virtual bool openFile();
1160 virtual void urlSelected(
const TQString &url,
int button,
int state,
1172 TQObject *parent,
const char *name,
1173 const TQString &mimetype, TQString &serviceName,
1174 TQStringList &serviceTypes,
const TQStringList ¶ms);
1178 bool pluginPageQuestionAsked(
const TQString& mimetype )
const;
1179 void setPluginPageQuestionAsked(
const TQString& mimetype );
1181 enum PageSecurity { NotCrypted, Encrypted, Mixed };
1182 void setPageSecurity( PageSecurity sec );
1187 virtual bool doOpenStream(
const TQString& mimeType );
1192 virtual bool doWriteStream(
const TQByteArray& data );
1197 virtual bool doCloseStream();
1210 void setActiveNode(
const DOM::Node &node );
1215 void stopAnimations();
1217 TQCString dcopObjectId()
const;
1226 TQVariant executeScript(
const TQString &script );
1238 void setCaretMode(
bool enable);
1251 void setEditable(
bool enable);
1269 void setCaretVisible(
bool show);
1275 void submitFormProxy(
const char *action,
const TQString &url,
1276 const TQByteArray &formData,
1277 const TQString &target,
1278 const TQString& contentType = TQString::null,
1279 const TQString& boundary = TQString::null );
1286 void reparseConfiguration();
1291 void slotData( TDEIO::Job*,
const TQByteArray &data );
1295 void slotInfoMessage( TDEIO::Job*,
const TQString& msg );
1299 void slotRestoreData(
const TQByteArray &data );
1303 void slotFinished( TDEIO::Job* );
1307 void slotFinishedParsing();
1311 void slotRedirect();
1315 void slotRedirection( TDEIO::Job*,
const KURL& );
1319 void slotDebugScript();
1323 void slotDebugDOMTree();
1327 void slotDebugRenderTree();
1331 void slotStopAnimations();
1335 virtual void slotViewDocumentSource();
1339 virtual void slotViewFrameSource();
1343 void slotViewPageInfo();
1347 virtual void slotSaveBackground();
1351 virtual void slotSaveDocument();
1355 virtual void slotSaveFrame();
1359 virtual void slotSecurity();
1363 virtual void slotSetEncoding();
1368 virtual void slotUseStylesheet();
1370 virtual void slotFind();
1371 virtual void slotFindDone();
1372 virtual void slotFindDialogDestroyed();
1373 void slotFindNext();
1374 void slotFindPrev();
1375 void slotFindAheadText();
1376 void slotFindAheadLink();
1380 void slotIncZoomFast();
1381 void slotDecZoomFast();
1383 void slotLoadImages();
1384 void slotWalletClosed();
1385 void launchWalletManager();
1391 void submitFormAgain();
1396 void updateActions();
1408 void slotChildStarted( TDEIO::Job *job );
1412 void slotChildCompleted();
1416 void slotChildCompleted(
bool );
1420 void slotParentCompleted();
1428 void slotChildDocCreated();
1433 void slotLoaderRequestStarted( tdehtml::DocLoader*, tdehtml::CachedObject* obj);
1434 void slotLoaderRequestDone( tdehtml::DocLoader*, tdehtml::CachedObject *obj );
1435 void checkCompleted();
1440 void slotAutoScroll();
1442 void slotPrintFrame();
1444 void slotSelectAll();
1449 void slotProgressUpdate();
1454 void slotJobPercent( TDEIO::Job*,
unsigned long );
1459 void slotJobDone( TDEIO::Job* );
1464 void slotUserSheetStatDone( TDEIO::Job* );
1469 void slotJobSpeed( TDEIO::Job*,
unsigned long );
1474 void slotClearSelection();
1479 void slotZoomView(
int );
1484 void slotHighlight(
const TQString &,
int index,
int length );
1489 void slotAutomaticDetectionLanguage(
int _id );
1494 void slotToggleCaretMode();
1499 void suppressedPopupMenu();
1504 void togglePopupPassivePopup();
1509 void showSuppressedPopups();
1514 void launchJSConfigDialog();
1519 void launchJSErrorDialog();
1524 void removeJSErrorExtension();
1529 void disableJSErrorExtension();
1534 void jsErrorDialogContextMenu();
1541 void restoreScrollPosition();
1543 void walletOpened(TDEWallet::Wallet*);
1547 KJSErrorDlg *jsErrorExtension();
1549 enum StatusBarPriority { BarDefaultText, BarHoverText, BarOverrideText };
1550 void setStatusBarText(
const TQString& text, StatusBarPriority p);
1552 bool restoreURL(
const KURL &url );
1553 void resetFromScript();
1554 void emitSelectionChanged();
1556 bool checkFrameAccess(
TDEHTMLPart *callingHtmlPart);
1558 bool urlSelectedIntern(
const TQString &url,
int button,
int state,
1560 void startAutoScroll();
1561 void stopAutoScroll();
1562 void overURL(
const TQString &url,
const TQString &target,
bool shiftPressed =
false );
1563 void resetHoverText();
1565 bool processObjectRequest( tdehtml::ChildFrame *child,
const KURL &url,
const TQString &mimetype );
1567 TDEWallet::Wallet* wallet();
1569 void openWallet(DOM::HTMLFormElementImpl*);
1570 void saveToWallet(
const TQString& key,
const TQMap<TQString,TQString>& data);
1571 void dequeueWallet(DOM::HTMLFormElementImpl*);
1573 void enableFindAheadActions(
bool);
1585 void submitForm(
const char *action,
const TQString &url,
const TQByteArray &formData,
1586 const TQString &target,
const TQString& contentType = TQString::null,
1587 const TQString& boundary = TQString::null );
1589 void popupMenu(
const TQString &url );
1596 bool scheduleScript(
const DOM::Node &n,
const TQString& script);
1598 TQVariant crossFrameExecuteScript(
const TQString& target,
const TQString& script);
1599 TQVariant executeScheduledScript();
1601 bool requestFrame( tdehtml::RenderPart *frame,
const TQString &url,
const TQString &frameName,
1602 const TQStringList &args = TQStringList(),
bool isIFrame =
false );
1611 TQString requestFrameName();
1613 bool requestObject( tdehtml::RenderPart *frame,
const TQString &url,
const TQString &serviceType,
1614 const TQStringList &args = TQStringList() );
1618 DOM::EventListener *createHTMLEventListener( TQString code, TQString name, DOM::NodeImpl *node );
1620 DOM::HTMLDocumentImpl *docImpl()
const;
1621 DOM::DocumentImpl *xmlDocImpl()
const;
1622 tdehtml::ChildFrame *frame(
const TQObject *obj );
1624 tdehtml::ChildFrame *recursiveFrameRequest(
TDEHTMLPart *callingHtmlPart,
const KURL &url,
const KParts::URLArgs &args,
bool callParent =
true );
1626 bool checkLinkSecurity(
const KURL &linkURL,
const TQString &message = TQString::null,
const TQString &button = TQString::null );
1627 TQVariant executeScript(
const TQString& filename,
int baseLine,
const DOM::Node &n,
const TQString& script );
1629 KJSProxy *jScript();
1632 long cacheId()
const;
1635 void setOpenedByJS(
bool _openedByJS );
1637 void checkEmitLoadEvent();
1638 void emitLoadEvent();
1640 bool initFindNode(
bool selection,
bool reverse,
bool fromCursor );
1642 void extendSelection( DOM::NodeImpl* node,
long offset,
DOM::Node& selectionNode,
long& selectionOffset,
bool right,
bool paragraph );
1652 void extendSelectionTo(
int x,
int y,
int absX,
int absY,
const DOM::Node &innerNode);
1656 bool isExtendingSelection()
const;
1657 tdehtml::Decoder *createDecoder();
1658 TQString defaultEncoding()
const;
1661 TQString defaultExtension()
const;
1666 void zoomIn(
const int stepping[],
int count);
1670 void zoomOut(
const int stepping[],
int count);
1672 void emitCaretPositionChanged(
const DOM::Node &node,
long offset);
1674 void setDebugScript(
bool enable );
1678 TDEHTMLPartPrivate *d;
1679 friend class TDEHTMLPartPrivate;
DCOP interface for TDEHTML.
The Node interface is the primary datatype for the entire Document Object Model.
An HTMLDocument is the root of the HTML hierarchy and holds the entire content.
Settings for the HTML view.
The Document interface represents the entire HTML or XML document.
Introduced in DOM Level 2.
The Document Object Model (DOM) is divided into two parts, the COREDOM core DOM, specifying some core...
This class is tdehtml's main class.
Renders and displays HTML in a TQScrollView.
This is the BrowserExtension for a TDEHTMLPart document.
CaretDisplayPolicy
Enumeration for displaying the caret.
FindOptions
Extra Find options that can be used when calling the extended findText().