use of gov.sandia.n2a.parms.ParameterBundle in project n2a by frothga.
the class ParameterSpecGroupPanel method initPanel.
private void initPanel(ParameterSpecGroup group) {
for (Object key : group.keySet()) {
ParameterSpecification spec = group.get(key);
String keyStr = key.toString();
String[] path = keyStr.split("\\.");
List<ParameterDomain> d = new ArrayList<ParameterDomain>();
for (int i = 0; i < path.length - 1; i++) {
String seg = path[i];
d.add(new ParameterDomain(seg));
}
// , dv, desc,icon);
Parameter param = new Parameter(path[path.length - 1]);
ParameterBundle bundle = new ParameterBundle(d, param);
addParam(bundle, spec);
}
}
use of gov.sandia.n2a.parms.ParameterBundle 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.n2a.parms.ParameterBundle 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.n2a.parms.ParameterBundle in project n2a by frothga.
the class FixedParameterSpacePanel method dropIntoGroups.
private void dropIntoGroups(List<ParameterBundle> bundles, Color backgroundHighlight) {
ParameterSpecGroupPanel pnlGroup = null;
ParameterSpecPanel pnlSpec = null;
for (ParameterBundle bundle : bundles) {
ParameterSpecGroupPanel pnlExistingGroup = pnlGroups.getGroupPanelForParam(bundle);
if (pnlExistingGroup != null) {
Dialogs.showWarning(FixedParameterSpacePanel.this, "This parameter already exists in an existing group (" + pnlExistingGroup.getGroupLabel() + ").");
continue;
}
if (pnlGroup == null) {
pnlGroup = new ParameterSpecGroupPanel();
new RoundedSpecPanelTargetListener(pnlGroup, backgroundHighlight);
}
pnlSpec = pnlGroup.addParam(bundle);
}
if (pnlGroup != null) {
popScrollPane(pnlSpec);
pnlGroups.addGroupPanel(pnlGroup);
}
}
use of gov.sandia.n2a.parms.ParameterBundle in project n2a by frothga.
the class FixedParameterSpacePanel 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 = getSelectedParamsAsBundles(paths);
if (bundles == null) {
return;
}
if (event.getDragAction() == DnDConstants.ACTION_LINK) {
cursor = DragCursors.getGrabhandcursor();
}
event.startDrag(cursor, new TransferableParameterBundles(bundles));
}
Aggregations