/
Window System Migration

Window System Migration

Tool Windows

Basics

What was a derivative of org.esa.beam.framework.ui.application.support.AbstractToolView

public class ${NAME}ToolView extends AbstractToolView {
   ...
}

becomes a derivative of org.openide.windows.TopComponent:

public class ${NAME}TopComponent extends TopComponent {
   ...
}

 

Help

In most toolwindows we had a help button, created and initialised like this:

AbstractButton helpButton = ToolButtonFactory.createButton(UIUtils.loadImageIcon("icons/Help22.png"), false);
helpButton.setToolTipText("Help."); /*I18N*/
helpButton.setName("helpButton");
...
if (getDescriptor().getHelpId() != null) {
    HelpSys.enableHelpOnButton(helpButton, getDescriptor().getHelpId());
    HelpSys.enableHelpKey(mainPane, getDescriptor().getHelpId());
}

This code can be replaced by within a ${NAME}TopComponent.initComponents() method as follows:

AbstractButton helpButton = ToolButtonFactory.createButton(new HelpAction(this), false);
helpButton.setName("helpButton");

We can use new HelpAction(this), because this is a TopComponent which is always HelpCtx.Provider. To provide context-sensitive help also add 

@Override
public HelpCtx getHelpCtx() {
    return new HelpCtx(HELP_ID);
}

 

References

 

 

 

Related content

Help System Migration
Help System Migration
More like this
General GUI Code Migration
General GUI Code Migration
More like this
Desktop User Interface
Desktop User Interface
More like this
Desktop Application Specification
Desktop Application Specification
More like this
User Preferences Specification
User Preferences Specification
More like this
Window and Selection Management Specification
Window and Selection Management Specification
More like this