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

Reply via email to