Completion of the Qt3-to-Qt4 Port for RiverWare 6.3
Phil Weinstein, CADSWES, edit 5-13-2013
Subsequent Porting Work
These two documents provide details for this overview:
The remaining major widgets to be ported are Q3ListViews in about ten (10) DbDmi dialogs. Some additional analysis and guidance from Bill will be helpful. On quickly reviewing this list of dialogs and lists, Bill concludes that all can be done using simpler (item-based) QTreeWidgets; it will not be necessary to implement model-view classes.
In general, each list can be ported within 2 to 3 days. Much of this time is for testing, and some setup will be needed to test the GUIs for the database applications (in particular, HDB). A more precise estimate could be made after a better analysis of these dialogs, but it seems to be about two weeks (10 days) of work. (revised).
These include Q3MainWindows (fairly simple being that we aren't using docked child windows), Q3PopupMenus, Q3ToolBars, Q3Frames, Q3GroupBoxes, Q3WidgetStacks, Q3ButtonGroups, Q3ActionGroups, Q3TextEdits, Q3PtrLists, and a few other classes. The porting of only a few of these involve behaviors needing testing.
See the analysis document above. The main part of this process involves disabling the Qt compatibility library for individual .cpp files, removing the resulting compilation errors, and running to look for warnings about incorrect Qt signal/slot connections. It's difficult to confidently estimate this work precisely, but I'm attempting an estimate by counting the files needing to be processed and the number of items in these files based on a representative subset of Qt3 compatibility methods.
There are about 200 .cpp files needing to be processed, with an average of about 15 items per file among the representative set of Qt3 compatibility methods (so maybe twice that number will need processing). Based on the substantially complete processing of the QtSCT files recently completed, about "20 files per day" may be about right. After that, we may need another week to address other issues, including changing the build to link without the Qt compatibility library:
---