Sunday, February 3, 2008

Restructure and Refeeding

Well, got some work done.

Completed the change over (mostly) from a single hard-coded dialog for handling the output of processes to being a subclass of a display builder like parent class. Python doesn't support abstract classes as far as I know or even private members for that matter (but has a nifty name mangling like thing for a making a naming __convention).

The original reason I wanted to do this is I figured that A.) The class was cluttered with code common to any ol'dialog window and B.) The rest of it was just specialized for the task of running a process and nabbing it's output.

So I moved the common code into the NPM_AbstractDisplayDialog class and wrote a NPM_ProcessDisplayDialog subclass of it to replace the original NPM_DisplayDialog which also will allow me to use a similar dialog for other tasks without having to duplicate the code they would share if I was to implement another like-wise class in parallel. Because for example the NPM_DisplayDialog class was setup to ensure the process was neutralized before completing it's termination I setup NPM_AbstractDisplayDialog::aboutToDie() as a signal to connect a slot from my subclass(es) to be called to do clean up, basically an advisory destructor you could say. And I connected it to the button to call QWidget::close() to this slot so aboutToDie() is sent when the dialog is about ready to be terminated.

I also found a fixed a small error in the pkg_info parsing, things like that is some thing that most concerns me.. lol.

Now the remaining problem is I'm starving and it's 0746 Zulu (that's 0246 local morning)... Must find food, then I guess I should get some sleep :\

No comments:

Post a Comment