summaryrefslogtreecommitdiffstats
path: root/lib/widgets/kdevhtmlpart.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/kdevhtmlpart.h')
-rw-r--r--lib/widgets/kdevhtmlpart.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/lib/widgets/kdevhtmlpart.h b/lib/widgets/kdevhtmlpart.h
new file mode 100644
index 00000000..6c8f7dc3
--- /dev/null
+++ b/lib/widgets/kdevhtmlpart.h
@@ -0,0 +1,111 @@
+#ifndef __KDEVHTMLPART_H__
+#define __KDEVHTMLPART_H__
+
+#include <stdlib.h>
+
+#include <tqdatetime.h>
+
+#include <tdehtml_part.h>
+
+/**
+@file kdevhtmlpart.h
+Customized TDEHTML part for KDevelop.
+*/
+
+class TDEAction;
+class TDEToolBarPopupAction;
+
+struct DocumentationHistoryEntry {
+ KURL url;
+ int id;
+
+ DocumentationHistoryEntry() {}
+ DocumentationHistoryEntry( const KURL& u ): url( u )
+ {
+ id = abs( TQTime::currentTime().msecsTo( TQTime() ) ); // nasty, but should provide a reasonably unique number
+ }
+};
+
+/**
+Customized TDEHTML part for KDevelop.
+Used as HTML documentation and file viewer.
+
+Represents customized BrowserViewGUI mode of TDEHTMLPart. Provides also actions for:
+- reload;
+- stop;
+- duplicate;
+- print;
+- copy text;
+- back;
+- forward.
+.
+It has it's own popup menu and font/zoom settings.
+*/
+class KDevHTMLPart : public TDEHTMLPart
+{
+ Q_OBJECT
+
+
+public:
+
+ enum Options { CanDuplicate=1, CanOpenInNewWindow=2 };
+
+ KDevHTMLPart();
+
+ void setContext(const TQString &context);
+ TQString context() const;
+ virtual bool openURL(const KURL &url);
+ static TQString resolveEnvVarsInURL(const TQString& url);
+
+ void setOptions(int options) { m_options = options; }
+
+signals:
+ void fileNameChanged(KParts::ReadOnlyPart *part);
+
+protected slots:
+
+ void slotStarted(TDEIO::Job *);
+ void slotCompleted();
+ void slotCancelled(const TQString &errMsg);
+
+ void openURLRequest(const KURL &url);
+ void popup( const TQString & url, const TQPoint & p );
+
+ void slotReload();
+ void slotStop();
+ virtual void slotDuplicate() = 0;
+ virtual void slotOpenInNewWindow(const KURL &url) = 0;
+ void slotPrint();
+ void slotCopy();
+ void slotSelectionChanged();
+
+ void slotBack();
+ void slotForward();
+ void slotBackAboutToShow();
+ void slotForwardAboutToShow();
+
+ void slotPopupActivated( int id );
+ void addHistoryEntry();
+
+
+private:
+
+ TQValueList< DocumentationHistoryEntry > m_history;
+ TQValueList< DocumentationHistoryEntry >::Iterator m_Current;
+
+ TDEToolBarPopupAction* m_backAction;
+ TDEToolBarPopupAction* m_forwardAction;
+
+ bool m_restoring;
+
+ TQString m_context;
+ TDEAction *stopAction;
+ TDEAction *reloadAction;
+ TDEAction *duplicateAction;
+ TDEAction *printAction;
+ TDEAction *copyAction;
+
+ int m_options;
+};
+
+#endif