diff options
Diffstat (limited to 'lib/widgets/kdevhtmlpart.h')
-rw-r--r-- | lib/widgets/kdevhtmlpart.h | 111 |
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 |