summaryrefslogtreecommitdiffstats
path: root/src/widgets/qtextedit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/qtextedit.h')
-rw-r--r--src/widgets/qtextedit.h616
1 files changed, 0 insertions, 616 deletions
diff --git a/src/widgets/qtextedit.h b/src/widgets/qtextedit.h
deleted file mode 100644
index ac334a58e..000000000
--- a/src/widgets/qtextedit.h
+++ /dev/null
@@ -1,616 +0,0 @@
-/****************************************************************************
-**
-** Definition of the TQTextEdit class
-**
-** Created : 990101
-**
-** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#ifndef TQTEXTEDIT_H
-#define TQTEXTEDIT_H
-
-#ifndef QT_H
-#include "qscrollview.h"
-#include "qstylesheet.h"
-#include "qptrvector.h"
-#include "qvaluelist.h"
-#include "qptrlist.h"
-#endif // QT_H
-
-#ifndef QT_NO_TEXTEDIT
-// uncomment below to enable optimization mode - also uncomment the
-// optimDoAutoScroll() private slot since moc ignores #ifdefs..
-#define QT_TEXTEDIT_OPTIMIZATION
-
-class TQPainter;
-class TQTextDocument;
-class TQTextCursor;
-class TQKeyEvent;
-class TQResizeEvent;
-class TQMouseEvent;
-class TQTimer;
-class TQTextString;
-class TQTextCommand;
-class TQTextParagraph;
-class TQTextFormat;
-class TQFont;
-class TQColor;
-class TQTextEdit;
-class TQTextBrowser;
-class TQTextString;
-struct TQUndoRedoInfoPrivate;
-class TQPopupMenu;
-class TQTextEditPrivate;
-class TQSyntaxHighlighter;
-
-#ifdef QT_TEXTEDIT_OPTIMIZATION
-class TQTextEditOptimPrivate
-{
-public:
- // Note: no left-tag has any value for leftTag or parent, and
- // no right-tag has any formatting flags set.
- enum TagType { Color = 0, Format = 1 };
- struct Tag {
- TagType type:2;
- bool bold:1;
- bool italic:1;
- bool underline:1;
- int line;
- int index;
- Tag * leftTag; // ptr to left-tag in a left-right tag pair
- Tag * parent; // ptr to parent left-tag in a nested tag
- Tag * prev;
- Tag * next;
- TQString tag;
- };
- TQTextEditOptimPrivate()
- {
- len = numLines = maxLineWidth = 0;
- selStart.line = selStart.index = -1;
- selEnd.line = selEnd.index = -1;
- search.line = search.index = 0;
- tags = lastTag = 0;
- }
- void clearTags()
- {
- Tag * itr = tags;
- while ( tags ) {
- itr = tags;
- tags = tags->next;
- delete itr;
- }
- tags = lastTag = 0;
- tagIndex.clear();
- }
- ~TQTextEditOptimPrivate()
- {
- clearTags();
- }
- int len;
- int numLines;
- int maxLineWidth;
- struct Selection {
- int line;
- int index;
- };
- Selection selStart, selEnd, search;
- Tag * tags, * lastTag;
- TQMap<int, TQString> lines;
- TQMap<int, Tag *> tagIndex;
-};
-#endif
-
-class Q_EXPORT TQTextEdit : public TQScrollView
-{
- friend class TQTextBrowser;
- friend class TQSyntaxHighlighter;
-
- Q_OBJECT
- Q_ENUMS( WordWrap WrapPolicy )
- Q_SETS( AutoFormatting )
- Q_PROPERTY( TextFormat textFormat READ textFormat WRITE setTextFormat )
- Q_PROPERTY( TQString text READ text WRITE setText )
- Q_PROPERTY( TQBrush paper READ paper WRITE setPaper )
- Q_PROPERTY( bool linkUnderline READ linkUnderline WRITE setLinkUnderline )
- Q_PROPERTY( TQString documentTitle READ documentTitle )
- Q_PROPERTY( int length READ length )
- Q_PROPERTY( WordWrap wordWrap READ wordWrap WRITE setWordWrap )
- Q_PROPERTY( int wrapColumnOrWidth READ wrapColumnOrWidth WRITE setWrapColumnOrWidth )
- Q_PROPERTY( WrapPolicy wrapPolicy READ wrapPolicy WRITE setWrapPolicy )
- Q_PROPERTY( bool hasSelectedText READ hasSelectedText )
- Q_PROPERTY( TQString selectedText READ selectedText )
- Q_PROPERTY( int undoDepth READ undoDepth WRITE setUndoDepth )
- Q_PROPERTY( bool overwriteMode READ isOverwriteMode WRITE setOverwriteMode )
- Q_PROPERTY( bool modified READ isModified WRITE setModified DESIGNABLE false )
- Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
- Q_PROPERTY( bool undoRedoEnabled READ isUndoRedoEnabled WRITE setUndoRedoEnabled )
- Q_PROPERTY( int tabStopWidth READ tabStopWidth WRITE setTabStopWidth )
- Q_PROPERTY( bool tabChangesFocus READ tabChangesFocus WRITE setTabChangesFocus )
- Q_PROPERTY( AutoFormatting autoFormatting READ autoFormatting WRITE setAutoFormatting )
-
-public:
- enum WordWrap {
- NoWrap,
- WidgetWidth,
- FixedPixelWidth,
- FixedColumnWidth
- };
-
- enum WrapPolicy {
- AtWordBoundary,
- AtWhiteSpace = AtWordBoundary, // AtWhiteSpace is deprecated
- Anywhere,
- AtWordOrDocumentBoundary
- };
-
- enum AutoFormatting {
- AutoNone = 0,
- AutoBulletList = 0x00000001,
- AutoAll = 0xffffffff
- };
-
- enum KeyboardAction {
- ActionBackspace,
- ActionDelete,
- ActionReturn,
- ActionKill,
- ActionWordBackspace,
- ActionWordDelete
- };
-
- enum CursorAction {
- MoveBackward,
- MoveForward,
- MoveWordBackward,
- MoveWordForward,
- MoveUp,
- MoveDown,
- MoveLineStart,
- MoveLineEnd,
- MoveHome,
- MoveEnd,
- MovePgUp,
- MovePgDown
- };
-
- enum VerticalAlignment {
- AlignNormal,
- AlignSuperScript,
- AlignSubScript
- };
-
- enum TextInsertionFlags {
- RedoIndentation = 0x0001,
- CheckNewLines = 0x0002,
- RemoveSelected = 0x0004,
- AsIMCompositionText = 0x0008, // internal use
- WithIMSelection = 0x0010 // internal use
- };
-
- TQTextEdit( const TQString& text, const TQString& context = TQString::null,
- TQWidget* parent=0, const char* name=0);
- TQTextEdit( TQWidget* parent=0, const char* name=0 );
- virtual ~TQTextEdit();
- void setPalette( const TQPalette & );
-
- TQString text() const;
- TQString text( int para ) const;
- TextFormat textFormat() const;
- TQString context() const;
- TQString documentTitle() const;
-
- void getSelection( int *paraFrom, int *indexFrom,
- int *paraTo, int *indexTo, int selNum = 0 ) const;
- virtual bool find( const TQString &expr, bool cs, bool wo, bool forward = TRUE,
- int *para = 0, int *index = 0 );
-
- int paragraphs() const;
- int lines() const;
- int linesOfParagraph( int para ) const;
- int lineOfChar( int para, int chr );
- int length() const;
- TQRect paragraphRect( int para ) const;
- int paragraphAt( const TQPoint &pos ) const;
- int charAt( const TQPoint &pos, int *para ) const;
- int paragraphLength( int para ) const;
-
- TQStyleSheet* styleSheet() const;
-#ifndef QT_NO_MIME
- TQMimeSourceFactory* mimeSourceFactory() const;
-#endif
- TQBrush paper() const;
- bool linkUnderline() const;
-
- int heightForWidth( int w ) const;
-
- bool hasSelectedText() const;
- TQString selectedText() const;
- bool isUndoAvailable() const;
- bool isRedoAvailable() const;
-
- WordWrap wordWrap() const;
- int wrapColumnOrWidth() const;
- WrapPolicy wrapPolicy() const;
-
- int tabStopWidth() const;
-
- TQString anchorAt( const TQPoint& pos );
- TQString anchorAt( const TQPoint& pos, AnchorAttribute a );
-
- TQSize sizeHint() const;
-
- bool isReadOnly() const { return readonly; }
-
- void getCursorPosition( int *parag, int *index ) const;
-
- bool isModified() const;
- bool italic() const;
- bool bold() const;
- bool underline() const;
- TQString family() const;
- int pointSize() const;
- TQColor color() const;
- TQFont font() const;
- TQFont currentFont() const;
- int alignment() const;
- int undoDepth() const;
-
- // do not use, will go away
- virtual bool getFormat( int para, int index, TQFont *font, TQColor *color, VerticalAlignment *verticalAlignment );
- // do not use, will go away
- virtual bool getParagraphFormat( int para, TQFont *font, TQColor *color,
- VerticalAlignment *verticalAlignment, int *alignment,
- TQStyleSheetItem::DisplayMode *displayMode,
- TQStyleSheetItem::ListStyle *listStyle,
- int *listDepth );
-
-
- bool isOverwriteMode() const { return overWrite; }
- TQColor paragraphBackgroundColor( int para ) const;
-
- bool isUndoRedoEnabled() const;
- bool eventFilter( TQObject *o, TQEvent *e );
- bool tabChangesFocus() const;
-
- void setAutoFormatting( uint features );
- uint autoFormatting() const;
- TQSyntaxHighlighter *syntaxHighlighter() const;
-
-public slots:
- void setEnabled( bool );
-#ifndef QT_NO_MIME
- virtual void setMimeSourceFactory( TQMimeSourceFactory* factory );
-#endif
- virtual void setStyleSheet( TQStyleSheet* styleSheet );
- virtual void scrollToAnchor( const TQString& name );
- virtual void setPaper( const TQBrush& pap );
- virtual void setLinkUnderline( bool );
-
- virtual void setWordWrap( WordWrap mode );
- virtual void setWrapColumnOrWidth( int );
- virtual void setWrapPolicy( WrapPolicy policy );
-
- virtual void copy();
- virtual void append( const TQString& text );
-
- void setText( const TQString &txt ) { setText( txt, TQString::null ); }
- virtual void setText( const TQString &txt, const TQString &context );
- virtual void setTextFormat( TextFormat f );
-
- virtual void selectAll( bool select = TRUE );
- virtual void setTabStopWidth( int ts );
- virtual void zoomIn( int range );
- virtual void zoomIn() { zoomIn( 1 ); }
- virtual void zoomOut( int range );
- virtual void zoomOut() { zoomOut( 1 ); }
- virtual void zoomTo( int size );
-
- virtual void sync();
- virtual void setReadOnly( bool b );
-
- virtual void undo();
- virtual void redo();
- virtual void cut();
- virtual void paste();
-#ifndef QT_NO_CLIPBOARD
- virtual void pasteSubType( const TQCString &subtype );
-#endif
- virtual void clear();
- virtual void del();
- virtual void indent();
- virtual void setItalic( bool b );
- virtual void setBold( bool b );
- virtual void setUnderline( bool b );
- virtual void setFamily( const TQString &f );
- virtual void setPointSize( int s );
- virtual void setColor( const TQColor &c );
- virtual void setFont( const TQFont &f );
- virtual void setVerticalAlignment( VerticalAlignment a );
- virtual void setAlignment( int a );
-
- // do not use, will go away
- virtual void setParagType( TQStyleSheetItem::DisplayMode dm, TQStyleSheetItem::ListStyle listStyle );
-
- virtual void setCursorPosition( int parag, int index );
- virtual void setSelection( int parag_from, int index_from, int parag_to, int index_to, int selNum = 0 );
- virtual void setSelectionAttributes( int selNum, const TQColor &back, bool invertText );
- virtual void setModified( bool m );
- virtual void resetFormat();
- virtual void setUndoDepth( int d );
- virtual void setFormat( TQTextFormat *f, int flags );
- virtual void ensureCursorVisible();
- virtual void placeCursor( const TQPoint &pos, TQTextCursor *c = 0 );
- virtual void moveCursor( CursorAction action, bool select );
- virtual void doKeyboardAction( KeyboardAction action );
- virtual void removeSelectedText( int selNum = 0 );
- virtual void removeSelection( int selNum = 0 );
- virtual void setCurrentFont( const TQFont &f );
- virtual void setOverwriteMode( bool b ) { overWrite = b; }
-
- virtual void scrollToBottom();
-
- void insert( const TQString &text, uint insertionFlags = CheckNewLines | RemoveSelected ); // ## virtual in 4.0
-
- // obsolete
- virtual void insert( const TQString &text, bool, bool = TRUE, bool = TRUE );
-
- virtual void insertAt( const TQString &text, int para, int index );
- virtual void removeParagraph( int para );
- virtual void insertParagraph( const TQString &text, int para );
-
- virtual void setParagraphBackgroundColor( int para, const TQColor &bg );
- virtual void clearParagraphBackground( int para );
-
- virtual void setUndoRedoEnabled( bool b );
- void setTabChangesFocus( bool b ); // ### make virtual in 4.0
-
-#ifdef QT_TEXTEDIT_OPTIMIZATION
- void polish();
- void setMaxLogLines( int numLines );
- int maxLogLines();
-#endif
-
-signals:
- void textChanged();
- void selectionChanged();
- void copyAvailable( bool );
- void undoAvailable( bool yes );
- void redoAvailable( bool yes );
- void currentFontChanged( const TQFont &f );
- void currentColorChanged( const TQColor &c );
- void currentAlignmentChanged( int a );
- void currentVerticalAlignmentChanged( VerticalAlignment a );
- void cursorPositionChanged( TQTextCursor *c );
- void cursorPositionChanged( int para, int pos );
- void returnPressed();
- void modificationChanged( bool m );
- void clicked( int parag, int index );
- void doubleClicked( int parag, int index );
-
-protected:
- void repaintChanged();
- void updateStyles();
- void drawContents( TQPainter *p, int cx, int cy, int cw, int ch );
- bool event( TQEvent *e );
- void keyPressEvent( TQKeyEvent *e );
- void resizeEvent( TQResizeEvent *e );
- void viewportResizeEvent( TQResizeEvent* );
- void contentsMousePressEvent( TQMouseEvent *e );
- void contentsMouseMoveEvent( TQMouseEvent *e );
- void contentsMouseReleaseEvent( TQMouseEvent *e );
- void contentsMouseDoubleClickEvent( TQMouseEvent *e );
-#ifndef QT_NO_WHEELEVENT
- void contentsWheelEvent( TQWheelEvent *e );
-#endif
- void imStartEvent( TQIMEvent * );
- void imComposeEvent( TQIMEvent * );
- void imEndEvent( TQIMEvent * );
-#ifndef QT_NO_DRAGANDDROP
- void contentsDragEnterEvent( TQDragEnterEvent *e );
- void contentsDragMoveEvent( TQDragMoveEvent *e );
- void contentsDragLeaveEvent( TQDragLeaveEvent *e );
- void contentsDropEvent( TQDropEvent *e );
-#endif
- void contentsContextMenuEvent( TQContextMenuEvent *e );
- bool sendMouseEventToInputContext( TQMouseEvent *e );
- bool focusNextPrevChild( bool next );
- TQTextDocument *document() const;
- TQTextCursor *textCursor() const;
- void setDocument( TQTextDocument *doc );
- virtual TQPopupMenu *createPopupMenu( const TQPoint& pos );
- virtual TQPopupMenu *createPopupMenu();
- void drawCursor( bool visible );
-
- void windowActivationChange( bool );
-
-protected slots:
- virtual void doChangeInterval();
- void sliderReleased(); // ### make virtual in 4.0
-#if (QT_VERSION >= 0x040000)
-#error "Some functions need to be changed to virtual for TQt 4.0"
-#endif
-
-private slots:
- void formatMore();
- void doResize();
- void autoScrollTimerDone();
- void blinkCursor();
- void setModified();
- void startDrag();
- void documentWidthChanged( int w );
- void clipboardChanged();
-
-private:
- struct Q_EXPORT UndoRedoInfo {
- enum Type { Invalid, Insert, Delete, Backspace, Return, RemoveSelected, Format, Style, IME };
-
- UndoRedoInfo( TQTextDocument *dc );
- ~UndoRedoInfo();
- void clear();
- bool valid() const;
-
- TQUndoRedoInfoPrivate *d;
- int id;
- int index;
- int eid;
- int eindex;
- TQTextFormat *format;
- int flags;
- Type type;
- TQTextDocument *doc;
- TQByteArray styleInformation;
- };
-
-private:
- void updateCursor( const TQPoint & pos );
- void handleMouseMove( const TQPoint& pos );
- void drawContents( TQPainter * );
- virtual bool linksEnabled() const { return FALSE; }
- void init();
- void checkUndoRedoInfo( UndoRedoInfo::Type t );
- void updateCurrentFormat();
- bool handleReadOnlyKeyEvent( TQKeyEvent *e );
- void makeParagVisible( TQTextParagraph *p );
- void normalCopy();
- void copyToClipboard();
-#ifndef QT_NO_MIME
- TQCString pickSpecial(TQMimeSource* ms, bool always_ask, const TQPoint&);
- TQTextDrag *dragObject( TQWidget *parent = 0 ) const;
-#endif
-#ifndef QT_NO_MIMECLIPBOARD
- void pasteSpecial(const TQPoint&);
-#endif
- void setFontInternal( const TQFont &f );
-
- virtual void emitHighlighted( const TQString & ) {}
- virtual void emitLinkClicked( const TQString & ) {}
-
- void readFormats( TQTextCursor &c1, TQTextCursor &c2, TQTextString &text, bool fillStyles = FALSE );
- void clearUndoRedo();
- void paintDocument( bool drawAll, TQPainter *p, int cx = -1, int cy = -1, int cw = -1, int ch = -1 );
- void moveCursor( CursorAction action );
- void ensureFormatted( TQTextParagraph *p );
- void placeCursor( const TQPoint &pos, TQTextCursor *c, bool link );
- void updateMicroFocusHint();
-
-#ifdef QT_TEXTEDIT_OPTIMIZATION
- bool checkOptimMode();
- TQString optimText() const;
- void optimSetText( const TQString &str );
- void optimAppend( const TQString &str );
- void optimInsert( const TQString &str, int line, int index );
- void optimDrawContents( TQPainter * p, int cx, int cy, int cw, int ch );
- void optimMousePressEvent( TQMouseEvent * e );
- void optimMouseReleaseEvent( TQMouseEvent * e );
- void optimMouseMoveEvent( TQMouseEvent * e );
- int optimCharIndex( const TQString &str, int mx ) const;
- void optimSelectAll();
- void optimRemoveSelection();
- void optimSetSelection( int startLine, int startIdx, int endLine,
- int endIdx );
- bool optimHasSelection() const;
- TQString optimSelectedText() const;
- bool optimFind( const TQString & str, bool, bool, bool, int *, int * );
- void optimParseTags( TQString * str, int lineNo = -1, int indexOffset = 0 );
- TQTextEditOptimPrivate::Tag * optimPreviousLeftTag( int line );
- void optimSetTextFormat( TQTextDocument *, TQTextCursor *, TQTextFormat * f,
- int, int, TQTextEditOptimPrivate::Tag * t );
- TQTextEditOptimPrivate::Tag * optimAppendTag( int index, const TQString & tag );
- TQTextEditOptimPrivate::Tag * optimInsertTag( int line, int index, const TQString & tag );
- void optimCheckLimit( const TQString& str );
- bool optimHasBoldMetrics( int line );
-
-private slots:
- void optimDoAutoScroll();
-#endif // QT_TEXTEDIT_OPTIMIZATION
-
-private:
-#ifndef QT_NO_CLIPBOARD
- void pasteSubType( const TQCString &subtype, TQMimeSource *m );
-#endif
-
-private:
- TQTextDocument *doc;
- TQTextCursor *cursor;
- TQTimer *formatTimer, *scrollTimer, *changeIntervalTimer, *blinkTimer, *dragStartTimer;
- TQTextParagraph *lastFormatted;
- int interval;
- UndoRedoInfo undoRedoInfo;
- TQTextFormat *currentFormat;
- int currentAlignment;
- TQPoint oldMousePos, mousePos;
- TQPoint dragStartPos;
- TQString onLink;
- WordWrap wrapMode;
- WrapPolicy wPolicy;
- int wrapWidth;
- TQString pressedLink;
- TQTextEditPrivate *d;
- bool inDoubleClick : 1;
- bool mousePressed : 1;
- bool cursorVisible : 1;
- bool blinkCursorVisible : 1;
- bool readOnly : 1;
- bool modified : 1;
- bool mightStartDrag : 1;
- bool inDnD : 1;
- bool readonly : 1;
- bool undoEnabled : 1;
- bool overWrite : 1;
-
-private: // Disabled copy constructor and operator=
-#if defined(Q_DISABLE_COPY)
- TQTextEdit( const TQTextEdit & );
- TQTextEdit &operator=( const TQTextEdit & );
-#endif
-};
-
-inline TQTextDocument *TQTextEdit::document() const
-{
- return doc;
-}
-
-inline TQTextCursor *TQTextEdit::textCursor() const
-{
- return cursor;
-}
-
-inline void TQTextEdit::setCurrentFont( const TQFont &f )
-{
- TQTextEdit::setFontInternal( f );
-}
-
-#endif //QT_NO_TEXTEDIT
-#endif //TQTEXTVIEW_H