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

📄 khtmlview.h

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 H
📖 第 1 页 / 共 2 页
字号:
/* This file is part of the KDE project   Copyright (C) 1997 Martin Jones (mjones@kde.org)             (C) 1998 Waldo Bastian (bastian@kde.org)             (C) 1998, 1999 Torben Weis (weis@kde.org)             (C) 1999 Lars Knoll (knoll@kde.org)             (C) 1999 Antti Koivisto (koivisto@kde.org)   This library is free software; you can redistribute it and/or   modify it under the terms of the GNU Library General Public   License as published by the Free Software Foundation; either   version 2 of the License, or (at your option) any later version.   This library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Library General Public License for more details.   You should have received a copy of the GNU Library General Public License   along with this library; see the file COPYING.LIB.  If not, write to   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,   Boston, MA 02110-1301, USA.*/#ifndef KHTMLVIEW_H#define KHTMLVIEW_H// qt includes and classes#include <qscrollview.h>#include <kdelibs_export.h>class QPainter;class QRect;template< typename T > class QValueVector;namespace DOM {    class HTMLDocumentImpl;    class DocumentImpl;    class ElementImpl;    class HTMLElementImpl;    class HTMLTitleElementImpl;    class HTMLGenericFormElementImpl;    class HTMLFormElementImpl;    class HTMLAnchorElementImpl;    class HTMLInputElementImpl;    class Range;    class NodeImpl;    class CSSProperty;}namespace KJS {    class WindowFunc;    class ExternalFunc;}namespace khtml {    class RenderObject;    class RenderCanvas;    class RenderStyle;    class RenderLineEdit;    class RenderPartObject;    class RenderWidget;    class CSSStyleSelector;    class LineEditWidget;    class CaretBox;    void applyRule(DOM::CSSProperty *prop);}class KHTMLPart;class KHTMLViewPrivate;/** * Renders and displays HTML in a QScrollView. * * Suitable for use as an application's main view. **/class KHTML_EXPORT KHTMLView : public QScrollView{    Q_OBJECT    friend class DOM::HTMLDocumentImpl;    friend class DOM::HTMLTitleElementImpl;    friend class DOM::HTMLGenericFormElementImpl;    friend class DOM::HTMLFormElementImpl;    friend class DOM::HTMLAnchorElementImpl;    friend class DOM::HTMLInputElementImpl;    friend class DOM::DocumentImpl;    friend class KHTMLPart;    friend class khtml::RenderCanvas;    friend class khtml::RenderObject;    friend class khtml::RenderLineEdit;    friend class khtml::RenderPartObject;    friend class khtml::RenderWidget;    friend class khtml::CSSStyleSelector;    friend class khtml::LineEditWidget;    friend class KJS::WindowFunc;    friend class KJS::ExternalFunc;    friend void khtml::applyRule(DOM::CSSProperty *prop);public:    /**     * Constructs a KHTMLView.     */    KHTMLView( KHTMLPart *part, QWidget *parent, const char *name=0 );    virtual ~KHTMLView();    /**     * Returns a pointer to the KHTMLPart that is     * rendering the page.     **/    KHTMLPart *part() const { return m_part; }    int frameWidth() const { return _width; }    /**     * Sets a margin in x direction.     */    void setMarginWidth(int x);    /**     * Returns the margin width.     *     * A return value of -1 means the default value will be used.     */    int marginWidth() const { return _marginWidth; }    /*     * Sets a margin in y direction.     */    void setMarginHeight(int y);    /**     * Returns the margin height.     *     * A return value of -1 means the default value will be used.     */    int marginHeight() { return _marginHeight; }    /**     * Sets verticals scrollbar mode. Reimplemented for internal reasons.     */    virtual void setVScrollBarMode ( ScrollBarMode mode );    /**     * Sets horizontal scrollbar mode. Reimplemented for internal reasons.     */    virtual void setHScrollBarMode ( ScrollBarMode mode );    /**     * Prints the HTML document.     */    void print();    /**     * Prints the HTML document.     * @param quick if true, fully automated printing, without print dialog     */    void print( bool quick ); // KDE 4.0: merge with above    /**     * ensure the display is up to date     */    void layout(); // KDE 4.0: make private    /**     * Display all accesskeys in small tooltips     */    void displayAccessKeys();signals:    void finishedLayout();    void cleared();    void zoomView( int );    void hideAccessKeys();    void repaintAccessKeys();    void findAheadActive( bool );protected:    void clear();    virtual void resizeEvent ( QResizeEvent * event );    virtual void showEvent ( QShowEvent * );    virtual void hideEvent ( QHideEvent *);    virtual bool focusNextPrevChild( bool next );    virtual void drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph );    virtual void drawContents( QPainter* );    virtual void viewportMousePressEvent( QMouseEvent * );    virtual void focusInEvent( QFocusEvent * );    virtual void focusOutEvent( QFocusEvent * );    virtual void viewportMouseDoubleClickEvent( QMouseEvent * );    virtual void viewportMouseMoveEvent(QMouseEvent *);    virtual void viewportMouseReleaseEvent(QMouseEvent *);    virtual void viewportResizeEvent(QResizeEvent*);#ifndef QT_NO_WHEELEVENT    virtual void viewportWheelEvent(QWheelEvent*);#endif    virtual void dragEnterEvent( QDragEnterEvent* );    virtual void dropEvent( QDropEvent* );    virtual void closeEvent ( QCloseEvent * );    virtual bool eventFilter(QObject *, QEvent *);    void keyPressEvent( QKeyEvent *_ke );    void keyReleaseEvent ( QKeyEvent *_ke );    void contentsContextMenuEvent ( QContextMenuEvent *_ce );    void doAutoScroll();    void timerEvent ( QTimerEvent * );protected slots:    void slotPaletteChanged();    void slotScrollBarMoved();private slots:    void tripleClickTimeout();    void findTimeout();    void accessKeysTimeout();    /**    * @internal    * @since 3.4    * used for autoscrolling with MMB    */    void slotMouseScrollTimer();private:    void scheduleRelayout(khtml::RenderObject* clippedObj=0);    void unscheduleRelayout();    void scheduleRepaint(int x, int y, int w, int h, bool asap=false);    void unscheduleRepaint();    bool needsFullRepaint() const;    void closeChildDialogs();    bool dialogsAllowed();    /**     * Paints the HTML document to a QPainter.     * The document will be scaled to match the width of     * rc and clipped to fit in the height.     * yOff determines the vertical offset in the document to start with.     * more, if nonzero will be set to true if the documents extends     * beyond the rc or false if everything below yOff was painted.     **/    void paint(QPainter *p, const QRect &rc, int yOff = 0, bool *more = 0);#if 0    /**     * Paints the HTML document to a QPainter.     * The document will be scaled to match the width.     **/    void paint(QPainter *p, int width);#endif    /**     * Get/set the CSS Media Type.     *     * Media type is set to "screen" for on-screen rendering and "print"     * during printing. Other media types lack the proper support in the     * renderer and are not activated. The DOM tree and the parser itself,     * however, properly handle other media types. To make them actually work     * you only need to enable the media type in the view and if necessary     * add the media type dependent changes to the renderer.     */    void setMediaType( const QString &medium );    QString mediaType() const;    bool pagedMode() const;    bool scrollTo(const QRect &);    bool focusNextPrevNode(bool next);    bool handleAccessKey(const QKeyEvent* ev);    bool focusNodeWithAccessKey(QChar c, KHTMLView* caller = NULL);    QMap< DOM::ElementImpl*, QChar > buildFallbackAccessKeys() const;    void displayAccessKeys( KHTMLView* caller, KHTMLView* origview, QValueVector< QChar >& taken, bool use_fallbacks );    void useSlowRepaints();    void setIgnoreWheelEvents(bool e);    void init();    DOM::NodeImpl *nodeUnderMouse() const;    DOM::NodeImpl *nonSharedNodeUnderMouse() const;    void restoreScrollBar();    QStringList formCompletionItems(const QString &name) const;    void clearCompletionHistory(const QString& name);    void addFormCompletionItem(const QString &name, const QString &value);    void addNonPasswordStorableSite( const QString& host );    bool nonPasswordStorableSite( const QString& host ) const;    bool dispatchMouseEvent(int eventId, DOM::NodeImpl *targetNode,			    DOM::NodeImpl *targetNodeNonShared, bool cancelable,			    int detail,QMouseEvent *_mouse, bool setUnder,			    int mouseEventType);

⌨️ 快捷键说明

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