55 }; |
55 }; |
56 |
56 |
57 explicit HbComboBox( QGraphicsItem *parent = 0 ); |
57 explicit HbComboBox( QGraphicsItem *parent = 0 ); |
58 virtual ~HbComboBox( ); |
58 virtual ~HbComboBox( ); |
59 |
59 |
60 enum { Type = Hb::ItemType_ComboBox }; |
60 enum { |
61 int type( ) const { return Type; } |
61 Type = Hb::ItemType_ComboBox |
|
62 }; |
|
63 int type( ) const { |
|
64 return Type; |
|
65 } |
62 |
66 |
63 void addItem( const QString &text, const QVariant &userData = QVariant() ); |
67 void addItem( const QString &text, const QVariant &userData = QVariant() ); |
64 void addItem( const HbIcon &icon, |
68 void addItem( const HbIcon &icon, const QString &text, |
65 const QString &text, |
69 const QVariant &userData = QVariant( ) ); |
66 const QVariant &userData = QVariant( ) ); |
|
67 |
70 |
68 void addItems( const QStringList &texts ); |
71 void addItems( const QStringList &texts ); |
69 |
72 |
70 void insertItem( int index, const QString &text, const QVariant &userData = QVariant() ); |
73 void insertItem( int index, const QString &text, const QVariant &userData = QVariant() ); |
71 void insertItem( int index, |
74 void insertItem( int index, const HbIcon &icon, const QString &text, |
72 const HbIcon &icon, |
75 const QVariant & userData = QVariant( ) ); |
73 const QString &text, |
|
74 const QVariant & userData = QVariant( ) ); |
|
75 void insertItems( int index, const QStringList &texts ); |
76 void insertItems( int index, const QStringList &texts ); |
76 |
77 |
77 int count( ) const; |
78 int count( ) const; |
78 |
79 |
79 void setItems( const QStringList &texts ); |
80 void setItems( const QStringList &texts ); |
82 void setItemIcon( int index, const HbIcon &icon ); |
83 void setItemIcon( int index, const HbIcon &icon ); |
83 HbIcon itemIcon( int index ) const; |
84 HbIcon itemIcon( int index ) const; |
84 |
85 |
85 void setItemText( int index, const QString &text ); |
86 void setItemText( int index, const QString &text ); |
86 QString itemText( int index ) const; |
87 QString itemText( int index ) const; |
87 |
88 |
88 void setModel( QAbstractItemModel *model ); |
89 void setModel( QAbstractItemModel *model ); |
89 QAbstractItemModel *model( ) const; |
90 QAbstractItemModel *model( ) const; |
90 |
91 |
91 void setEditable( bool editable ); |
92 void setEditable( bool editable ); |
92 bool isEditable( ) const; |
93 bool isEditable( ) const; |
93 |
94 |
94 void setItemData( int index, const QVariant &value, int role = Qt::UserRole ); |
95 void setItemData( int index, const QVariant &value, int role = Qt::UserRole ); |
95 QVariant itemData( int index, int role = Qt::UserRole ) const; |
96 QVariant itemData( int index, int role = Qt::UserRole ) const; |
96 |
97 |
97 void setValidator( HbValidator *validator ); |
98 void setValidator( HbValidator *validator ); |
98 const HbValidator *validator( ) const; |
99 const HbValidator *validator( ) const; |
99 |
100 |
100 QString currentText( ) const; |
101 QString currentText( ) const; |
101 |
102 |
102 int currentIndex( ) const; |
103 int currentIndex( ) const; |
103 |
104 |
104 void removeItem( int index ); |
105 void removeItem( int index ); |
105 |
106 |
106 inline int findText( const QString &text, |
107 inline int findText( const QString &text, |
107 Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const |
108 Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const { |
108 { return findData( text, Qt::DisplayRole, flags ); } |
109 return findData( text, Qt::DisplayRole, flags ); |
109 |
110 } |
|
111 |
110 int findData( const QVariant &data, int role = Qt::UserRole, |
112 int findData( const QVariant &data, int role = Qt::UserRole, |
111 Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const; |
113 Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const; |
112 |
114 |
113 QGraphicsItem *primitive( HbStyle::Primitive primitive ) const; |
115 QGraphicsItem *primitive( HbStyle::Primitive primitive ) const; |
114 |
116 |
116 void updatePrimitives( ); |
118 void updatePrimitives( ); |
117 void clear( ); |
119 void clear( ); |
118 void clearEditText( ); |
120 void clearEditText( ); |
119 void setCurrentIndex( int index ); |
121 void setCurrentIndex( int index ); |
120 void setEditText( const QString &text ); |
122 void setEditText( const QString &text ); |
121 |
123 |
122 signals: |
124 signals: |
123 void currentIndexChanged( int index ); |
125 void currentIndexChanged( int index ); |
124 void currentIndexChanged( const QString &text ); |
126 void currentIndexChanged( const QString &text ); |
125 void editTextChanged( const QString &text ); |
127 void editTextChanged( const QString &text ); |
|
128 void editingFinished( ); |
126 |
129 |
127 protected: |
130 protected: |
128 HbComboBox( HbComboBoxPrivate &dd, QGraphicsItem *parent = 0 ); |
131 HbComboBox( HbComboBoxPrivate &dd, QGraphicsItem *parent = 0 ); |
129 void initStyleOption( HbStyleOptionComboBox *option ) const; |
132 void initStyleOption( HbStyleOptionComboBox *option ) const; |
130 void resizeEvent( QGraphicsSceneResizeEvent *event ); |
133 void resizeEvent( QGraphicsSceneResizeEvent *event ); |
131 void keyPressEvent( QKeyEvent *event ); |
134 void keyPressEvent( QKeyEvent *event ); |
132 void keyReleaseEvent( QKeyEvent *event ); |
135 void keyReleaseEvent( QKeyEvent *event ); |
133 void changeEvent( QEvent *event ); |
136 void changeEvent( QEvent *event ); |
134 bool eventFilter( QObject *obj, QEvent *event ); |
137 bool eventFilter( QObject *obj, QEvent *event ); |
|
138 QVariant itemChange ( GraphicsItemChange change, const QVariant & value ); |
|
139 void gestureEvent( QGestureEvent *event ); |
135 |
140 |
136 private: |
141 private: |
137 Q_DECLARE_PRIVATE_D( d_ptr, HbComboBox ) |
142 Q_DECLARE_PRIVATE_D( d_ptr, HbComboBox ) |
138 Q_DISABLE_COPY( HbComboBox ) |
143 Q_DISABLE_COPY( HbComboBox ) |
139 Q_PRIVATE_SLOT( d_func( ), void _q_textChanged( const QModelIndex &aIndex ) ) |
144 Q_PRIVATE_SLOT( d_func( ), void _q_textChanged( const QModelIndex &aIndex ) ) |