fundamental design issues with trips and dives

Berthold Stoeger bstoeger at mail.tuwien.ac.at
Thu Nov 7 12:14:27 PST 2019


On Donnerstag, 7. November 2019 19:32:22 CET Dirk Hohndel wrote:
> > On Nov 7, 2019, at 10:10 AM, Berthold Stoeger <bstoeger at mail.tuwien.ac.at>
> > wrote:
> > This all works on desktop, so my idea would be to use the desktop tree
> > model and the desktop undo commands. More details later (in the metro to
> > dinner).
> Yes, I looked at using the tree model and the undo commands. I actually
> spent quite a bit of time on that path before doing the current rewrite
> that is now in beta test on both Android and iOS.
> 
> My conclusion is that it would be much easier to just kill the current
> mobile code completely and start from scratch writing an html/JS UI or
> native Java code for Android and Swift for iOS or something. Because QML
> cannot reasonably deal with data in tree models.

It doesn't have to. Just like you defined a proxy model on top of the 
DiveListModel, one could implement a proxy model on top of the tree model that 
"linearizes" it. Even though Qt's model API is bizarre (e.g. the empty range 
is [0:-1]!), once you get the hang of it - it shouldn't be too hard. The model 
would return two kinds of items: trip and dive. Collapsing and expanding a 
trip simply means removing/adding the corresponding second-level items with 
the appropriate Qt model operations. I'll be busy tomorrow, but if you can 
wait that long I can try to come up with a prototype during weekend.

Thus, there would be no need to do any extra trip handling.

Berthold





More information about the subsurface mailing list