File indexing completed on 2024-05-12 16:44:03

0001 /*
0002     SPDX-FileCopyrightText: 2009-2016 Cristian Oneț <onet.cristian@gmail.com>
0003     SPDX-FileCopyrightText: 2009-2010 Alvaro Soliverez <asoliverez@gmail.com>
0004     SPDX-FileCopyrightText: 2010-2017 Thomas Baumgart <tbaumgart@kde.org>
0005     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #ifndef KMYMONEYGENERALCOMBO_H
0010 #define KMYMONEYGENERALCOMBO_H
0011 
0012 #include "kmm_widgets_export.h"
0013 
0014 // ----------------------------------------------------------------------------
0015 // QT Includes
0016 
0017 #include <KComboBox>
0018 
0019 // ----------------------------------------------------------------------------
0020 // KDE Includes
0021 
0022 // ----------------------------------------------------------------------------
0023 // Project Includes
0024 
0025 class KMM_WIDGETS_EXPORT KMyMoneyGeneralCombo : public KComboBox
0026 {
0027     Q_OBJECT
0028     Q_DISABLE_COPY(KMyMoneyGeneralCombo)
0029     Q_PROPERTY(int currentItem READ currentItem WRITE setCurrentItem STORED false)
0030 
0031 public:
0032     explicit KMyMoneyGeneralCombo(QWidget* parent = nullptr);
0033     virtual ~KMyMoneyGeneralCombo();
0034 
0035     void insertItem(const QString& txt, int id, int idx = -1);
0036 
0037     void setCurrentItem(int id);
0038     int currentItem() const;
0039 
0040     void removeItem(int id);
0041 
0042 public Q_SLOTS:
0043     void clear();
0044 
0045 Q_SIGNALS:
0046     void itemSelected(int id);
0047 
0048 protected:
0049     // prevent the caller to use the standard KComboBox insertItem function with a default idx
0050     void insertItem(const QString&);
0051 
0052 protected Q_SLOTS:
0053     void slotChangeItem(int idx);
0054 
0055 };
0056 
0057 #endif