/* * 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.inference; import de.fub.maps.project.detector.factories.inference.FeatureNodeChildFactory; import de.fub.maps.project.detector.model.Detector; import de.fub.utilsmodule.node.CustomAbstractnode; import java.awt.Image; import java.util.concurrent.Callable; import org.netbeans.api.annotations.common.StaticResource; import org.openide.nodes.Children; import org.openide.util.ImageUtilities; import org.openide.util.NbBundle; /** * * @author Serdar */ @NbBundle.Messages({ "CLT_Feature_Root_Node_Name=Features", "CLT_Feature_Root_Node_Description=All Features that this inference model currently contains." }) public class FeatureRootNode extends CustomAbstractnode { @StaticResource private static final String ICON_PATH = "de/fub/maps/project/detector/model/inference/features/featureIcon.png"; public FeatureRootNode(final Detector detector) { super(Children.createLazy(new Callable<Children>() { @Override public Children call() throws Exception { return detector != null ? Children.create(new FeatureNodeChildFactory(detector), true) : Children.LEAF; } })); setDisplayName(Bundle.CLT_Feature_Root_Node_Name()); setShortDescription(Bundle.CLT_Feature_Root_Node_Description()); } @Override public Image getIcon(int type) { Image image = ImageUtilities.loadImage(ICON_PATH); if (image == null) { image = super.getIcon(type); } return image; } @Override public Image getOpenedIcon(int type) { return getIcon(type); } }