Stefan and Paul,

I added Paul's HOWTO on the Open File Wizard to the OpenJUMP Wiki
under the documentation/developer section.

There may be a way to make the code look a little nicer with the wiki
formatting. When I first pasted the text in it was doing some wierd
things with scrolling windows. I got rid of these, but the code
doesn't look great without the spacing and/or tabs.

Stefan can let me know if I got this in the correct spot on the wiki,
or if he had another place in mind.


The Sunburned Surveyor

On 10/23/07, Stefan Steiniger <[EMAIL PROTECTED]> wrote:
> Hei Paul,
>
> can you put this on the wiki - under documentation / developer section?
>
> stefan
>
> Paul Austin schrieb:
> > All,
> >
> > Here is a HOWTO for creating a new Open Wizard, excluding a File Layer
> > which uses the Open File plug-in mechanism.
> >
> > 1. Define your wizard class to implement
> > org.openjump.core.ui.swing.wizard.WizardGroup or extend
> > org.openjump.core.ui.swing.wizard.AbstractWizardGroup. For the
> > AbstractWizard group there are 3 arguments, the display name and icon to
> > display in the Open Wizard and the last is the ID of the first wizard panel.
> >
> > public class WFSWizard extends AbstractWizardGroup {
> >   private static final String KEY = WFSWizard.class.getName();
> >
> >   public WFSWizard() {
> >     super(I18N.get(KEY), IconLoader.icon("wfs.gif"), 
> > WfsWizardPanel.getClass().getName());
> >   }
> >     :
> > }
> >
> >
> > 2. Implement the initialize method on your wizard to create the panels
> > for each time the wizard is shown. The reason you don't do this in the
> > constructor is that the information you need may not be initialized when
> > you construct the wizard.
> >
> >   private ChooseProjectPanel chooseProjectPanel;
> >
> >   public void initialize(WorkbenchContext workbenchContext, WizardDialog 
> > dialog) {
> >     removeAllPanels(); // Start from a clean slate
> >
> >     // The chooseProject panel ensures that there is an open project to 
> > open the file into
> >     chooseProjectPanel = new ChooseProjectPanel(workbenchContext,
> >       urlPanel.getID());
> >     addPanel(chooseProjectPanel);
> >
> >     // Add the wizard panels for your type of data
> >     addPanel(new WfsWizardPanel();
> >   }
> >
> >
> > 3. Implement the method getFirstId to return the ID of the first wizard
> > panel, if the first panel is always the same then this method is not
> > required in the AbstractWizardGroup because you passed in the value in
> > the constructor. If using the ChoosePeojectPanel you'll need to
> > implement it using the following approach.
> >
> >   public String getFirstId() {
> >     String firstId = super.getFirstId();
> >     if (!chooseProjectPanel.hasActiveTaskFrame()
> >       && chooseProjectPanel.hasTaskFrames()) {
> >       chooseProjectPanel.setNextID(firstId);
> >       return chooseProjectPanel.getID();
> >     } else {
> >       return firstId;
> >     }
> >   }
> >
> > 4. Implement the run method to actually do the loading of the data, this
> > method is run in a separate thread so as not to block the GUI thread, so
> > follow the standard Swing Threading rules (see SwingUtilities.invokeLater())
> >
> >   public void run(WizardDialog dialog, TaskMonitor monitor) {
> >     chooseProjectPanel.activateSelectedProject();
> >     // Do the code for your plugin
> >   }
> >
> > 5. Register your wizard
> >
> >     WfsWizard wfsWizard = new WfsWizard();
> >     OpenWizardPlugIn.addWizard(workbenchContext, wfsWizard);
> >
> >
> >
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Splunk Inc.
> > Still grepping through log files to find problems?  Stop.
> > Now Search log events and configuration files using AJAX and a browser.
> > Download your FREE copy of Splunk now >> http://get.splunk.com/
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to