mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-22 06:33:46 +00:00
Re-enable Proxy Model for Classes Widget
This commit is contained in:
parent
2f0fd91137
commit
159d04e4c5
@ -463,6 +463,11 @@ bool ClassesSortFilterProxyModel::lessThan(const QModelIndex &left, const QModel
|
||||
}
|
||||
}
|
||||
|
||||
bool ClassesSortFilterProxyModel::hasChildren(const QModelIndex &parent) const
|
||||
{
|
||||
return !parent.isValid() || !parent.parent().isValid();
|
||||
}
|
||||
|
||||
|
||||
|
||||
ClassesWidget::ClassesWidget(MainWindow *main, QAction *action) :
|
||||
@ -474,7 +479,7 @@ ClassesWidget::ClassesWidget(MainWindow *main, QAction *action) :
|
||||
ui->classesTreeView->setIconSize(QSize(10, 10));
|
||||
|
||||
proxy_model = new ClassesSortFilterProxyModel(this);
|
||||
ui->classesTreeView->setModel(nullptr);
|
||||
ui->classesTreeView->setModel(proxy_model);
|
||||
ui->classesTreeView->sortByColumn(ClassesModel::TYPE, Qt::AscendingOrder);
|
||||
ui->classesTreeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
||||
@ -511,8 +516,7 @@ void ClassesWidget::refreshClasses()
|
||||
delete anal_model;
|
||||
anal_model = nullptr;
|
||||
bin_model = new BinClassesModel(this);
|
||||
ui->classesTreeView->setModel(bin_model);
|
||||
//proxy_model->setSourceModel(bin_model);
|
||||
proxy_model->setSourceModel(bin_model);
|
||||
}
|
||||
bin_model->setClasses(Core()->getAllClassesFromBin());
|
||||
break;
|
||||
@ -522,8 +526,7 @@ void ClassesWidget::refreshClasses()
|
||||
delete bin_model;
|
||||
bin_model = nullptr;
|
||||
anal_model = new AnalClassesModel(this);
|
||||
ui->classesTreeView->setModel(anal_model);
|
||||
//proxy_model->setSourceModel(anal_model);
|
||||
proxy_model->setSourceModel(anal_model);
|
||||
}
|
||||
anal_model->refreshClasses();
|
||||
break;
|
||||
|
@ -22,7 +22,7 @@ class ClassesModel: public QAbstractItemModel
|
||||
{
|
||||
public:
|
||||
enum Columns { NAME = 0, TYPE, OFFSET, VTABLE, COUNT };
|
||||
enum class RowType { Class = 0, Method = 1, Field = 2, Base = 3, VTable = 4 };
|
||||
enum class RowType { Class = 0, Base, VTable, Method, Field };
|
||||
|
||||
static const int OffsetRole = Qt::UserRole;
|
||||
static const int NameRole = Qt::UserRole + 1;
|
||||
@ -106,6 +106,7 @@ public:
|
||||
protected:
|
||||
bool filterAcceptsRow(int row, const QModelIndex &parent) const override;
|
||||
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override;
|
||||
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user