Tool support for porting KDE 1.1.2 apps to KDE 2.0

The CodeWeb tool, now GPL'ed, provides guidance in porting applications from KDE 1.1.2
to KDE 2. It works by data mining the
differences in core library usage among
applications that come in the main distribution.
In addition, CodeWeb continues to demonstrate
typical library usage much like
KDE tutorials using "reuse patterns" and real-life code as examples of those patterns. See the CodeWeb page at SourceForge for a demo and documentation.

Dot Categories: 

Comments

by Navindra Umanee (not verified)

Could you give an explanation for dummies as to how exactly this helps porting an app from KDE 1.1.2 to KDE2? It seems rather involved and technical. :)

Wouldn't it be easier to read the porting guide?

Cheers,
Navin.

You can view this as a complement to the porting
guide. It is comprehensive and actually provides
real-life code directly from the standard KDE
applications to demonstrate the porting process.

The table shown initially shows the % of applications that use a particular library class in V1 and V2. The usage deltas in this table show you classes that tend to no longer be used (in which case you have a large negative delta) or are now used more often than before (in which case you have a large positive delta). You can click on the column headings to sort the column in the table.

You can also click on a library class to see its "reuse patterns". That is, other functions/classes that tend to be used when this library class is used. Again, there are usage deltas for these rules also. For example, if you click on the patterns link for KApplication, you will notice from the usage deltas that you are now expected to use KCmdLineArgs and KAboutData whenever you use
KApplication and you should no longer use getKApplication() and getConfig().

Equally important as these patterns is the access
to the application source code which demonstrates
them. For example, if you click
on KCmdLineArgs in the patterns page for
KApplication, you will see all application classes
that contain KApplication. If they also contain
KCmdLineArgs, they "support" the pattern. If
they do not contain KCmdLineArgs, they "detract"
from the pattern. Clicking on an application class
let's you see the source code in both versions
so that you can see by example how people have
upgraded their applications from v1 to v2.

You can also access the code directly from the main table through the code link.

See the documentation for more details. BTW,
the two usage deltas should give you roughly
similar information. I just use different techniques for each one. In a future version,
they may be combined into one delta.

Amir

by Navindra Umanee (not verified)

For example, if you click on the patterns link for
KApplication, you will notice from the usage deltas that you are now expected to use
KCmdLineArgs and KAboutData whenever you use KApplication and you should no
longer use getKApplication() and getConfig().

Thanks for the explanation!

Cheers,
Navin.