src/hbwidgets/widgets/hbcombobox.h
changeset 2 06ff229162e9
parent 0 16d8024aca5e
child 3 11d3954df52a
equal deleted inserted replaced
1:f7ac710697a9 2:06ff229162e9
    33 class HbStyleOptionComboBox;
    33 class HbStyleOptionComboBox;
    34 
    34 
    35 class HB_WIDGETS_EXPORT HbComboBox : public HbWidget
    35 class HB_WIDGETS_EXPORT HbComboBox : public HbWidget
    36 {
    36 {
    37     Q_OBJECT
    37     Q_OBJECT
    38     Q_ENUMS(InsertPolicy)
    38     Q_ENUMS( InsertPolicy )
    39     Q_PROPERTY( InsertPolicy insertPolicy READ insertPolicy WRITE setInsertPolicy )
       
    40     Q_PROPERTY( bool editable READ isEditable WRITE setEditable ) 
    39     Q_PROPERTY( bool editable READ isEditable WRITE setEditable ) 
    41     Q_PROPERTY( int count READ count )
    40     Q_PROPERTY( int count READ count )
    42     Q_PROPERTY( QStringList items READ items WRITE setItems )
    41     Q_PROPERTY( QStringList items READ items WRITE setItems )
    43     Q_PROPERTY( int currentIndex READ currentIndex WRITE setCurrentIndex )
    42     Q_PROPERTY( int currentIndex READ currentIndex WRITE setCurrentIndex )
    44     Q_PROPERTY( QString currentText READ currentText )
    43     Q_PROPERTY( QString currentText READ currentText )
    45 
    44 
    46 public:
    45 public:
       
    46 
    47     enum InsertPolicy {
    47     enum InsertPolicy {
    48         NoInsert,
    48         NoInsert,
    49         InsertAtTop,
    49         InsertAtTop,
    50         InsertAtCurrent,
    50         InsertAtCurrent,
    51         InsertAtBottom,
    51         InsertAtBottom,
    61     int type( ) const { return Type; }
    61     int type( ) const { return Type; }
    62 
    62 
    63     void addItem( const QString &text, const QVariant &userData = QVariant() );
    63     void addItem( const QString &text, const QVariant &userData = QVariant() );
    64     void addItem( const HbIcon &icon, 
    64     void addItem( const HbIcon &icon, 
    65                   const QString &text,
    65                   const QString &text,
    66                   const QVariant &userData = QVariant() );
    66                   const QVariant &userData = QVariant( ) );
    67 
    67 
    68     void addItems( const QStringList &texts );
    68     void addItems( const QStringList &texts );
    69 
    69 
    70     void insertItem( int index, const QString &text, const QVariant &userData = QVariant() );
    70     void insertItem( int index, const QString &text, const QVariant &userData = QVariant() );
    71     void insertItem( int index,
    71     void insertItem( int index,
    72                      const HbIcon &icon,
    72                      const HbIcon &icon,
    73                      const QString &text,
    73                      const QString &text,
    74                      const QVariant & userData = QVariant() );
    74                      const QVariant & userData = QVariant( ) );
    75     void insertItems( int index, const QStringList &texts );
    75     void insertItems( int index, const QStringList &texts );
    76 
    76 
    77     int count( ) const;
    77     int count( ) const;
    78 
       
    79     void setInsertPolicy( InsertPolicy policy );
       
    80     InsertPolicy insertPolicy( ) const;
       
    81 
    78 
    82     void setItems( const QStringList &texts );
    79     void setItems( const QStringList &texts );
    83     QStringList items( ) const;
    80     QStringList items( ) const;
    84 
    81 
    85     void setItemIcon( int index, const HbIcon &icon );
    82     void setItemIcon( int index, const HbIcon &icon );
    87 
    84 
    88     void setItemText( int index, const QString &text );
    85     void setItemText( int index, const QString &text );
    89     QString itemText( int index ) const;
    86     QString itemText( int index ) const;
    90             
    87             
    91     void setModel( QAbstractItemModel *model );
    88     void setModel( QAbstractItemModel *model );
    92     QAbstractItemModel* model( ) const;
    89     QAbstractItemModel *model( ) const;
    93     
    90     
    94     void setEditable( bool editable );
    91     void setEditable( bool editable );
    95     bool isEditable( ) const;
    92     bool isEditable( ) const;
    96 
    93 
    97     void setItemData( int index, const QVariant &value, int role = Qt::UserRole );
    94     void setItemData( int index, const QVariant &value, int role = Qt::UserRole );
   107     void removeItem( int index );
   104     void removeItem( int index );
   108 
   105 
   109     inline int findText( const QString &text,
   106     inline int findText( const QString &text,
   110         Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const
   107         Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const
   111         { return findData( text, Qt::DisplayRole, flags ); }
   108         { return findData( text, Qt::DisplayRole, flags ); }
       
   109         
   112     int findData( const QVariant &data, int role = Qt::UserRole,
   110     int findData( const QVariant &data, int role = Qt::UserRole,
   113         Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const;
   111         Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive ) const;
   114 
   112 
   115     QGraphicsItem* primitive( HbStyle::Primitive primitive ) const;
   113     QGraphicsItem *primitive( HbStyle::Primitive primitive ) const;
   116 
   114 
   117 public slots:
   115 public slots:
   118     void updatePrimitives( );
   116     void updatePrimitives( );
   119     void clear( );
   117     void clear( );
   120     void clearEditText( );
   118     void clearEditText( );
   121     void setCurrentIndex( int index );
   119     void setCurrentIndex( int index );
   122     void setEditText( const QString &text );
   120     void setEditText( const QString &text );
   123     
   121     
   124 
       
   125 signals:
   122 signals:
   126     void currentIndexChanged( int index );
   123     void currentIndexChanged( int index );
   127     void currentIndexChanged( const QString &text );
   124     void currentIndexChanged( const QString &text );
   128     void editTextChanged( const QString &text );
   125     void editTextChanged( const QString &text );
   129 
   126