Given that I work with almost entirely JSON data, I find myself now lamenting 
the QML ListModel. Even The JSONListModel that can be found online isn't great. 
It all suffers from the same flaws as ListModel. My major complaint is that 
models, don't use a length  property and instead use count, that you have 
specialized access with count, get, set, append and setProperty. Why can't we 
use the standard JSON manipulation tools and just set a ListModel to an array 
of a JSON object.  Also some basic filter function would go a long way to 
reducing the number of marshaling functions I need to write.

Ideally, I'd like the Following:
JSONModel {
obj: {name: 'Test model', data: [{a:1, b:2],  [{a:3, b:4]}}
listProperty: 'data'
filter: function (item) { return item.a >2 } // if true, it's in the model 
default function is {return true}
}

In this way, I wouldn't have to write all these function to marshall data into 
and out of ListModels. I realize there might be an issue with raw JS access to 
the object itself (i.e. model.obj.data[0].a=4, however I'd much rather call 
model.sync() on those changes rather than write all these functions that just 
do appends(). Another way to handle the update issue is to use Observable 
pattern, like in Knockout and Angular.


And lastly, could we get the standard accesses aliased? At least: append->push 
count->length get->[] 

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to