summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2023-12-23 22:24:12 -0500
committerBrian Potchik <brian@vector35.com>2023-12-23 22:24:12 -0500
commit3007496dbbc0613373ac1160a1f3d85c88d6fe92 (patch)
treee15a47ce4ed4551cc7bb2f8cd0e2b5e059d0c1dc
parent24504c4cf6bdc9acd90e4f95fd7185ae61b1030d (diff)
Add support for writable object settings that are rendered as a table.
-rw-r--r--ui/settingsview.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/settingsview.h b/ui/settingsview.h
index 9a79b251..b665b539 100644
--- a/ui/settingsview.h
+++ b/ui/settingsview.h
@@ -164,7 +164,7 @@ class BINARYNINJAUIAPI SettingsEditor : public QWidget
QLineEdit* m_arrayText = nullptr;
QTableWidget* m_objectTable = nullptr;
std::set<QString> m_validComboSelections;
- QStringList m_objectTableColumns;
+ std::vector<std::pair<std::string, Json::ValueType>> m_objectTableColumns;
Json::StreamWriterBuilder m_builder;
bool m_optional = false;
@@ -175,7 +175,8 @@ class BINARYNINJAUIAPI SettingsEditor : public QWidget
int m_minHeight;
int m_maxAdjustedWidth;
- QStringList columnsForObject(const Json::Value& value);
+ std::pair<bool, std::vector<std::pair<std::string, Json::ValueType>>> isObjectSetting(const Json::Value& value);
+ QTableWidgetItem* getTableItemForValue(const Json::Value& value);
public:
SettingsEditor(QWidget* parent, SettingsRef settings, BinaryViewRef view, BNSettingsScope scope, const Json::Value* setting);