src/hbinput/inputwidgets/hbinputvkbwidget.h
branchGCC_SURGE
changeset 15 f378acbc9cfb
parent 7 923ff622b8b9
child 21 4633027730f5
child 34 ed14f46c0e55
equal deleted inserted replaced
9:730c025d4b77 15:f378acbc9cfb
    35 const int HbRepeatTimeoutShort = 150;
    35 const int HbRepeatTimeoutShort = 150;
    36 
    36 
    37 const QString backgroundGraphics("qtg_fr_input_v_bg");
    37 const QString backgroundGraphics("qtg_fr_input_v_bg");
    38 const QString HbInputVkbHandleIcon("qtg_graf_input_v_swipe");
    38 const QString HbInputVkbHandleIcon("qtg_graf_input_v_swipe");
    39 const qreal HbCloseHandleHeight = 0;
    39 const qreal HbCloseHandleHeight = 0;
    40 const qreal HbCloseHandleHeightInUnits = 2.23;
    40 const qreal HbCloseHandleHeightInUnits = 3.13;
    41 const qreal HbCloseHandleWidthInUnits = 18.8;
    41 const qreal HbCloseHandleWidthInUnits = 18.8;
    42 
    42 
    43 class HbInputVkbWidgetPrivate;
    43 class HbInputVkbWidgetPrivate;
    44 class HbInputMethod;
    44 class HbInputMethod;
    45 class HbView;
    45 class HbView;
    49 class HB_INPUT_EXPORT HbInputVkbWidget : public HbWidget, public HbVirtualKeyboard
    49 class HB_INPUT_EXPORT HbInputVkbWidget : public HbWidget, public HbVirtualKeyboard
    50 {
    50 {
    51     Q_OBJECT
    51     Q_OBJECT
    52 
    52 
    53 public:
    53 public:
    54     enum HbFlickDirection
    54     enum HbFlickDirection {
    55     {
       
    56         HbFlickDirectionNone = 0,
    55         HbFlickDirectionNone = 0,
    57         HbFlickDirectionLeft,
    56         HbFlickDirectionLeft,
    58         HbFlickDirectionRight,
    57         HbFlickDirectionRight,
    59         HbFlickDirectionUp,
    58         HbFlickDirectionUp,
    60         HbFlickDirectionDown
    59         HbFlickDirectionDown
    61     };
    60     };
    62 
    61 
    63     enum HbVkbCloseMethod
    62     enum HbVkbCloseMethod {
    64     {
       
    65         HbVkbCloseMethodButtonDrag = 0x1,
    63         HbVkbCloseMethodButtonDrag = 0x1,
    66         HbVkbCloseMethodCloseButton = 0x2,
    64         HbVkbCloseMethodCloseButton = 0x2,
    67         HbVkbCloseMethodCloseButtonDrag = HbVkbCloseMethodCloseButton | HbVkbCloseMethodButtonDrag,
    65         HbVkbCloseMethodCloseButtonDrag = HbVkbCloseMethodCloseButton | HbVkbCloseMethodButtonDrag,
    68         HbVkbCloseMethodCloseGesture = 0x4,
    66         HbVkbCloseMethodCloseGesture = 0x4,
    69     };
    67     };
    70 
    68 
    71      enum HbSctView {
    69     enum HbSctView {
    72         HbSctViewSpecialCharacter,
    70         HbSctViewSpecialCharacter,
    73         HbSctViewSmiley
    71         HbSctViewSmiley
    74     };
    72     };
    75 
    73 
    76     HbInputVkbWidget(QGraphicsItem *parent = 0);
    74     HbInputVkbWidget(QGraphicsItem *parent = 0);  
    77     virtual ~HbInputVkbWidget();
    75     virtual ~HbInputVkbWidget();
    78 
    76 
    79 public: // From HbVirtualKeyboard
    77 public: // From HbVirtualKeyboard
    80     QWidget* asWidget();
    78     QWidget *asWidget();
    81     QGraphicsWidget* asGraphicsWidget();
    79     QGraphicsWidget *asGraphicsWidget();
    82     QSizeF preferredKeyboardSize();
    80     QSizeF preferredKeyboardSize();
    83     QSizeF minimizedKeyboardSize();
    81     QSizeF minimizedKeyboardSize();
    84     virtual void aboutToOpen(HbVkbHost *host);
    82     virtual void aboutToOpen(HbVkbHost *host);
    85     virtual void aboutToClose(HbVkbHost *host);
    83     virtual void aboutToClose(HbVkbHost *host);
    86     virtual void keyboardOpened(HbVkbHost *host);
    84     virtual void keyboardOpened(HbVkbHost *host);
    87     virtual void keyboardClosed(HbVkbHost *host);
    85     virtual void keyboardClosed(HbVkbHost *host);
    88     virtual void keyboardMinimized(HbVkbHost *host);
    86     virtual void keyboardMinimized(HbVkbHost *host);
    89     virtual void keyboardAnimationFrame(HbVkbAnimationType type, qreal x);
    87     virtual void keyboardAnimationFrame(HbVkbAnimationType type, qreal x);
    90 
    88 
    91     virtual void setKeymap(const HbKeymap* keymap);
    89     virtual void setKeymap(const HbKeymap *keymap);
    92 
    90 
    93     virtual void setMode(HbKeypadMode mode, HbModifiers modifiers);
    91     virtual void setMode(HbKeypadMode mode, HbModifiers modifiers);
    94     virtual HbKeypadMode mode() const;
    92     virtual HbKeypadMode mode() const;
    95     virtual HbModifiers modifiers() const;
    93     virtual HbModifiers modifiers() const;
    96 
    94 
   106     virtual void animKeyboardChange();
   104     virtual void animKeyboardChange();
   107 
   105 
   108     HbFlickDirection flickDirection();
   106     HbFlickDirection flickDirection();
   109 
   107 
   110 protected: // From QGraphicsItem
   108 protected: // From QGraphicsItem
   111     virtual QPainterPath shape () const;
   109     virtual QPainterPath shape() const;
   112     virtual void changeEvent(QEvent *event);
   110     virtual void changeEvent(QEvent *event);
   113     virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
   111     virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
   114     virtual int type() const {return Hb::ItemType_InputVkbWidget;}
   112     virtual int type() const {
       
   113         return Hb::ItemType_InputVkbWidget;
       
   114     }
   115     QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
   115     QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
   116     virtual void gestureEvent(QGestureEvent *event);
   116     virtual void gestureEvent(QGestureEvent *event);
   117 
   117 
   118 protected:
   118 protected:
   119     // layout
   119     // layout
   120     QSizeF keypadButtonAreaSize();
   120     QSizeF keypadButtonAreaSize();
       
   121     virtual QPointF rockerPosition();
   121 
   122 
   122 public slots:
   123 public slots:
   123     void showSettingList();
   124     void showSettingList();
   124     void showSettingsView();
   125     void showSettingsView();
   125     void closeSettingsView();
   126     void closeSettingsView();
   126     void executeMethodDialog();
   127     void executeMethodDialog();
   127     void closeSettingList();
   128     void closeSettingList();
   128     void settingsClosed();
   129     void settingsClosed();
   129     void showSmileyPicker(int rows, int columns);
   130     void showSmileyPicker(int rows = 0, int columns = 0);
   130     void keypadLanguageChangeAnimationUpdate(qreal value);
   131     void keypadLanguageChangeAnimationUpdate(qreal value);
   131     void keypadLanguageChangeFinished();
   132     void keypadLanguageChangeFinished();
   132 
   133 
   133     virtual void sendKeyPressEvent(const QKeyEvent &event);
   134     virtual void sendKeyPressEvent(const QKeyEvent &event);
   134     virtual void sendKeyDoublePressEvent(const QKeyEvent &event);
   135     virtual void sendKeyDoublePressEvent(const QKeyEvent &event);
   140     void keypadCloseEventDetected(HbInputVkbWidget::HbVkbCloseMethod closeMethod);
   141     void keypadCloseEventDetected(HbInputVkbWidget::HbVkbCloseMethod closeMethod);
   141     void rockerDirection(int direction, HbInputVirtualRocker::RockerSelectionMode selectionMode);
   142     void rockerDirection(int direction, HbInputVirtualRocker::RockerSelectionMode selectionMode);
   142     void flickEvent(HbInputVkbWidget::HbFlickDirection direction);
   143     void flickEvent(HbInputVkbWidget::HbFlickDirection direction);
   143     void smileySelected(QString text);
   144     void smileySelected(QString text);
   144     void mouseMovedOutOfButton();
   145     void mouseMovedOutOfButton();
       
   146     void aboutToActivateCustomAction(HbAction *custAction);
   145 protected:
   147 protected:
   146     HbInputVkbWidget(HbInputVkbWidgetPrivate &dd, QGraphicsItem* parent);
   148     HbInputVkbWidget(HbInputVkbWidgetPrivate &dd, QGraphicsItem *parent);
   147 
   149 
   148 private:
   150 private:
   149     Q_DECLARE_PRIVATE_D(d_ptr, HbInputVkbWidget)
   151     Q_DECLARE_PRIVATE_D(d_ptr, HbInputVkbWidget)
   150     Q_DISABLE_COPY(HbInputVkbWidget)
   152     Q_DISABLE_COPY(HbInputVkbWidget)
       
   153     Q_PRIVATE_SLOT(d_func(), void _q_activateInputMethod(const HbInputMethodDescriptor &, const QByteArray &))
       
   154     Q_PRIVATE_SLOT(d_func(), void _q_settingsClosed(HbAction *action))
       
   155     Q_PRIVATE_SLOT(d_func(), void _q_smileyPickerClosed())
   151 
   156 
   152     friend class HbTouchKeypadButton;
   157     friend class HbTouchKeypadButton;
   153     friend class HbInputUsedSymbolPane;
   158     friend class HbInputUsedSymbolPane;
   154 };
   159 };
   155 
   160