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.