diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 13:17:21 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-01-26 13:17:21 -0600 |
commit | dfe289850f068f19ba4a83ab4e7e22a7e09c13c9 (patch) | |
tree | c297348a55df66c571de4525646e0b9762427353 /khtml/khtmlview.h | |
parent | b7658a0d5eca24a9d37c6e04f88298ef02389db0 (diff) | |
download | tdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.tar.gz tdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.zip |
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'khtml/khtmlview.h')
-rw-r--r-- | khtml/khtmlview.h | 624 |
1 files changed, 0 insertions, 624 deletions
diff --git a/khtml/khtmlview.h b/khtml/khtmlview.h deleted file mode 100644 index 45d90b09f..000000000 --- a/khtml/khtmlview.h +++ /dev/null @@ -1,624 +0,0 @@ -/* 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 <tqscrollview.h> - -#include <tdelibs_export.h> - -class TQPainter; -class TQRect; -template< typename T > class TQValueVector; - -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 TQScrollView. - * - * Suitable for use as an application's main view. - **/ -class KHTML_EXPORT KHTMLView : public TQScrollView -{ - 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, TQWidget *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: - /** - * This signal is used for internal layouting. Don't use it to check if rendering finished. - * Use @ref KHTMLPart completed() signal instead. - */ - void finishedLayout(); - void cleared(); - void zoomView( int ); - void hideAccessKeys(); - void repaintAccessKeys(); - void findAheadActive( bool ); -//#define NO_SMOOTH_SCROLL_HACK -#ifndef NO_SMOOTH_SCROLL_HACK -public slots: - void scrollBy(int dx, int dy); -#endif - -protected: - void clear(); - - virtual void resizeEvent ( TQResizeEvent * event ); - virtual void showEvent ( TQShowEvent * ); - virtual void hideEvent ( TQHideEvent *); - virtual bool focusNextPrevChild( bool next ); - virtual void drawContents ( TQPainter * p, int clipx, int clipy, int clipw, int cliph ); - virtual void drawContents( TQPainter* ); - virtual void viewportMousePressEvent( TQMouseEvent * ); - virtual void focusInEvent( TQFocusEvent * ); - virtual void focusOutEvent( TQFocusEvent * ); - virtual void viewportMouseDoubleClickEvent( TQMouseEvent * ); - virtual void viewportMouseMoveEvent(TQMouseEvent *); - virtual void viewportMouseReleaseEvent(TQMouseEvent *); - virtual void viewportResizeEvent(TQResizeEvent*); -#ifndef QT_NO_WHEELEVENT - virtual void viewportWheelEvent(TQWheelEvent*); -#endif - virtual void dragEnterEvent( TQDragEnterEvent* ); - virtual void dropEvent( TQDropEvent* ); - virtual void closeEvent ( TQCloseEvent * ); - virtual bool eventFilter(TQObject *, TQEvent *); - - void keyPressEvent( TQKeyEvent *_ke ); - void keyReleaseEvent ( TQKeyEvent *_ke ); - void contentsContextMenuEvent ( TQContextMenuEvent *_ce ); - void doAutoScroll(); - void timerEvent ( TQTimerEvent * ); - -#ifndef NO_SMOOTH_SCROLL_HACK - void startScrolling(); - void stopScrolling(); -#ifndef QT_NO_WHEELEVENT - void scrollViewWheelEvent( TQWheelEvent* e ); -#endif -#endif - -protected slots: - void slotPaletteChanged(); - void slotScrollBarMoved(); -#ifndef NO_SMOOTH_SCROLL_HACK - void scrollTick(); -#else - void scrollTick() {}; // moc cannot handle #if -#endif - -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 TQPainter. - * 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(TQPainter *p, const TQRect &rc, int yOff = 0, bool *more = 0); - -#if 0 - /** - * Paints the HTML document to a TQPainter. - * The document will be scaled to match the width. - **/ - void paint(TQPainter *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 TQString &medium ); - TQString mediaType() const; - - bool pagedMode() const; - - bool scrollTo(const TQRect &); - - bool focusNextPrevNode(bool next); - bool handleAccessKey(const TQKeyEvent* ev); - bool focusNodeWithAccessKey(TQChar c, KHTMLView* caller = NULL); - TQMap< DOM::ElementImpl*, TQChar > buildFallbackAccessKeys() const; - void displayAccessKeys( KHTMLView* caller, KHTMLView* origview, TQValueVector< TQChar >& taken, bool use_fallbacks ); - - void useSlowRepaints(); - - void setIgnoreWheelEvents(bool e); - - void init(); - - DOM::NodeImpl *nodeUnderMouse() const; - DOM::NodeImpl *nonSharedNodeUnderMouse() const; - - void restoreScrollBar(); - - TQStringList formCompletionItems(const TQString &name) const; - void clearCompletionHistory(const TQString& name); - void addFormCompletionItem(const TQString &name, const TQString &value); - void removeFormCompletionItem(const TQString &name, const TQString &value); - - void addNonPasswordStorableSite( const TQString& host ); - bool nonPasswordStorableSite( const TQString& host ) const; - - bool dispatchMouseEvent(int eventId, DOM::NodeImpl *targetNode, - DOM::NodeImpl *targetNodeNonShared, bool cancelable, - int detail,TQMouseEvent *_mouse, bool setUnder, - int mouseEventType); - bool dispatchKeyEvent( TQKeyEvent *_ke ); - bool dispatchKeyEventHelper( TQKeyEvent *_ke, bool generate_keypress ); - - void complete( bool pendingAction ); - -#ifndef KHTML_NO_TYPE_AHEAD_FIND - void findAhead(bool increase); - void updateFindAheadTimeout(); - void startFindAhead( bool linksOnly ); -#endif // KHTML_NO_TYPE_AHEAD_FIND - -#ifndef KHTML_NO_CARET - // -- caret-related member functions (for caretMode as well as designMode) - - /** initializes the caret if it hasn't been initialized yet. - * - * This method determines a suitable starting position, initializes - * the internal structures, and calculates the caret's coordinates ready - * for display. - * - * To "deinitialize" the caret, call caretOff - * @param keepSelection @p true to keep any active selection. It may have - * been extended if the caret position is changed. - */ - void initCaret(bool keepSelection = false); - /** returns whether the text under the caret will be overridden. - */ - bool caretOverrides() const; - /** ensures that the given element is properly focused. - * - * If not in caret mode or design mode, keyboard events are only regarded for - * focused nodes. Therefore, the function ensured that the focus will be - * properly set on unfocused nodes (or on a suitable ancestor). - * @param node node to focus - */ - void ensureNodeHasFocus(DOM::NodeImpl *node); - /** inquires the current caret position and stores it in the caret view - * context. Also resets the blink frequency timer. It will not display - * the caret on the canvas. - * @param hintBox caret box whose coordinates will be used if the - * caret position could not be determined otherwise. - */ - void recalcAndStoreCaretPos(khtml::CaretBox *hintBox = 0); - /** displays the caret and reinitializes the blink frequency timer. - * - * The caret will only be displayed on screen if the view has focus, or - * the caret display policy allows it. The same holds true for the blink - * frequency timer. - */ - void caretOn(); - /** hides the caret and kills the blink frequency timer. - * - * These operations are executed unconditionally, regardless of the - * focus, and the caret display policy. - */ - void caretOff(); - /** makes the caret visible, but does not influence the frequency timer. - * That means it probably won't get visible immediately. - * - * These operations are executed unconditionally, regardless of the - * focus, and the caret display policy. - * @param forceRepaint @p true to force an immediate repaint, otherwise - * do a scheduled repaint - */ - void showCaret(bool forceRepaint = false); - /** makes the caret invisible, but does not influence the frequency timer. - * The caret is immediately hidden. - * - * These operations are executed unconditionally, regardless of the - * focus, and the caret display policy. - */ - void hideCaret(); - /** shifts the viewport to ensure that the caret is visible. - * - * Note: this will also work if the caret is hidden. - */ - void ensureCaretVisible(); - - /** folds the selection to the current caret position. - * - * Whatever selection has existed before will be removed by the invocation - * of this method. Updates are only done if an actual selection has - * been folded. After the call of this method, no selection will exist - * any more. - * - * No validity checking is done on the parameters. Note that the parameters - * refer to the old selection, the current caret may be way off. - * @param startNode starting node of selection - * @param startOffset offset within the start node. - * @param endNode ending node of selection - * @param endOffset offset within the end node. - * @return @p true if there had been a selection, and it was folded. - */ - bool foldSelectionToCaret(DOM::NodeImpl *startNode, long startOffset, - DOM::NodeImpl *endNode, long endOffset); - - /** places the caret on the current position. - * - * The caret is switched off, the position recalculated with respect to - * the new position. The caret will only be redisplayed if it is on an - * editable node, in design mode, or in caret mode. - * @param hintBox caret box whose coordinates will be used if the - * caret position could not be determined otherwise. - * @return @p true if the caret has been displayed. - */ - bool placeCaret(khtml::CaretBox *hintBox = 0); - - /** extends the selection up to the current caret position. - * - * When a selection exists, the function adds/removes pieces from the - * beginning/end of the selection up to the current caret position. - * - * The selection values are *not* normalized, i. e. the resulting end - * position may actually precede the starting position. - * - * No validity checking is done on the parameters. Note that the parameters - * refer to the old selection, the current caret may be way off. - * @param startNode starting node of selection - * @param startOffset offset within the start node. - * @param endNode ending node of selection - * @param endOffset offset within the end node. - * @return @p true when the current selection has been changed - */ - bool extendSelection(DOM::NodeImpl *startNode, long startOffset, - DOM::NodeImpl *endNode, long endOffset); - - /** updates the selection from the last to the current caret position. - * - * No validity checking is done on the parameters. Note that the parameters - * refer to the old selection, the current caret may be way off. - * @param startNode starting node of selection - * @param startOffset offset within the start node. - * @param endNode ending node of selection - * @param endOffset offset within the end node. - */ - void updateSelection(DOM::NodeImpl *startNode, long startOffset, - DOM::NodeImpl *endNode, long endOffset); - - /** - * Returns the current caret policy when the view is not focused. - * @return a KHTMLPart::CaretDisplay value - */ - int caretDisplayPolicyNonFocused() const; - - /** - * Sets the caret display policy when the view is not focused. - * @param policy new display policy as - * defined by KHTMLPart::CaretDisplayPolicy - * @since 3.2 - */ - void setCaretDisplayPolicyNonFocused(int policy); - - // -- caret event handler - - /** - * Evaluates key presses on editable nodes. - */ - void caretKeyPressEvent(TQKeyEvent *); - - // -- caret navigation member functions - - /** moves the caret to the given position and displays it. - * - * If the node resembles an invalid position, the function sets the caret to a - * nearby node that is valid. - * - * @param node node to be set to - * @param offset zero-based offset within this node - * @param clearSelection @p true if any selection should be cleared - * as well. - * @return @p true if a previously existing selection has been changed. - */ - bool moveCaretTo(DOM::NodeImpl *node, long offset, bool clearSelection); - - /** - * Movement enumeration - * @li CaretByCharacter move caret character-wise - * @li CaretByWord move caret word-wise - */ - enum CaretMovement { CaretByCharacter, CaretByWord }; - - /** moves the caret. - * - * @param next @p true, move towards the following content, @p false, - * move towards the previous - * @param cmv CaretMovement operation - * @param n count the CaretMovement has to be carried out. - * For latin documents, a positive number means moving the caret - * these many characters to the right/downwards, a negative number - * to the left/upwards. For RTL documents, the opposite applies. - */ - void moveCaretBy(bool next, CaretMovement cmv, int n); - - /** moves the caret by line. - */ - void moveCaretByLine(bool next, int n); - - /** moves the caret to the given line boundary. - * @param end @p true if the caret is to be moved to the end of the line, - * otherwise to the beginning. - */ - void moveCaretToLineBoundary(bool end); - - /** moves the caret to the given document boundary. - * @param end @p true if the caret is to be moved to the end of the - * document, otherwise to the beginning. - */ - void moveCaretToDocumentBoundary(bool end); - - /** does the actual caret placement so that it becomes visible at - * the new position. - * - * This method is only suitable if the new caret position has already been - * determined. - * @param hintBox caret box whose coordinates will be used if the - * caret position could not be determined otherwise. - */ - void placeCaretOnChar(khtml::CaretBox *hintBox); - - /** does the actual caret placement so that it becomes visible at - * the new position. - * - * Additionally, it calculates the new caret position from the given - * box and coordinates. - * - * @param caretBox caret box serving as a measurement point for offset. - * @param x x-coordinate relative to containing block. The offset will - * be approximated as closely as possible to this coordinate, - * but never less than caretBox->xPos() and greater than - * caretBox->xPos() + caretBox->width() - * @param absx absolute x-coordinate of containing block, needed for - * calculation of final caret position - * @param absy absolute y-coordinate of containing block, needed for - * calculation of final caret position - */ - void placeCaretOnLine(khtml::CaretBox *caretBox, int x, int absx, int absy); - - /** moves the caret by a page length. - * @param next @p true, move down, @p false, move up. - */ - void moveCaretByPage(bool next); - - /** moves the caret to the beginning of the previous word. - */ - void moveCaretPrevWord(); - - /** moves the caret to the beginning of the next word. - */ - void moveCaretNextWord(); - - /** moves the caret to the previous line. - * - * @param n number of lines to move caret - */ - void moveCaretPrevLine(int n = 1); - - /** moves the caret to the following line. - * - * @param n number of lines to move caret - */ - void moveCaretNextLine(int n = 1); - - /** moves the caret to the previous page - */ - void moveCaretPrevPage(); - - /** moves the caret to the next page - */ - void moveCaretNextPage(); - - /** moves the caret to the beginning of the current line. - */ - void moveCaretToLineBegin(); - - /** moves the caret to the end of the current line. - */ - void moveCaretToLineEnd(); - -#endif // KHTML_NO_CARET - - // ------------------------------------- member variables ------------------------------------ - private: - - void setWidgetVisible(::khtml::RenderWidget*, bool visible); - - int _width; - int _height; - - int _marginWidth; - int _marginHeight; - - KHTMLPart *m_part; - KHTMLViewPrivate *d; - - TQString m_medium; // media type -}; - -#endif - |