mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-22 14:43: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) :
|
ClassesWidget::ClassesWidget(MainWindow *main, QAction *action) :
|
||||||
@ -474,7 +479,7 @@ ClassesWidget::ClassesWidget(MainWindow *main, QAction *action) :
|
|||||||
ui->classesTreeView->setIconSize(QSize(10, 10));
|
ui->classesTreeView->setIconSize(QSize(10, 10));
|
||||||
|
|
||||||
proxy_model = new ClassesSortFilterProxyModel(this);
|
proxy_model = new ClassesSortFilterProxyModel(this);
|
||||||
ui->classesTreeView->setModel(nullptr);
|
ui->classesTreeView->setModel(proxy_model);
|
||||||
ui->classesTreeView->sortByColumn(ClassesModel::TYPE, Qt::AscendingOrder);
|
ui->classesTreeView->sortByColumn(ClassesModel::TYPE, Qt::AscendingOrder);
|
||||||
ui->classesTreeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->classesTreeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
|
||||||
@ -511,8 +516,7 @@ void ClassesWidget::refreshClasses()
|
|||||||
delete anal_model;
|
delete anal_model;
|
||||||
anal_model = nullptr;
|
anal_model = nullptr;
|
||||||
bin_model = new BinClassesModel(this);
|
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());
|
bin_model->setClasses(Core()->getAllClassesFromBin());
|
||||||
break;
|
break;
|
||||||
@ -522,8 +526,7 @@ void ClassesWidget::refreshClasses()
|
|||||||
delete bin_model;
|
delete bin_model;
|
||||||
bin_model = nullptr;
|
bin_model = nullptr;
|
||||||
anal_model = new AnalClassesModel(this);
|
anal_model = new AnalClassesModel(this);
|
||||||
ui->classesTreeView->setModel(anal_model);
|
proxy_model->setSourceModel(anal_model);
|
||||||
//proxy_model->setSourceModel(anal_model);
|
|
||||||
}
|
}
|
||||||
anal_model->refreshClasses();
|
anal_model->refreshClasses();
|
||||||
break;
|
break;
|
||||||
|
@ -22,7 +22,7 @@ class ClassesModel: public QAbstractItemModel
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Columns { NAME = 0, TYPE, OFFSET, VTABLE, COUNT };
|
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 OffsetRole = Qt::UserRole;
|
||||||
static const int NameRole = Qt::UserRole + 1;
|
static const int NameRole = Qt::UserRole + 1;
|
||||||
@ -106,6 +106,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
bool filterAcceptsRow(int row, const QModelIndex &parent) const override;
|
bool filterAcceptsRow(int row, const QModelIndex &parent) const override;
|
||||||
bool lessThan(const QModelIndex &left, const QModelIndex &right) 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