Wednesday, June 6, 2012

Java: Create tab in Property



1. Links
http://platform.netbeans.org/tutorials/nbm-nodesapi2.html#separate-property-groups


2. Example

public class ValueNode extends AbstractNode implements PropertyChangeListener, NodeListener {
...

    @Override
    protected Sheet createSheet() {
        Sheet sheet = super.createSheet();
        monitor = new Sheet.Set();
        monitor.setDisplayName("Monitor");
        monitor.setName("Monitor");
        sheet.put(monitor);

        control = new Sheet.Set();
        control.setDisplayName("Control");
        control.setName("Control");
        sheet.put(control);

        gui = new Sheet.Set();
        gui.setDisplayName("User interface settings");
        gui.setName("User interface");
        sheet.put(gui);

        signalFailure = new Sheet.Set();
        signalFailure.setDisplayName("Signal Failure");
        signalFailure.setName("SignalFailure");
//        sheet.put(signalFailure);

        if (ioSignal != null) { // IO signal {
            ioSignalScaling = new Sheet.Set();
            ioSignalScaling.setDisplayName("Scaling");
            ioSignalScaling.setName("Scaling");
            Properties.IOSignal(value, monitor, control, gui, signalFailure, ioSignalScaling, ioSignal);
            ioSignalScaling.setValue("tabName", "Scaling properties");
            sheet.put(ioSignalScaling);
            signalFailure.setValue("tabName", "Signal Failure properties");
            sheet.put(signalFailure);
        }else{
            if (value.getType().equals(Value.Type.SIGNAL)) {
                Properties.signal(value, monitor, control, gui, signalFailure);
            } else if (value.getType().equals(Value.Type.PARAMETER)) {
                Properties.parameter(value, monitor, control, gui, signalFailure);
            }
        }
      
        return sheet;
    }

...
}


No comments:

Post a Comment