#ifndef __KDEVHTMLPART_H__ #define __KDEVHTMLPART_H__ #include #include #include /** @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