hallo Matthias!
it would be nice to incubate a new GUI in parallel work.
Maybe we could split the source code in two modules as I
already did:
* a workbench with a new gui built from scratch
* a core with current OJ code base
then substract the old workbench code (successively) from core and
replace it with the new one.
I did this previously to be able to experiment with a new
gui without worrying about the core parts of the old gui.
should be no problem to create a polyglot project with Java and
Groovy source code. only condition is that we use a distributed
vcs like Mercurial instead of Subversion.
Here are some quick lists for a possible GUI for OJ 2.0.
some random ideas:
* separate model from view
* dialogs editable in gui editor (e.g. JFormDesigner, Google
GUI Builder)
* MouseButtonFilterCompositeTool. left mouse button for an
arbitrary CursorTool, right mouse button for panning and
mouse wheel for zooming
* configurable keymap to execute plugins
frameworks/libraries I've already integrated in some way in an
OpenJUMP Extension or standalone:
* progress windows with Better Swing Application Framework
using the SwingWorker class
* dockable windows with InfoNode
* better attribute list panel with GlazedLists
* nicer dialogs with SwingX and JGoodies FormLayout
* standard message boxes (warning, information, question)
* selected features panel with Netbeans Nodes API
* attribute properties panel with Netbeans PropertiesPanel
* scripting editor and console with RSyntaxTextArea
An example dialog for a new attribute selection plugin dialog
(the one to the right):
http://h-7.abload.de/img/jump-attributauswahlgn7l.png
--Benjamin
2011/3/14 Matthias Scholz <m...@jammerhund.de>
> Nice Work!
>
> What do you think about a GUI revision for OJ in 2.0? This can be a
> longer project of parallel work. Should be no problem with SVN. A more
> modern and customizable GUI would be a great enhancement for OJ in the
> future. I know that this is not a small task.
>
> Matthias
> > Hi Michaël!
> >
> > The RCP has a new plugin system which (basically) consists of
> >
> > * a PlugIn class with initialize(PlugInContext) and an execute method
> > without parameters.
> > * a PlugInContext class with getProgramModel(), getProgramFrame() and
> > getPlugInManager().
> > * a PlugInManager class which stores initialized PlugIns and provides
> > them through getPlugIn(className)
> > * a PlugInInstaller which is very similar to OpenJUMPs FeatureInstaller.
> >
> > This system is -- as mentioned previously -- heavily inspired by SPSP
> > [1], completely written in Groovy and
> > introduces backward incompatible changes.
> >
> > Thus an adapter plugin was created which forwards to a
> > CompatPlugInContext that extends the PlugInContext
> > of OpenJUMP.
> >
> > Here is an example of a adapter method:
> >
> > LayerViewPanel getLayerViewPanel() {
> > def programModel = this.niceJumpPlugInContext.getProgramModel()
> > return programModel.getActiveProject().getLayerViewPanel()
> > }
> >
> > There are plenty of PlugIn e.g. MapPanelPlugIn, PropertiesPanelPlugIn,
> > ErrorHandlerPlugIn,
> > LoadDatasetPlugIn and LoadDatasetsDialogPlugIn.
> >
> > The main idea was to control the system through the PlugIn provided by
> > PlugInManager. I also was
> > unhappy with the programmatic abilities with OpenJUMP. There were many
> > methods I wanted to
> > use marked as private. Others imposed swing windows, so I couldn't run
> > them completely
> > programmatically.
> >
> > Thats why loading datasets are two PlugIns: LoadDatasetPlugIn provides
> > a programmatic interface and
> > LoadDatasetsDialogPlugIn uses the first plugin and opens a swing file
> > dialog.
> >
> > --Benjamin
> >
> >
> > --Benjamin
> >
> > [1]
> http://www.mail-archive.com/geotools-devel@lists.sourceforge.net/msg19621.html
> >
> > 2011/3/13 Michaël Michaud <michael.mich...@free.fr
> > <mailto:michael.mich...@free.fr>>
> >
> > Hi,
> >
> > Nice work !
> > There is surely a lot of work to transfer all the improvements to
> > the last version of OpenJUMP.
> >
> > What do you mean by running PlugIns from OpenJUMP with the new
> > plugin system ?
> >
> > Michaël
> >
> >
> >
> > Le 13/03/2011 21:05, Benjamin Gudehus a écrit :
> >> Hi OpenJUMPers,
> >>
> >> I want to come up with some ideas for future work on the
> >> user interface of OpenJUMP.
> >>
> >> In May 2010 I spent a week to implement a small RCP inspired
> >> by Landons Simple Pluggable Swing Program. I also intergrated
> >> a dockable window system using InfoNode.
> >>
> >> Here's a screenshot:
> >> http://img2.imagebanana.com/img/924rj8w5/nicejumprcp.png
> >>
> >> As one can see I separated the CursorTools from the toolbar
> >> to a new toolbar and added a selection window. I also coded an
> >> adapter to run PlugIns from OpenJUMP with the new plugin system.
> >>
> >> There is pretty much to do and it is far from fully functional.
> >>
> >> I'll eventually release the complete codebase, but don't plan to
> >> do this in the few next months. I haven't change a line of
> >> code since May 2010, but it looks good, that I can spend
> >> some weeks of work time in summer to improve it.
> >>
> >> Regards
> >> Benjamin
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Colocation vs. Managed Hosting
> >> A question and answer guide to determining the best fit
> >> for your organization - today and in the future.
> >> http://p.sf.net/sfu/internap-sfd2d
> >>
> >>
> >> _______________________________________________
> >> Jump-pilot-devel mailing list
> >> Jump-pilot-devel@lists.sourceforge.net <mailto:
> Jump-pilot-devel@lists.sourceforge.net>
> >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >>
> >
> >
> >
> ------------------------------------------------------------------------------
> > Colocation vs. Managed Hosting
> > A question and answer guide to determining the best fit
> > for your organization - today and in the future.
> > http://p.sf.net/sfu/internap-sfd2d
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > <mailto:Jump-pilot-devel@lists.sourceforge.net>
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> ------------------------------------------------------------------------------
> > Colocation vs. Managed Hosting
> > A question and answer guide to determining the best fit
> > for your organization - today and in the future.
> > http://p.sf.net/sfu/internap-sfd2d
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
>
>
>
> ------------------------------------------------------------------------------
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel