Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSqueezedComboBox.h
Go to the documentation of this file.
1/* ============================================================
2 * Author: Tom Albers <tomalbers@kde.nl>
3 * Date : 2005-01-01
4 * Description :
5 *
6 * SPDX-FileCopyrightText: 2005 Tom Albers <tomalbers@kde.nl>
7 *
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 *
10 * ============================================================ */
11
12#ifndef KISSQUEEZEDCOMBOBOX_H
13#define KISSQUEEZEDCOMBOBOX_H
14
15class QTimer;
16class QResizeEvent;
17class QWidget;
18
19// Qt includes.
20
21#include <QComboBox>
22#include <QWidget>
23#include <QIcon>
24
25#include "kritawidgetutils_export.h"
26
38class KRITAWIDGETUTILS_EXPORT KisSqueezedComboBox : public QComboBox
39{
40 Q_OBJECT
41
42public:
43
49 KisSqueezedComboBox(QWidget *parent = 0, const char *name = 0);
53 ~KisSqueezedComboBox() override;
54
61 bool contains(const QString & text) const;
62
67 qint32 findOriginalText(const QString & text) const;
68
69
73 QStringList originalTexts() const;
74
78 void resetOriginalTexts(const QStringList &texts);
79
89 void insertSqueezedItem(const QString& newItem, int index, QVariant userData = QVariant());
90 void insertSqueezedItem(const QIcon &icon, const QString& newItem, int index, QVariant userData = QVariant());
91
98 void addSqueezedItem(const QString& newItem, QVariant userData = QVariant());
99
107 void addSqueezedItem(const QIcon &icon, const QString& newItem, QVariant userData = QVariant());
108
114 void setCurrent(const QString& itemText);
115
121 QString currentUnsqueezedText();
122
126 void removeSqueezedItem(int index);
127
131 QSize sizeHint() const override;
132
133 static QString squeezeText(const QString& original, const QWidget *widget);
134
135private Q_SLOTS:
136 void slotTimeOut();
137
138private:
139 void resizeEvent(QResizeEvent *) override;
140
141 // Prevent these from being used.
142 void setCurrentText(const QString& itemText);
143 void insertItem(const QString &text);
144 void insertItem(qint32 index, const QString &text);
145 void addItem(const QString &text);
146
147 QMap<int, QString> m_originalItems;
148 QTimer *m_timer;
149
150};
151
152#endif // KISSQUEEZEDCOMBOBOX_H
void insertItem(qint32 index, const QString &text)
QMap< int, QString > m_originalItems
void addItem(const QString &text)
void insertItem(const QString &text)
void setCurrentText(const QString &itemText)