in reply to User Interfaces
A similar GUI system would be a programming related solution to a user interface design related problem. Bad.
Your program might be cross platform. But your users aren't.
For example, if they boot Windows they expect a Windows GUI. Actually, the deserve a Windows GUI. Anything else will reflect badly on your program, however unfair that is.
The problem with a cross platform system is the details. Everything has to be right in a good GUI, down to the last pixel.
Like Masem said, separating logic from presentation is a very good way to go. In some ways it will make your logic more complex (program flow will jump between classes where it previously didn't), in some ways it will make it more clean (things that belong together will be together). It will surely force you to think more about it which is probably a good thing.
It is easier if you don't mix UI metaphors (like one Command Line Interface and one GUI). Tk and Win32::GUI generally have more in common than they have with a batch style program.
/J
|
|---|