/*
* Copyright (C) 2013 Serdar
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.fub.maps.project.detector.factories.nodes;
import de.fub.maps.project.detector.model.xmls.ProcessDescriptor;
import de.fub.utilsmodule.node.CustomAbstractnode;
import de.fub.utilsmodule.node.property.ProcessProperty;
import de.fub.utilsmodule.synchronizer.ModelSynchronizer;
import org.openide.nodes.Children;
import org.openide.nodes.Sheet;
import org.openide.util.lookup.Lookups;
/**
*
* @author Serdar
*/
public class ProcessDescriptionNode extends CustomAbstractnode {
private final ProcessDescriptor processDescriptor;
private final ModelSynchronizer.ModelSynchronizerClient msClient;
public ProcessDescriptionNode(ModelSynchronizer.ModelSynchronizerClient msClient, ProcessDescriptor processDesciptor) {
super(Children.LEAF, Lookups.fixed(processDesciptor));
this.processDescriptor = processDesciptor;
this.msClient = msClient;
setDisplayName(processDesciptor.getName());
setShortDescription(processDesciptor.getDescription());
}
@Override
protected Sheet createSheet() {
Sheet sheet = Sheet.createDefault();
Sheet.Set set = Sheet.createPropertiesSet();
sheet.put(set);
ProcessProperty processProperty = null;
for (de.fub.maps.project.detector.model.xmls.Property property : processDescriptor.getProperties().getPropertyList()) {
processProperty = new ProcessProperty(msClient, property);
set.put(processProperty);
}
return sheet;
}
}