1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/*
SPDX-FileCopyrightText: 2008 Vladimir Prus <ghost@cs.msu.su>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef KDEVPLATFORM_TREEVIEW_H
#define KDEVPLATFORM_TREEVIEW_H
#include <QTreeView>
#include <debugger/debuggerexport.h>
namespace KDevelop
{
class TreeModel;
class KDEVPLATFORMDEBUGGER_EXPORT AsyncTreeView : public QTreeView
{
Q_OBJECT
public:
explicit AsyncTreeView(TreeModel& treeModel, QWidget* parent = nullptr);
QSize sizeHint() const override;
void resizeColumns();
void setAutoResizeColumns(bool on);
// Well, I really, really, need this.
using QTreeView::indexRowSizeHint;
protected:
TreeModel& treeModel();
private Q_SLOTS:
void slotExpanded(const QModelIndex &index);
void slotCollapsed(const QModelIndex &index);
void slotClicked(const QModelIndex &index);
void slotExpandedDataReady();
private:
virtual QModelIndex mapViewIndexToTreeModelIndex(const QModelIndex& viewIndex) const;
void resizeColumnsAutomatically();
TreeModel& m_treeModel;
bool m_autoResizeColumns;
};
}
#endif
|