diff -r 7516d6d86cf5 -r ed14f46c0e55 src/hbwidgets/editors/hbabstractedit_p.h --- a/src/hbwidgets/editors/hbabstractedit_p.h Mon Oct 04 17:49:30 2010 +0300 +++ b/src/hbwidgets/editors/hbabstractedit_p.h Mon Oct 18 18:23:13 2010 +0300 @@ -86,6 +86,14 @@ typedef HbValidator::ChangeSource CursorChange; public: + + enum CursorType { + CursorTypeBlinking, + CursorTypeStill, + CursorTypeNone, + }; + +public: HbAbstractEditPrivate (); virtual ~HbAbstractEditPrivate (); @@ -107,7 +115,11 @@ void repaintOldAndNewSelection(const QTextCursor &oldSelection); void updateCurrentCharFormat(); QRectF cursorRectPlusUnicodeDirectionMarkers(int position) const; - void setBlinkingCursorEnabled(bool enable); + void updateCursorType(); + void updateCursorType(bool hasInputFocus); + void setCursorType(CursorType type); + // To be used by derived classes to set cursor color + void setCursorColor(const QColor& color); void repaintCursor(); void setTextInteractionFlags(Qt::TextInteractionFlags flags); void cursorChanged(CursorChange origin); @@ -117,9 +129,9 @@ QRectF cursorRect(const QTextCursor &cursor) const; QRectF cursorRect() const; QRectF selectionRect(const QTextCursor &cursor) const; - QRectF selectionRect() const; QRectF rectForPositionInCanvasCoords(int position, QTextLine::Edge edge) const; QRectF viewPortRect() const; + QPointF constrainHitTestPoint(const QPointF& point); QValidator::State validateContent(int position, int charsRemoved, int charsAdded); void initValidator(); bool undo(); @@ -130,8 +142,9 @@ bool canFormat() const; virtual bool isCursorVisible() const; + void gestureEvent(QGestureEvent* event, HbWidget* widget = 0); void longTapGesture(const QPointF &point); - void tapGesture(const QPointF &point); + void tapGesture(const QPointF &point, bool delayMenu); void gestureReceived(); void sendInputPanelEvent(QEvent::Type type); @@ -144,7 +157,7 @@ bool hasAcceptableInput() const; void sendMouseEventToInputContext(const QPointF &tapPos) const; virtual void updateEditingSize(); - void drawSelectionEdges(QPainter *painter, QAbstractTextDocumentLayout::PaintContext); + void drawCursor(QPainter *painter, QAbstractTextDocumentLayout::PaintContext); HbSmileyEngine* smileyEngineInstance() const; virtual void drawContentBackground(QPainter *painter, @@ -157,12 +170,13 @@ void _q_updateBlock(QTextBlock block); void _q_contentsChanged(); void _q_contentsChange(int position, int charsRemoved, int charsAdded); - void _q_selectionChanged(); + void _q_selectionChanged(const QTextCursor& oldSelection, const QTextCursor& newSelection); void _q_scrollStarted(); void _q_scrollEnded(); static Qt::Alignment alignmentFromString(const QString &text); void validateAndCorrect(); + QSizeF calculatePreferredDocSize() const; QTextDocument *doc; QTextDocument *placeholderDoc; @@ -184,6 +198,9 @@ QTextCharFormat lastCharFormat; QBasicTimer cursorBlinkTimer; + QBasicTimer doubleTapTimer; + int tapCounter; + bool showContextMenu; int preeditCursor; bool preeditCursorVisible; // used to hide the cursor in the preedit area @@ -196,6 +213,7 @@ bool hadSelectionOnMousePress; HbSelectionControl *selectionControl; + bool enableSelectionControl; bool acceptSignalContentsChange; bool acceptSignalContentsChanged; @@ -212,6 +230,10 @@ QTextCursor nextCharCursor; bool updatePrimitivesInProgress; + bool enableMagnifier; + CursorType cursorType; + QColor cursorColor; + private: static HbAbstractEditPrivate *d_ptr(HbAbstractEdit *edit) {