A question to developers: what do you think about SWT? How do you find transition to it? I've recently got accustomed to it somewhat and I see that it provides faster, more pleasant and consistent GUI while being much easier to implement. I'm not sure however if main component (the panel with map) could be easily converted or included into SWT framework but I could investigate if needed.
Tell me what you think. If you are for it I think I'll be able to help. Perhaps I could even improve interface somewhat (to be more standard) while we are on it.
I don't think that FreeMind's user interface is slow. There's a lot of higher priority work to do. If we were to consider switching to SWT, more detailed cost-benefit analysis would be needed, including reference to some model java applications that have chosen SWT.
Well, perhaps interface speed is least important - for me more important is ease of development paired with capabilities of standard and custom sets of SWT widgets.
Also, SWING's standard L&Fs are universally ugly (especially Metal) while native widgets are as pretty as OS allows and user wishes. See Eclipse and Azureus for examples of SWT apps.
I understand that this isn't priority work but well, if you do not condemn SWT outright I can develop it independently. Or at least try to. I just doesn't want to do something that would be thrown away.
the work of our developers is *never* thrown away.
For myself, I like SWT pretty much and switching to SWT has many advantages (most important for me: SWT is free, Swing isn't).
But: there are big problems to face:
JLabel and Label:
FreeMind extensively uses the possibility to embed HTML into the label's text. AFAIK, this is not possible with the pure SWT Label class. Well, there are the browser widgets and HTML-Editors and such stuff, but having embedded HTML is really different.
Another possibility is to switch to SWT at the border (menus, help, etc.) and to keep the Swing window inside (this is possible with SWT), but is this worth it?
any thoughts are welcome.
Well, I considered only the latter option (SWT +SWING in main panel).
First, there is much to do even without converting the node drawing into SWT.
Second (more important) there seems to be no thing comparable to javax.swing.undo in SWT.
Third: why wait for all that missing features if SWT works well within standard GUI tasks already? Especially I hear siren call of CoolMenu replacing Format menuitem and (later) ViewForm with Browser for previewing HTML representation of given node.
However, I'm unsure if we can achieve consistent system for keyboard shortcuts for SWT+SWING. Two points of configuration wouldn't be elegant solution.
Due to the nature of FreeMind, we might eventually need to make custom widgets (ex. a custom mindmap node widgets with WYSIWYG editing) and I am sure everyone knows what a nasty job it is to extend SWT widgets.
Also, you should know that SWT is not really cross-platform (despite being a java UI lib) and actually requires testings to work on all targetted platforms.