Amended errorMon messages in AMDatamanAppController.cpp and AMDbObject.cpp to have more information especially regarding the database in question. Added functionality to not log actions when requested database is null and tested this with the scanActions database to look into slowness on SGM OPI.
Added a hack to test whether it's possible to put the objects into the scanAction database in group transactions. It made a significant improvement but there are still big performance issues.
Added hacks to get database stores into grouped transactions for the scanAction database and to help with slow performance in the actionHistoryView(Model). Added some debugging for other purposes.
First part of upgrade made a mapping in AMAppControllerSupport for relating database names, AMActionRunners, and AMActionHistoryModels. Used this to move the logging calls from static calls in AMLogAction to normal calls in AMActionHistoryModel. This removed the need for AMActionHistoryModel to watch the database for updates to create AMActionLogItems. Now those items are created on the fly and the only database calls needed are to pull out uncompleted AMActionLogs and update them. Everything seems to be working. Only modest improvements in overall performance. Need to actually tackle the poorly built model inside of AMActionHistoryModel now.
Added number of children hack to AMActionLogItem.
Fixed merge conflicts, all spacing and missed comments.
Playing around with AMActionHistoryModel calls to get slightly better performance. Need to redo model to really make a difference.
Started new underlying tree model for AMActionHistoryModel. Moved QAbstractItemModel calls to use this model. Seems to be working. Still some functions to migrate.
Added clearing capability to the new underlying model. Refresh time for the Show More Actions Button went from 24 seconds to 8 seconds. Still can do better figuring out exactly how many actions need to be loaded to get another top level and not calling refresh recursively.
Fixed the repeated calls to refreshDb by giving better sugestions for how many more actions to load on a show more. Took running time from 8 seconds down to 1 second. Need to clean up all of the class to remove the old items list and document the code.
Tried to fix up as muc of the AMActionHistoryModel as I can without beamline testing available. Will need to test live action adding at some point.
Moved the general AMPointerTree(Node) classes to their own file in the util folder. Removed a lot of old commented out code. Added some comments and fixed some errorMons. Need to check into the performance of item selection in the model.
A pair of changes to bounds checking type problems in AMActionHistoryModel has solved the slow perfomance issues for selection. However, I believe I've introduced a problem where non-toplevel siblings aren't causing their (de)selected children to update properly.
Using 200 actionLog caching on beamline OPIs
Fixed minor merge conflict
Implemented the item to node mapping feature in AMPointerTree(Node).
Merge branch 'Issue480' of github.com:acquaman/acquaman into Issue480
Made some improvements to child counting and AMLogAction3 database transaction.
Testing to see if I can actually reduce the number of database calls during the logging and updating of AMActionLogs.
Fixed minor merge confict.