⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlwin.h

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 H
📖 第 1 页 / 共 2 页
字号:
    // Goes to previous/next page (in browsing history)    // Returns true if successful, false otherwise    bool HistoryBack();    bool HistoryForward();    bool HistoryCanBack();    bool HistoryCanForward();    // Resets history    void HistoryClear();    // Returns pointer to conteiners/cells structure.    // It should be used ONLY when printing    wxHtmlContainerCell* GetInternalRepresentation() const {return m_Cell;}    // Adds input filter    static void AddFilter(wxHtmlFilter *filter);    // Returns a pointer to the parser.    wxHtmlWinParser *GetParser() const { return m_Parser; }    // Adds HTML processor to this instance of wxHtmlWindow:    void AddProcessor(wxHtmlProcessor *processor);    // Adds HTML processor to wxHtmlWindow class as whole:    static void AddGlobalProcessor(wxHtmlProcessor *processor);    // -- Callbacks --    // Sets the title of the window    // (depending on the information passed to SetRelatedFrame() method)    virtual void OnSetTitle(const wxString& title);    // Called when user clicked on hypertext link. Default behavior is to    // call LoadPage(loc)    virtual void OnLinkClicked(const wxHtmlLinkInfo& link);    // Called when wxHtmlWindow wants to fetch data from an URL (e.g. when    // loading a page or loading an image). The data are downloaded if and only if    // OnOpeningURL returns true. If OnOpeningURL returns wxHTML_REDIRECT,    // it must set *redirect to the new URL    virtual wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType WXUNUSED(type),                                             const wxString& WXUNUSED(url),                                             wxString *WXUNUSED(redirect)) const        { return wxHTML_OPEN; }#if wxUSE_CLIPBOARD    // Helper functions to select parts of page:    void SelectWord(const wxPoint& pos);    void SelectLine(const wxPoint& pos);    void SelectAll();    // Convert selection to text:    wxString SelectionToText() { return DoSelectionToText(m_selection); }    // Converts current page to text:    wxString ToText();#endif // wxUSE_CLIPBOARD    virtual void OnInternalIdle();    /// Returns standard HTML cursor as used by wxHtmlWindow    static wxCursor GetDefaultHTMLCursor(HTMLCursor type);protected:    void Init();    // Scrolls to anchor of this name. (Anchor is #news    // or #features etc. it is part of address sometimes:    // http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/index.html#news)    // Return value : true if anchor exists, false otherwise    bool ScrollToAnchor(const wxString& anchor);    // Prepares layout (= fill m_PosX, m_PosY for fragments) based on    // actual size of window. This method also setup scrollbars    void CreateLayout();    void OnEraseBackground(wxEraseEvent& event);    void OnPaint(wxPaintEvent& event);    void OnSize(wxSizeEvent& event);    void OnMouseMove(wxMouseEvent& event);    void OnMouseDown(wxMouseEvent& event);    void OnMouseUp(wxMouseEvent& event);#if wxUSE_CLIPBOARD    void OnKeyUp(wxKeyEvent& event);    void OnDoubleClick(wxMouseEvent& event);    void OnCopy(wxCommandEvent& event);    void OnClipboardEvent(wxClipboardTextEvent& event);    void OnMouseEnter(wxMouseEvent& event);    void OnMouseLeave(wxMouseEvent& event);    void OnMouseCaptureLost(wxMouseCaptureLostEvent& event);#endif // wxUSE_CLIPBOARD    // Returns new filter (will be stored into m_DefaultFilter variable)    virtual wxHtmlFilter *GetDefaultFilter() {return new wxHtmlFilterPlainText;}    // cleans static variables    static void CleanUpStatics();    // Returns true if text selection is enabled (wxClipboard must be available    // and wxHW_NO_SELECTION not used)    bool IsSelectionEnabled() const;    enum ClipboardType    {        Primary,        Secondary    };    // Copies selection to clipboard if the clipboard support is available    //    // returns true if anything was copied to clipboard, false otherwise    bool CopySelection(ClipboardType t = Secondary);#if wxUSE_CLIPBOARD    // Automatic scrolling during selection:    void StopAutoScrolling();#endif // wxUSE_CLIPBOARD    wxString DoSelectionToText(wxHtmlSelection *sel);public:    // wxHtmlWindowInterface methods:    virtual void SetHTMLWindowTitle(const wxString& title);    virtual void OnHTMLLinkClicked(const wxHtmlLinkInfo& link);    virtual wxHtmlOpeningStatus OnHTMLOpeningURL(wxHtmlURLType type,                                                 const wxString& url,                                                 wxString *redirect) const;    virtual wxPoint HTMLCoordsToWindow(wxHtmlCell *cell,                                       const wxPoint& pos) const;    virtual wxWindow* GetHTMLWindow();    virtual wxColour GetHTMLBackgroundColour() const;    virtual void SetHTMLBackgroundColour(const wxColour& clr);    virtual void SetHTMLBackgroundImage(const wxBitmap& bmpBg);    virtual void SetHTMLStatusText(const wxString& text);    virtual wxCursor GetHTMLCursor(HTMLCursor type) const;    // implementation of SetPage()    bool DoSetPage(const wxString& source);protected:    // This is pointer to the first cell in parsed data.  (Note: the first cell    // is usually top one = all other cells are sub-cells of this one)    wxHtmlContainerCell *m_Cell;    // parser which is used to parse HTML input.    // Each wxHtmlWindow has it's own parser because sharing one global    // parser would be problematic (because of reentrancy)    wxHtmlWinParser *m_Parser;    // contains name of actualy opened page or empty string if no page opened    wxString m_OpenedPage;    // contains name of current anchor within m_OpenedPage    wxString m_OpenedAnchor;    // contains title of actualy opened page or empty string if no <TITLE> tag    wxString m_OpenedPageTitle;    // class for opening files (file system)    wxFileSystem* m_FS;    wxFrame *m_RelatedFrame;    wxString m_TitleFormat;#if wxUSE_STATUSBAR    // frame in which page title should be displayed & number of it's statusbar    // reserved for usage with this html window    int m_RelatedStatusBar;#endif // wxUSE_STATUSBAR    // borders (free space between text and window borders)    // defaults to 10 pixels.    int m_Borders;    // current text selection or NULL    wxHtmlSelection *m_selection;    // true if the user is dragging mouse to select text    bool m_makingSelection;#if wxUSE_CLIPBOARD    // time of the last doubleclick event, used to detect tripleclicks    // (tripleclicks are used to select whole line):    wxMilliClock_t m_lastDoubleClick;    // helper class to automatically scroll the window if the user is selecting    // text and the mouse leaves wxHtmlWindow:    wxHtmlWinAutoScrollTimer *m_timerAutoScroll;#endif // wxUSE_CLIPBOARDprivate:    // window content for double buffered rendering:    wxBitmap *m_backBuffer;    // background image, may be invalid    wxBitmap m_bmpBg;    // variables used when user is selecting text    wxPoint     m_tmpSelFromPos;    wxHtmlCell *m_tmpSelFromCell;    // if >0 contents of the window is not redrawn    // (in order to avoid ugly blinking)    int m_tmpCanDrawLocks;    // list of HTML filters    static wxList m_Filters;    // this filter is used when no filter is able to read some file    static wxHtmlFilter *m_DefaultFilter;    // html processors array:    wxHtmlProcessorList *m_Processors;    static wxHtmlProcessorList *m_GlobalProcessors;    // browser history    wxHtmlHistoryArray *m_History;    int m_HistoryPos;    // if this FLAG is false, items are not added to history    bool m_HistoryOn;    // a flag set if we need to erase background in OnPaint() (otherwise this    // is supposed to have been done in OnEraseBackground())    bool m_eraseBgInOnPaint;    // standard mouse cursors    static wxCursor *ms_cursorLink;    static wxCursor *ms_cursorText;    DECLARE_EVENT_TABLE()    DECLARE_NO_COPY_CLASS(wxHtmlWindow)};BEGIN_DECLARE_EVENT_TYPES()    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_HTML,                                wxEVT_COMMAND_HTML_CELL_CLICKED, 1000)    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_HTML,                                wxEVT_COMMAND_HTML_CELL_HOVER, 1001)    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_HTML,                                wxEVT_COMMAND_HTML_LINK_CLICKED, 1002)END_DECLARE_EVENT_TYPES()/*! * Html cell window event */class WXDLLIMPEXP_HTML wxHtmlCellEvent : public wxCommandEvent{public:    wxHtmlCellEvent() {}    wxHtmlCellEvent(wxEventType commandType, int id,                    wxHtmlCell *cell, const wxPoint &pt,                    const wxMouseEvent &ev)        : wxCommandEvent(commandType, id)    {        m_cell = cell;        m_pt = pt;        m_mouseEvent = ev;        m_bLinkWasClicked = false;    }    wxHtmlCell* GetCell() const { return m_cell; }    wxPoint GetPoint() const { return m_pt; }    wxMouseEvent GetMouseEvent() const { return m_mouseEvent; }    void SetLinkClicked(bool linkclicked) { m_bLinkWasClicked=linkclicked; }    bool GetLinkClicked() const { return m_bLinkWasClicked; }    // default copy ctor, assignment operator and dtor are ok    virtual wxEvent *Clone() const { return new wxHtmlCellEvent(*this); }private:    wxHtmlCell *m_cell;    wxMouseEvent m_mouseEvent;    wxPoint m_pt;    bool m_bLinkWasClicked;    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxHtmlCellEvent)};/*! * Html link event */class WXDLLIMPEXP_HTML wxHtmlLinkEvent : public wxCommandEvent{public:    wxHtmlLinkEvent() {}    wxHtmlLinkEvent(int id, const wxHtmlLinkInfo &linkinfo)        : wxCommandEvent(wxEVT_COMMAND_HTML_LINK_CLICKED, id)    {        m_linkInfo = linkinfo;    }    const wxHtmlLinkInfo &GetLinkInfo() const { return m_linkInfo; }    // default copy ctor, assignment operator and dtor are ok    virtual wxEvent *Clone() const { return new wxHtmlLinkEvent(*this); }private:    wxHtmlLinkInfo m_linkInfo;    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxHtmlLinkEvent)};typedef void (wxEvtHandler::*wxHtmlCellEventFunction)(wxHtmlCellEvent&);typedef void (wxEvtHandler::*wxHtmlLinkEventFunction)(wxHtmlLinkEvent&);#define wxHtmlCellEventHandler(func) \    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxHtmlCellEventFunction, &func)#define wxHtmlLinkEventHandler(func) \    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxHtmlLinkEventFunction, &func)#define EVT_HTML_CELL_CLICKED(id, fn) \    wx__DECLARE_EVT1(wxEVT_COMMAND_HTML_CELL_CLICKED, id, wxHtmlCellEventHandler(fn))#define EVT_HTML_CELL_HOVER(id, fn) \    wx__DECLARE_EVT1(wxEVT_COMMAND_HTML_CELL_HOVER, id, wxHtmlCellEventHandler(fn))#define EVT_HTML_LINK_CLICKED(id, fn) \    wx__DECLARE_EVT1(wxEVT_COMMAND_HTML_LINK_CLICKED, id, wxHtmlLinkEventHandler(fn))#endif // wxUSE_HTML#endif // _WX_HTMLWIN_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -