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