#pragma once #include "lts_widgets_export.h" #include namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsComboBox : public QComboBox { Q_OBJECT using BaseClass = QComboBox; public: explicit LtsComboBox(QWidget *parent = nullptr); ~LtsComboBox() = default; static void setUseSelectionDialog(bool bUseSelectionDialog); bool hasValueChanged() const; void setExternalContentType(int ect) { m_externalContentType = ect; } int externalContentType() const { return m_externalContentType; } protected: void showPopup() override; void showEvent(QShowEvent *e) override; void enterEvent(QEvent *e) override; void leaveEvent(QEvent *) override; protected slots: void userChangedIndex(int index); signals: void signalExternallyChanged(); void signalRefill(); void signalEnterEvent(); void signalLeaveEvent(); private: int m_currentIndex; int m_externalContentType; static bool s_useSelectionDialog; }; }