1
1
#pragma once
2
2
3
3
#include < QtCore/QSettings>
4
- #include < QtWidgets/QListView >
4
+ #include < QtWidgets/QTableView >
5
5
#include < QtWidgets/QStyledItemDelegate>
6
6
#include < QtWidgets/QAbstractScrollArea>
7
7
#include < mutex>
@@ -53,6 +53,13 @@ class BINARYNINJAUIAPI StringsListModel : public QAbstractItemModel, public Bina
53
53
std::vector<StringUpdateEvent> getQueuedStringUpdates ();
54
54
55
55
public:
56
+ enum {
57
+ COL_ADDRESS = 0 ,
58
+ COL_TYPE,
59
+ COL_VALUE,
60
+ COLUMN_COUNT,
61
+ };
62
+
56
63
StringsListModel (QWidget* parent, BinaryViewRef data);
57
64
virtual ~StringsListModel ();
58
65
@@ -62,6 +69,7 @@ class BINARYNINJAUIAPI StringsListModel : public QAbstractItemModel, public Bina
62
69
virtual int rowCount (const QModelIndex& parent) const override ;
63
70
virtual int columnCount (const QModelIndex& parent) const override ;
64
71
virtual QVariant data (const QModelIndex& i, int role) const override ;
72
+ virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const override ;
65
73
66
74
BNStringReference getStringAt (const QModelIndex& i);
67
75
QModelIndex findString (const BNStringReference& ref);
@@ -70,6 +78,8 @@ class BINARYNINJAUIAPI StringsListModel : public QAbstractItemModel, public Bina
70
78
virtual void OnStringRemoved (BinaryNinja::BinaryView* data, BNStringType type, uint64_t offset, size_t len) override ;
71
79
void updateStrings ();
72
80
81
+ virtual void sort (int col, Qt::SortOrder order) override ;
82
+
73
83
void setFilter (const std::string& filter);
74
84
75
85
void updateFilter () { setFilter (m_filter); };
@@ -110,7 +120,6 @@ class BINARYNINJAUIAPI StringItemDelegate : public QStyledItemDelegate
110
120
void updateFonts ();
111
121
112
122
virtual QSize sizeHint (const QStyleOptionViewItem& option, const QModelIndex& idx) const override ;
113
- virtual void paint (QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& idx) const override ;
114
123
QFont getFont () const { return m_font; }
115
124
};
116
125
@@ -121,7 +130,7 @@ class StringsViewSidebarWidget;
121
130
122
131
\ingroup stringsview
123
132
*/
124
- class BINARYNINJAUIAPI StringsView : public QListView , public View, public FilterTarget
133
+ class BINARYNINJAUIAPI StringsView : public QTableView , public View, public FilterTarget
125
134
{
126
135
Q_OBJECT
127
136
0 commit comments