Subject: Qt4 Porting Status: Qt3 UI Files Date: Fri, 12 Mar 2010 18:14:30 -0700 From: Phil Weinstein Re: http://cadswes2.colorado.edu/~philw/2010/Qt4Port/ -- See "March 2010". Of the approx. 91 Qt3 UI files used in RiverWare, I've ported 16 files to Qt4, and removed two unused modules. Most of this work was done over a three-day period (following one day of documenting the porting of a complex sample, involving also file renaming). Here is the original list of 91 Qt4 UI files: http://cadswes2.colorado.edu/~philw/2010/Qt4Port/PortAssessment5p2.html#ui The porting of the 16 UI files (virtually) completes this task for the following three libraries. (The one exception is one module in QtRun which Bill is currently making changes to). * QtAccounting (7) * QtUtils (1) (and removed two modules) * QtRun (8). For each batch of Qt3 UI files, I've basically been following the following major steps. I'm making use of notes on this webpage (this should be cleaned up): http://cadswes2.colorado.edu/~philw/2010/Qt4Port/Accounting/AcctSysCfg/2010mar09b.txt 1. Take screenshots of the original dialogs (for checks), including menus having icons. 2. Generate Qt4 *Widgets.ui files from the Qt3 *Base.ui files using "uic3 -convert" ... and directly edit the new ui files to change the module name. 3. Edit the corresponding *.hpp and *.cpp files to replace "Base" subclassing with delegation to the new "Widgets" "POD" (plain old data) classes. This step is a slightly involved process making use of generated substitution strings to prepend "_ui." to widget handle names. (BTW, I MUCH prefer the "pointer constness" provided by the /reference semantics/ approach over of /pointer semantics/ approach). 4. Modify the make files. Generally: Make.package and *Generated.pro (with regeneration of *Generated.vcproj). 5. Get a clean build, test, and check in (only) the new *Widget.ui files. 6. "Round-trip" the *Widget.ui files through Qt4 Designer. Certain icons get dropped, though this is not an issue for most modules. 7. ... Fix those in C++ code, retest, and check in. 8. The next day, remove the old, unused Qt3 *Base.ui files. Re: http://cadswes2.colorado.edu/~philw/2010/Qt4Port/ -- See "March 2010". On Monday, I'm going to move over to some work for David -- on the "Reservoir: Time Varying Elevation Volume and Elevation Area Methods" project. I'm posting my notes here ... http://cadswes2.colorado.edu/~philw/2010/TableSlot/DateColMap/ ... See "Prelim". Phil