我有一个哈希值,这些值构建到以下结构中:
string type1_name -> Hash(
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct
),
string type2_name -> Hash(
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct,
string name_member -> DataStruct
),
/// etc
问题是我有 3 个视图:2 个 TreeViews(扩展的实际树以分层方式显示所有列,并作为 ListStore 仅显示类型图标和 DataStruct 的名称,这些视图由不同的父级拥有,可能同时显示)和 1 个ListView 具有相同数据的图标表示。ATM 我有一个类管理数据(验证、序列化、反序列化......)和每个视图的 3 个模型,所以每次我更新/删除/创建项目时,我都必须更新所有 3 个模型,这看起来不太好:(
我想到的是创建一个实现 Gtk.TreeModel 的类并提供可用作所有 3 个视图的模型的通用数据源,但我找不到任何关于如何实现 gtk.TreeModel 的文档。我试图查看 GtkListStore (本机 C 实现),我发现它重新实现了很多方法。没有更简单的方法吗?