22#ifndef KPROPERTY_COMBOBOX_H 
   23#define KPROPERTY_COMBOBOX_H 
   25#include "KPropertyWidgetsFactory.h" 
   29class KPROPERTYWIDGETS_EXPORT KPropertyComboBoxEditorIconProviderInterface
 
   32    KPropertyComboBoxEditorIconProviderInterface() {}
 
   33    virtual ~KPropertyComboBoxEditorIconProviderInterface() {}
 
   34    virtual QIcon icon(
int index) 
const = 0;
 
   35    virtual KPropertyComboBoxEditorIconProviderInterface* clone() 
const = 0;
 
   38class KPROPERTYWIDGETS_EXPORT KPropertyComboBoxEditorOptions
 
   41    KPropertyComboBoxEditorOptions();
 
   42    KPropertyComboBoxEditorOptions(
const KPropertyComboBoxEditorOptions& other);
 
   43    ~KPropertyComboBoxEditorOptions();
 
   45    KPropertyComboBoxEditorOptions& operator=(
const KPropertyComboBoxEditorOptions &other);
 
   47    KPropertyComboBoxEditorIconProviderInterface *iconProvider = 
nullptr;
 
   48    bool extraValueAllowed;
 
   51class KPROPERTYWIDGETS_EXPORT KPropertyComboBoxEditor : 
public QComboBox 
   54    Q_PROPERTY(QVariant value READ value WRITE setValue USER 
true)
 
   57    KPropertyComboBoxEditor(
const KPropertyListData &listData,
 
   58                            const KPropertyComboBoxEditorOptions &options,
 
   59                            QWidget *parent = 
nullptr);
 
   61    ~KPropertyComboBoxEditor() 
override;
 
   63    virtual QVariant value() 
const;
 
   65    static QString borderSheet(
const QWidget *widget);
 
   68    void commitData( QWidget * editor );
 
   71    void setListData(
const KPropertyListData & listData);
 
   73    virtual void setValue(
const QVariant &value);
 
   76    void slotValueChanged(
int value);
 
   79    void paintEvent(QPaintEvent *event) 
override;
 
   81    QString keyForValue(
const QVariant &value);
 
   85    bool listDataKeysAvailable() 
const;
 
   88    Q_DISABLE_COPY(KPropertyComboBoxEditor)
 
   97    KPropertyComboBoxDelegate();
 
   99    QString propertyValueToString(
const KProperty *property, 
const QLocale &locale) 
const override;
 
  101    QString valueToString(
const QVariant &value, 
const QLocale &locale) 
const override;
 
  103    QWidget *createEditor(
int type, QWidget *parent, 
const QStyleOptionViewItem &option,
 
  104                          const QModelIndex &index) 
const override;
 
An interface for editor widget creators.
 
Provides a specialized conversion of value to string depending on type.