Tulip 5.7.1
Large graphs analysis and drawing
Loading...
Searching...
No Matches
TreeViewComboBox.h
1/*
2 *
3 * This file is part of Tulip (https://tulip.labri.fr)
4 *
5 * Authors: David Auber and the Tulip development Team
6 * from LaBRI, University of Bordeaux
7 *
8 * Tulip is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation, either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * Tulip is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU General Public License for more details.
17 *
18 */
19///@cond DOXYGEN_HIDDEN
20
21#ifndef TREEVIEWCOMBOBOX_H
22#define TREEVIEWCOMBOBOX_H
23
24#include <QComboBox>
25#include <QTreeView>
26
27#include <tulip/tulipconf.h>
28
29class TLP_QT_SCOPE TreeViewComboBox : public QComboBox {
30
31 Q_OBJECT
32 QTreeView *_treeView;
33 bool _popupVisible;
34 QModelIndex _lastIndex;
35
36public:
37 explicit TreeViewComboBox(QWidget *parent = nullptr);
38
39#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
40 void setModel(QAbstractItemModel *model);
41#else
42 void setModel(QAbstractItemModel *model) override;
43#endif
44
45 void showPopup() override;
46 void hidePopup() override;
47
48 QModelIndex selectedIndex() const;
49
50public slots:
51
52 void selectIndex(const QModelIndex &);
53 void rowsRemoved(const QModelIndex &, int, int);
54 void currentIndexChanged();
55
56signals:
57
58 void currentItemChanged();
59};
60
61#endif // TREEVIEWCOMBOBOX_H
62///@endcond