src/hbwidgets/editors/hbabstractedit_p.h
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
--- 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) {