001package conexp.fx.gui.dataset;
002
003/*
004 * #%L
005 * Concept Explorer FX
006 * %%
007 * Copyright (C) 2010 - 2023 Francesco Kriegel
008 * %%
009 * This program is free software: you can redistribute it and/or modify
010 * it under the terms of the GNU General Public License as
011 * published by the Free Software Foundation, either version 3 of the
012 * License, or (at your option) any later version.
013 * 
014 * This program is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 * 
019 * You should have received a copy of the GNU General Public
020 * License along with this program.  If not, see
021 * <http://www.gnu.org/licenses/gpl-3.0.html>.
022 * #L%
023 */
024
025import javafx.scene.Node;
026import javafx.scene.control.Control;
027import javafx.scene.control.Label;
028import javafx.scene.control.TreeItem;
029
030public class DatasetView<T> {
031
032  private final String              id;
033  private final Node                contentNode;
034  private final T                   data;
035  private final DatasetViewTreeItem treeItem;
036
037  public DatasetView(final String id, final Node contentNode, final T data) {
038    super();
039    this.id = id;
040    this.contentNode = contentNode;
041    this.data = data;
042    this.treeItem = new DatasetViewTreeItem();
043  }
044
045  public String getId() {
046    return id;
047  }
048
049  public Node getContentNode() {
050    return contentNode;
051  }
052
053  public T getData() {
054    return data;
055  }
056
057  public DatasetViewTreeItem getTreeItem() {
058    return treeItem;
059  }
060
061  public final class DatasetViewTreeItem extends TreeItem<Control> {
062
063    public DatasetViewTreeItem() {
064      super(new Label(id));
065    }
066
067    public final DatasetView<T> getDatasetView() {
068      return DatasetView.this;
069    }
070  }
071
072}