Wizards Suck – Need More Versions

July 17, 2008 at 06:58 | Posted in Uncategorized | Leave a comment

I have been working on an update wizard for CPANPLUS->Selfupdate(). It is proving to be harder than I thought. I am getting pretty frustrated, so I decided to take a break and work on implementing a feature I almost forgot Рworking with different versions. I have edited all the code for the ModuleTree->_install_module() and related methods. They all use parse_module() instead of module_tree() in order to obtain a versioned copy of the module. The new function calls look like $tree->_*_module($modname|$mod|$fakemod  [, $version]). This method is a LOT safer, anyway. Any time I need a list of modules, I loop through the list of names and convert to modules.

I believe I am at the point where I need to re-write some code. The ModuleTree is not truly Object-Oriented, and looks for other widgets. This needs to be fixed, since it does not _contain_ the other widgets. I am working on writing a Wx::Panel class called ModulePanel that is the Wx::Panel in the Module tab in the main notebook. It holds all the info tabs and can handle the same methods as ModuleTree, so we need not re-write any other interfaces. With the new interface design, anyone can embed just the ModuleTree widget to display modules and use fetch(), etc. on them. I may even make it a sub-class of CPANPLUS::Backend, so all you would need for a backend is the list. It will definitely have a SetCPP() function for setting the backend to an existing object.

Also – I will be working pretty hard today and tomorrow on this, as I have a family reunion to go to this weekend!


Leave a Comment »

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: