use of gov.sandia.umf.platform.ui.ensemble.tree.NodeSubdomain in project n2a by frothga.
the class FixedParameterSpacePanel method populate.
// AMap wrap operation
private void populate(TNode nParent, ParameterDomain domain) {
for (ParameterDomain subdomain : domain.getSubdomains()) {
TNode nSubdomain = new TNode(new NodeSubdomain(subdomain));
populate(nSubdomain, subdomain);
nParent.add(nSubdomain);
}
for (Parameter param : domain.getParameters()) {
TNode nParam = new TNode(new NodeParameter(param));
nParent.add(nParam);
}
}
use of gov.sandia.umf.platform.ui.ensemble.tree.NodeSubdomain in project n2a by frothga.
the class OutputParameterPanel method dragGestureRecognized.
public void dragGestureRecognized(DragGestureEvent event) {
Cursor cursor = null;
SimpleTree list = (SimpleTree) event.getComponent();
TreePath[] paths = list.getSelectionPaths();
if (paths == null) {
return;
}
List<ParameterBundle> bundles = new ArrayList<ParameterBundle>();
for (TreePath path : paths) {
List<ParameterDomain> domains = new ArrayList<ParameterDomain>();
for (int p = 0; p < path.getPathCount(); p++) {
Object u = ((TNode) path.getPathComponent(p)).getObject();
if (u instanceof NodeSubdomain) {
domains.add(((NodeSubdomain) u).getSubdomain());
}
}
NodeBase uLeaf = ((TNode) path.getLastPathComponent()).getObject();
if (uLeaf instanceof NodeParameter) {
NodeParameter p = (NodeParameter) uLeaf;
bundles.add(new ParameterBundle(domains, p.getParameter()));
} else {
// TODO: add all children?
return;
}
}
if (event.getDragAction() == DnDConstants.ACTION_LINK) {
cursor = DragCursors.getGrabhandcursor();
}
event.startDrag(cursor, new TransferableParameterBundles(bundles));
}
use of gov.sandia.umf.platform.ui.ensemble.tree.NodeSubdomain in project n2a by frothga.
the class FixedParameterSpacePanel method getSelectedParamsAsBundles.
private List<ParameterBundle> getSelectedParamsAsBundles(TreePath[] paths) {
List<ParameterBundle> bundles = new ArrayList<ParameterBundle>();
for (TreePath path : paths) {
List<ParameterDomain> domains = new ArrayList<ParameterDomain>();
if (tabParamDomains.getSelectedIndex() == 0) {
domains.add(new ParameterDomain("Model"));
} else {
domains.add(new ParameterDomain("Simulator"));
}
for (int p = 0; p < path.getPathCount(); p++) {
Object u = ((TNode) path.getPathComponent(p)).getObject();
if (u instanceof NodeSubdomain) {
domains.add(((NodeSubdomain) u).getSubdomain());
}
}
NodeBase uLeaf = ((TNode) path.getLastPathComponent()).getObject();
if (uLeaf instanceof NodeParameter) {
NodeParameter p = (NodeParameter) uLeaf;
bundles.add(new ParameterBundle(domains, p.getParameter()));
} else {
// TODO: add all children?
return null;
}
}
return bundles;
}
use of gov.sandia.umf.platform.ui.ensemble.tree.NodeSubdomain in project n2a by frothga.
the class FixedParameterSpacePanel method buildDomainTab.
private void buildDomainTab(ParameterDomain domain) {
TNode nRoot = new TNode(new NodeSimpleLabel(domain.getName()));
populate(nRoot, domain);
FilterableParameterTreePanel pnlFilterableTree = new FilterableParameterTreePanel(nRoot);
final ParameterTree treParams = pnlFilterableTree.getTree();
treParams.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
TreePath path = treParams.getPathForLocation(e.getX(), e.getY());
if (path == null || ((TNode) path.getLastPathComponent()).getUserObject() instanceof NodeSubdomain) {
treParams.setCursor(Cursor.getDefaultCursor());
} else {
treParams.setCursor(DragCursors.getOpenhandcursor());
}
}
});
treParams.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
updateDetailsPanelFromTree(treParams);
}
});
treParams.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() > 1 && treParams.getSelectionCount() != 0) {
List<ParameterBundle> bundles = getSelectedParamsAsBundles(treParams.getSelectionPaths());
if (bundles != null) {
dropIntoGroups(bundles, dropEmphasis);
}
}
}
});
DragSource ds = new DragSource();
ds.createDefaultDragGestureRecognizer(treParams, DnDConstants.ACTION_LINK, this);
int existingIndex = tabParamDomains.indexOfTabByKey(domain.getName());
if (existingIndex != -1) {
tabParamDomains.remove(existingIndex);
}
tabParamDomains.add(domain.getName(), pnlFilterableTree);
int index = tabParamDomains.getTabCount();
tabParamDomains.setIconAt(index - 1, domain.getIcon());
tabParamDomains.setUseBorderAt(index - 1, true);
}
use of gov.sandia.umf.platform.ui.ensemble.tree.NodeSubdomain in project n2a by frothga.
the class OutputParameterPanel method populate.
// AMap wrap operation
private void populate(TNode nParent, ParameterDomain domain) {
for (ParameterDomain subdomain : domain.getSubdomains()) {
TNode nSubdomain = new TNode(new NodeSubdomain(subdomain));
populate(nSubdomain, subdomain);
nParent.add(nSubdomain);
}
for (Parameter param : domain.getParameters()) {
TNode nParam = new TNode(new NodeParameter(param));
nParent.add(nParam);
}
}
Aggregations