List of usage examples for javax.swing.tree DefaultMutableTreeNode DefaultMutableTreeNode
public DefaultMutableTreeNode()
From source file:edu.ku.brc.specify.ui.containers.ContainerTreePanel.java
/** * @param parentNode/*from w w w . jav a2s . co m*/ * @param container * @param colObj */ private void loadContainerTree(final DefaultMutableTreeNode parentNode, final Container container, final CollectionObject colObj) { if (container != null) { container.forceLoad(); int cnt = parentNode.getChildCount(); Vector<CollectionObject> coKids = new Vector<CollectionObject>(container.getCollectionObjectKids()); Collections.sort(coKids); for (CollectionObject co : coKids) { cnt = parentNode.getChildCount(); DefaultMutableTreeNode node = new DefaultMutableTreeNode(); node.setUserObject(co); colObjIdHash.add(co.getId()); model.insertNodeInto(node, parentNode, cnt); loadContainerTree(node, null, co); } Vector<Container> cnKids = new Vector<Container>(container.getChildrenList()); Collections.sort(cnKids); for (Container cn : cnKids) { cnt = parentNode.getChildCount(); DefaultMutableTreeNode node = new DefaultMutableTreeNode(); node.setUserObject(cn); containerIdHash.add(cn.getId()); model.insertNodeInto(node, parentNode, cnt); loadContainerTree(node, cn, null); } } else if (colObj != null) { if (colObj.getContainer() != null) { loadContainerTree(parentNode, colObj.getContainer(), null); } } else { // error } }
From source file:gdt.jgui.entity.index.JIndexPanel.java
private DefaultMutableTreeNode instantiateNode(Sack index, String nodeKey$) { try {//w w w. j a v a2 s .c om // System.out.println("IndexPanel:instantiateNode:"+nodeKey$); String nodeLocator$ = index.getElementItemAt("index.jlocator", nodeKey$); if (nodeLocator$ == null) return null; // System.out.println("IndexPanel:instantiateNode:locator="+nodeLocator$); DefaultMutableTreeNode node = new DefaultMutableTreeNode(); node.setUserObject(nodeLocator$); Properties locator = Locator.toProperties(nodeLocator$); if (!NODE_TYPE_GROUP.equals(locator.getProperty(NODE_TYPE))) return node; String[] sa = listOrderedGroupMembers(index, nodeKey$); if (sa == null || sa.length < 1) { System.out.println("IndexPanel:instantiateNode:no member in group=" + nodeKey$); return node; } DefaultMutableTreeNode member; // System.out.println("IndexPanel:instantiateNode:members="+sa.length); for (String aSa : sa) { //nodeLocator$=index.getElementItemAt("index.jlocator", aSa); member = instantiateNode(index, aSa); if (member != null) node.add(member); } return node; } catch (Exception e) { LOGGER.severe(e.toString()); } return null; }
From source file:edu.ku.brc.specify.ui.containers.ContainerTreePanel.java
/** * //from w w w .jav a 2 s .c om */ private void addColObjAsChild(final DefaultMutableTreeNode parentNodeArg, final CollectionObject colObj) { DefaultMutableTreeNode parentNode = parentNodeArg == null ? getSelectedTreeNode() : parentNodeArg; if (parentNode != null) { if (colObj != null) { Container container = (Container) parentNode.getUserObject(); colObj.setContainerOwner(container); container.getCollectionObjectKids().add(colObj); DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(); newNode.setUserObject(colObj); colObjIdHash.add(colObj.getId()); int inx = parentNode.getChildCount(); model.insertNodeInto(newNode, parentNode, inx); model.nodesWereInserted(parentNode, new int[] { inx }); model.nodeChanged(parentNode); model.reload(); tree.restoreTree(); expandToNode(newNode); } } }
From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java
private JPanel createAParameterBox(final boolean first) { final JLabel runLabel = new JLabel("<html><b>Number of runs:</b> 0</html>"); final JLabel warningLabel = new JLabel(); final JButton closeButton = new JButton(); closeButton.setOpaque(false);// ww w. jav a 2 s. c o m closeButton.setBorder(null); closeButton.setFocusable(false); if (!first) { closeButton.setRolloverIcon(PARAMETER_BOX_REMOVE); closeButton.setRolloverEnabled(true); closeButton.setIcon(RGBGrayFilter.getDisabledIcon(closeButton, PARAMETER_BOX_REMOVE)); closeButton.setActionCommand(ACTIONCOMMAND_REMOVE_BOX); } final JScrollPane treeScrPane = new JScrollPane(); final DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(); final JTree tree = new JTree(treeRoot); ToolTipManager.sharedInstance().registerComponent(tree); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.setCellRenderer(new ParameterBoxTreeRenderer()); tree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(final TreeSelectionEvent e) { final TreePath selectionPath = tree.getSelectionPath(); boolean success = true; if (editedNode != null && (selectionPath == null || !editedNode.equals(selectionPath.getLastPathComponent()))) success = modify(); if (success) { if (selectionPath != null) { cancelAllSelectionBut(tree); final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); if (!node.equals(editedNode)) { ParameterInATree userObj = null; final DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); if (!node.isRoot() && selectionPath.getPathCount() == model.getPathToRoot(node).length) { userObj = (ParameterInATree) node.getUserObject(); final ParameterInfo info = userObj.info; editedNode = node; editedTree = tree; edit(info); } else { tree.setSelectionPath(null); if (cancelButton.isEnabled()) cancelButton.doClick(); resetSettings(); enableDisableSettings(false); editedNode = null; editedTree = null; } updateDescriptionField(userObj); } else updateDescriptionField(); } else updateDescriptionField(); enableDisableParameterCombinationButtons(); } else { final DefaultTreeModel model = (DefaultTreeModel) editedTree.getModel(); final DefaultMutableTreeNode storedEditedNode = editedNode; editedNode = null; tree.setSelectionPath(null); editedNode = storedEditedNode; editedTree.setSelectionPath(new TreePath(model.getPathToRoot(editedNode))); } } }); treeScrPane.setViewportView(tree); treeScrPane.setBorder(null); treeScrPane.setViewportBorder(null); treeScrPane.setPreferredSize(new Dimension(450, 250)); final JButton upButton = new JButton(); upButton.setOpaque(false); upButton.setRolloverEnabled(true); upButton.setIcon(PARAMETER_UP_ICON); upButton.setRolloverIcon(PARAMETER_UP_ICON_RO); upButton.setDisabledIcon(PARAMETER_UP_ICON_DIS); upButton.setBorder(null); upButton.setToolTipText("Move up the selected parameter"); upButton.setActionCommand(ACTIONCOMMAND_MOVE_UP); final JButton downButton = new JButton(); downButton.setOpaque(false); downButton.setRolloverEnabled(true); downButton.setIcon(PARAMETER_DOWN_ICON); downButton.setRolloverIcon(PARAMETER_DOWN_ICON_RO); downButton.setDisabledIcon(PARAMETER_DOWN_ICON_DIS); downButton.setBorder(null); downButton.setToolTipText("Move down the selected parameter"); downButton.setActionCommand(ACTIONCOMMAND_MOVE_DOWN); final JPanel mainPanel = FormsUtils.build("~ f:p:g ~ p ~ r:p", "012||" + "333||" + "44_||" + "445||" + "446||" + "44_ f:p:g", runLabel, first ? "" : warningLabel, first ? warningLabel : closeButton, new FormsUtils.Separator(""), treeScrPane, upButton, downButton) .getPanel(); mainPanel.setBorder(BorderFactory.createTitledBorder("")); final JButton addButton = new JButton(); addButton.setOpaque(false); addButton.setRolloverEnabled(true); addButton.setIcon(PARAMETER_ADD_ICON); addButton.setRolloverIcon(PARAMETER_ADD_ICON_RO); addButton.setDisabledIcon(PARAMETER_ADD_ICON_DIS); addButton.setBorder(null); addButton.setToolTipText("Add selected parameter"); addButton.setActionCommand(ACTIONCOMMAND_ADD_PARAM); final JButton removeButton = new JButton(); removeButton.setOpaque(false); removeButton.setRolloverEnabled(true); removeButton.setIcon(PARAMETER_REMOVE_ICON); removeButton.setRolloverIcon(PARAMETER_REMOVE_ICON_RO); removeButton.setDisabledIcon(PARAMETER_REMOVE_ICON_DIS); removeButton.setBorder(null); removeButton.setToolTipText("Remove selected parameter"); removeButton.setActionCommand(ACTIONCOMMAND_REMOVE_PARAM); final JPanel result = FormsUtils.build("p ~ f:p:g", "_0 f:p:g||" + "10 p ||" + "20 p||" + "_0 f:p:g", mainPanel, addButton, removeButton).getPanel(); Style.registerCssClasses(result, Dashboard.CSS_CLASS_COMMON_PANEL); final ParameterCombinationGUI pcGUI = new ParameterCombinationGUI(tree, treeRoot, runLabel, warningLabel, addButton, removeButton, upButton, downButton); parameterTreeBranches.add(pcGUI); final ActionListener boxActionListener = new ActionListener() { //==================================================================================================== // methods //---------------------------------------------------------------------------------------------------- public void actionPerformed(final ActionEvent e) { final String cmd = e.getActionCommand(); if (ACTIONCOMMAND_ADD_PARAM.equals(cmd)) handleAddParameter(pcGUI); else if (ACTIONCOMMAND_REMOVE_PARAM.equals(cmd)) handleRemoveParameter(tree); else if (ACTIONCOMMAND_REMOVE_BOX.equals(cmd)) handleRemoveBox(tree); else if (ACTIONCOMMAND_MOVE_UP.equals(cmd)) handleMoveUp(); else if (ACTIONCOMMAND_MOVE_DOWN.equals(cmd)) handleMoveDown(); } //---------------------------------------------------------------------------------------------------- private void handleAddParameter(final ParameterCombinationGUI pcGUI) { final Object[] selectedValues = parameterList.getSelectedValues(); if (selectedValues != null && selectedValues.length > 0) { final AvailableParameter[] params = new AvailableParameter[selectedValues.length]; System.arraycopy(selectedValues, 0, params, 0, selectedValues.length); addParameterToTree(params, pcGUI); enableDisableParameterCombinationButtons(); } } //---------------------------------------------------------------------------------------------------- private void handleRemoveParameter(final JTree tree) { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { cancelButton.doClick(); final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); if (!node.isRoot()) { final DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) node.getParent(); if (parentNode.isRoot()) { removeParameter(tree, node, parentNode); enableDisableParameterCombinationButtons(); } } } } //---------------------------------------------------------------------------------------------------- private void handleRemoveBox(final JTree tree) { final int answer = Utilities.askUser(dashboard, false, "Comfirmation", "This operation deletes the combination.", "All related parameter returns back to the list on the left side.", "Are you sure?"); if (answer == 1) { final DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); if (tree.getSelectionCount() > 0) { editedNode = null; tree.setSelectionPath(null); if (cancelButton.isEnabled()) cancelButton.doClick(); } final DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot(); for (int i = 0; i < root.getChildCount(); ++i) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) root.getChildAt(i); removeParameter(tree, node, root); } enableDisableParameterCombinationButtons(); parameterTreeBranches.remove(pcGUI); combinationsPanel.remove(result); combinationsPanel.revalidate(); updateNumberOfRuns(); } } //---------------------------------------------------------------------------------------------------- private void removeParameter(final JTree tree, final DefaultMutableTreeNode node, final DefaultMutableTreeNode parentNode) { final ParameterInATree userObj = (ParameterInATree) node.getUserObject(); final ParameterInfo originalInfo = findOriginalInfo(userObj.info); if (originalInfo != null) { final DefaultListModel model = (DefaultListModel) parameterList.getModel(); model.addElement(new AvailableParameter(originalInfo, currentModelHandler.getModelClass())); final DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); treeModel.removeNodeFromParent(node); updateNumberOfRuns(); tree.expandPath(new TreePath(treeModel.getPathToRoot(parentNode))); } else throw new IllegalStateException( "Parameter " + userObj.info.getName() + " is not found in the model."); } //---------------------------------------------------------------------------------------------------- private void handleMoveUp() { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { boolean success = true; if (editedNode != null) success = modify(); if (success) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); final DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent(); if (parent == null || parent.getFirstChild().equals(node)) { tree.setSelectionPath(null); // we need this to preserve the state of the parameter settings panel tree.setSelectionPath(new TreePath(node.getPath())); return; } final int index = parent.getIndex(node); final DefaultTreeModel treemodel = (DefaultTreeModel) tree.getModel(); treemodel.removeNodeFromParent(node); treemodel.insertNodeInto(node, parent, index - 1); tree.setSelectionPath(new TreePath(node.getPath())); } } } //---------------------------------------------------------------------------------------------------- private void handleMoveDown() { final TreePath selectionPath = tree.getSelectionPath(); if (selectionPath != null) { boolean success = true; if (editedNode != null) success = modify(); if (success) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectionPath .getLastPathComponent(); final DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent(); if (parent == null || parent.getLastChild().equals(node)) { tree.setSelectionPath(null); // we need this to preserve the state of the parameter settings panel tree.setSelectionPath(new TreePath(node.getPath())); return; } final int index = parent.getIndex(node); final DefaultTreeModel treemodel = (DefaultTreeModel) tree.getModel(); treemodel.removeNodeFromParent(node); treemodel.insertNodeInto(node, parent, index + 1); tree.setSelectionPath(new TreePath(node.getPath())); } } } }; GUIUtils.addActionListener(boxActionListener, closeButton, upButton, downButton, addButton, removeButton); result.setPreferredSize(new Dimension(500, 250)); enableDisableParameterCombinationButtons(); Style.apply(result, dashboard.getCssStyle()); return result; }
From source file:edu.ku.brc.specify.ui.containers.ContainerTreePanel.java
/** * //from w w w .j a va 2s. c o m */ private void addContainer(final boolean doSearch) { if (checkForChanges()) { DefaultMutableTreeNode parentNode = getSelectedTreeNode(); if (parentNode != null) { Container parentContainer = (Container) parentNode.getUserObject(); Container newContainer = doSearch ? (Container) searchForDataObj(Container.class) : createContainer(parentContainer); if (newContainer != null) { if (doSearch) { // check here to see if they are already parented. newContainer.setParent(parentContainer); parentContainer.getChildren().add(newContainer); saveObjs(newContainer, parentContainer); } DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(); newNode.setUserObject(newContainer); if (newContainer.getId() != null) { containerIdHash.add(newContainer.getId()); } int inx = parentNode.getChildCount(); model.insertNodeInto(newNode, parentNode, inx); model.nodesWereInserted(parentNode, new int[] { inx }); model.nodeChanged(parentNode); model.reload(); tree.restoreTree(); expandToNode(newNode); // invokedLater } } } }
From source file:eu.crisis_economics.abm.dashboard.GASearchHandler.java
public void addParameter(final ParameterOrGene parameterOrGene) throws ModelInformationException { if (chromosomeTree == null) { chromosomeTree = new DefaultTreeModel(new DefaultMutableTreeNode()); genes = null;/* w ww. ja v a 2 s.c om*/ } final DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(parameterOrGene); final DefaultMutableTreeNode root = (DefaultMutableTreeNode) chromosomeTree.getRoot(); chromosomeTree.insertNodeInto(newNode, root, root.getChildCount()); if (parameterOrGene.info instanceof SubmodelInfo) { final SubmodelInfo ssInfo = (SubmodelInfo) parameterOrGene.info; if (ssInfo.getActualType() != null) addSubmodelParameter(ssInfo, newNode); } for (final ModelListener listener : listeners) listener.parameterAdded(); }
From source file:eu.crisis_economics.abm.dashboard.GASearchHandler.java
public void removeAllParameters() { if (chromosomeTree == null) chromosomeTree = new DefaultTreeModel(new DefaultMutableTreeNode()); else//from w ww.j av a 2 s . c o m chromosomeTree.setRoot(new DefaultMutableTreeNode()); genes = null; for (final ModelListener listener : listeners) listener.parametersRemoved(); }
From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java
/** {@inheritDoc} *///from w ww . j a v a2 s . c o m @Override public boolean onButtonPress(final Button button) { if (Button.NEXT.equals(button)) { ParameterTree parameterTree = null; if (tabbedPane.getSelectedIndex() == SINGLE_RUN_GUI_TABINDEX) { currentModelHandler.setIntelliMethodPlugin(null); parameterTree = new ParameterTree(); final Set<ParameterInfo> invalids = new HashSet<ParameterInfo>(); @SuppressWarnings("rawtypes") final Enumeration treeValues = parameterValueComponentTree.breadthFirstEnumeration(); treeValues.nextElement(); // root element while (treeValues.hasMoreElements()) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) treeValues.nextElement(); @SuppressWarnings("unchecked") final Pair<ParameterInfo, JComponent> userData = (Pair<ParameterInfo, JComponent>) node .getUserObject(); final ParameterInfo parameterInfo = userData.getFirst(); final JComponent valueContainer = userData.getSecond(); if (parameterInfo instanceof ISubmodelGUIInfo) { final ISubmodelGUIInfo sgi = (ISubmodelGUIInfo) parameterInfo; if (sgi.getParent() != null) { final DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) node.getParent(); @SuppressWarnings("unchecked") final Pair<ParameterInfo, JComponent> parentUserData = (Pair<ParameterInfo, JComponent>) parentNode .getUserObject(); final SubmodelInfo parentParameterInfo = (SubmodelInfo) parentUserData.getFirst(); if (invalids.contains(parentParameterInfo) || !classEquals(parentParameterInfo.getActualType(), sgi.getParentValue())) { invalids.add(parameterInfo); continue; } } } if (parameterInfo.isBoolean()) { final JCheckBox checkBox = (JCheckBox) valueContainer; parameterInfo.setValue(checkBox.isSelected()); } else if (parameterInfo.isEnum()) { final JComboBox comboBox = (JComboBox) valueContainer; parameterInfo.setValue(comboBox.getSelectedItem()); } else if (parameterInfo instanceof MasonChooserParameterInfo) { final JComboBox comboBox = (JComboBox) valueContainer; parameterInfo.setValue(comboBox.getSelectedIndex()); } else if (parameterInfo instanceof SubmodelInfo) { // we don't need the SubmodelInfo parameters anymore (all descendant parameters are in the tree too) // but we need to check that an actual type is provided final SubmodelInfo smi = (SubmodelInfo) parameterInfo; final JComboBox comboBox = (JComboBox) ((JPanel) valueContainer).getComponent(0); final ClassElement selected = (ClassElement) comboBox.getSelectedItem(); smi.setActualType(selected.clazz, selected.instance); if (smi.getActualType() == null) { final String errorMsg = "Please select a type from the dropdown list of " + smi.getName().replaceAll("([A-Z])", " $1"); JOptionPane.showMessageDialog(wizard, new JLabel(errorMsg), "Error", JOptionPane.ERROR_MESSAGE); return false; } //continue; } else if (parameterInfo.isFile()) { final JTextField textField = (JTextField) valueContainer.getComponent(0); if (textField.getText().trim().isEmpty()) log.warn("Empty string was specified as file parameter " + parameterInfo.getName().replaceAll("([A-Z])", " $1")); final File file = new File(textField.getToolTipText()); if (!file.exists()) { final String errorMsg = "Please specify an existing file parameter " + parameterInfo.getName().replaceAll("([A-Z])", " $1"); JOptionPane.showMessageDialog(wizard, new JLabel(errorMsg), "Error", JOptionPane.ERROR_MESSAGE); return false; } parameterInfo.setValue( ParameterInfo.getValue(textField.getToolTipText(), parameterInfo.getType())); } else if (parameterInfo instanceof MasonIntervalParameterInfo) { final JTextField textField = (JTextField) valueContainer.getComponent(0); parameterInfo.setValue( ParameterInfo.getValue(textField.getText().trim(), parameterInfo.getType())); } else { final JTextField textField = (JTextField) valueContainer; parameterInfo .setValue(ParameterInfo.getValue(textField.getText(), parameterInfo.getType())); if ("String".equals(parameterInfo.getType()) && parameterInfo.getValue() == null) parameterInfo.setValue(textField.getText().trim()); } final AbstractParameterInfo<?> batchParameterInfo = InfoConverter .parameterInfo2ParameterInfo(parameterInfo); parameterTree.addNode(batchParameterInfo); } dashboard.setOnLineCharts(onLineChartsCheckBox.isSelected()); dashboard.setDisplayAdvancedCharts(advancedChartsCheckBox.isSelected()); } if (tabbedPane.getSelectedIndex() == PARAMSWEEP_GUI_TABINDEX) { currentModelHandler.setIntelliMethodPlugin(null); boolean success = true; if (editedNode != null) success = modify(); if (success) { String invalidInfoName = checkInfos(true); if (invalidInfoName != null) { Utilities.userAlert(sweepPanel, "Please select a type from the dropdown list of " + invalidInfoName); return false; } invalidInfoName = checkInfos(false); if (invalidInfoName != null) { Utilities.userAlert(sweepPanel, "Please specify a file for parameter " + invalidInfoName); return false; } if (needWarning()) { final int result = Utilities.askUser(sweepPanel, false, "Warning", "There are two or more combination boxes that contains non-constant parameters." + " Parameters are unsynchronized:", "simulation may exit before all parameter values are assigned.", " ", "To explore all possible combinations you must use only one combination box.", " ", "Do you want to run simulation with these parameter settings?"); if (result == 0) { return false; } } try { parameterTree = createParameterTreeFromParamSweepGUI(); final ParameterNode rootNode = parameterTree.getRoot(); dumpParameterTree(rootNode); // dashboard.setOnLineCharts(onLineChartsCheckBoxPSW.isSelected()); } catch (final ModelInformationException e) { JOptionPane.showMessageDialog(wizard, new JLabel(e.getMessage()), "Error while creating runs", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); return false; } } else return false; } if (tabbedPane.getSelectedIndex() == GASEARCH_GUI_TABINDEX) { final IIntelliDynamicMethodPlugin gaPlugin = (IIntelliDynamicMethodPlugin) gaSearchHandler; currentModelHandler.setIntelliMethodPlugin(gaPlugin); boolean success = gaSearchPanel.closeActiveModification(); if (success) { String invalidInfoName = checkInfosInGeneTree(); if (invalidInfoName != null) { Utilities.userAlert(sweepPanel, "Please select a type from the dropdown list of " + invalidInfoName); return false; } final String[] errors = gaSearchHandler.checkGAModel(); if (errors != null) { Utilities.userAlert(sweepPanel, (Object[]) errors); return false; } final DefaultMutableTreeNode parameterTreeRootNode = new DefaultMutableTreeNode(); final IIntelliContext ctx = new DashboardIntelliContext(parameterTreeRootNode, gaSearchHandler.getChromosomeTree()); gaPlugin.alterParameterTree(ctx); parameterTree = InfoConverter.node2ParameterTree(parameterTreeRootNode); dashboard.setOptimizationDirection(gaSearchHandler.getFitnessFunctionDirection()); } else return false; } currentModelHandler.setParameters(parameterTree); } return true; }
From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java
public void loadConfiguration(final Model model) { try {/*from w w w . jav a 2 s . c o m*/ currentModelHandler = dashboard.getModelHandler(); singleRunParametersPanel.removeAll(); parameterValueComponentTree = new DefaultMutableTreeNode(); possibleTypesCache.clear(); batchParameters = currentModelHandler.getParameters(); final ModelType runStrategy = model.getRunStrategy(); if (ModelType.SINGLE == runStrategy) fillParameterValueComponentTree(model); final List<ParameterInfo> modelParameters = createAndDisplayAParameterPanel(batchParameters, "Model parameters", null, true, currentModelHandler); parametersScrollPane.setViewportView(singleRunParametersPanel); singleRunParametersPanel.revalidate(); if (ModelType.SINGLE == runStrategy) { tabbedPane.setSelectedIndex(SINGLE_RUN_GUI_TABINDEX); SwingUtilities.invokeLater(new Runnable() { public void run() { numberOfTurnsField.grabFocus(); } }); } // initialize paramsweep panel Collections.sort(modelParameters); enableDisableSettings(false); modifyButton.setEnabled(false); resetParamsweepGUI(); if (ModelType.PARAMETER_SWEEP == runStrategy) { fillParameterSweepPage(model); tabbedPane.setSelectedIndex(PARAMSWEEP_GUI_TABINDEX); } else createDefaultParameterList(modelParameters); updateNumberOfRuns(); // initialize the GA seach panel gaSearchHandler.init(currentModelHandler); gaSearchHandler.removeAllFitnessFunctions(); final List<RecordableInfo> recordables = dashboard.getModelHandler().getRecorders().get(0) .getRecordables(); for (final RecordableInfo recordableInfo : recordables) { if (gaSearchHandler.canBeFitnessFunction(recordableInfo)) gaSearchHandler.addFitnessFunction(recordableInfo); } if (ModelType.GA == runStrategy) { gaSearchHandler.loadConfiguration(model, modelParameters); tabbedPane.setSelectedIndex(GASEARCH_GUI_TABINDEX); // gaSearchPanel.setSelectedFitnessFunction(gaSearchHandler); this is handled by gaSearchPanel.reset() } gaSearchPanel.reset(gaSearchHandler); } catch (final ModelInformationException e) { JOptionPane.showMessageDialog(wizard, new JLabel(e.getMessage()), "Error while analyizing model and/or configuration file", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } finally { ((CardLayout) container.getLayout()).show(container, PARAMETERS_PANEL_ID); } }
From source file:eu.crisis_economics.abm.dashboard.Page_Parameters.java
/** {@inheritDoc} *///from w w w. ja v a2 s . co m @Override public void onPageChange(final boolean show) { if (show) { dashboard.getSaveConfigMenuItem().setEnabled(true); if (currentModelHandler == null || !currentModelHandler.equals(dashboard.getModelHandler())) { ((CardLayout) container.getLayout()).show(container, LOADING_MODEL_ID); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { currentModelHandler = dashboard.getModelHandler(); breadcrumb.setRoot( currentModelHandler.getModelClassSimpleName().replaceAll("([A-Z])", " $1")); Style.apply(breadcrumb, dashboard.getCssStyle()); parameterValueComponentTree = new DefaultMutableTreeNode(); possibleTypesCache.clear(); singleRunParametersPanel.removeAll(); batchParameters = currentModelHandler.getParameters(); final List<ParameterInfo> modelParameters = createAndDisplayAParameterPanel( batchParameters, "Model parameters", null, true, currentModelHandler); //parametersScrollPane.setViewportView(singleRunParametersPanel); singleRunParametersPanel.revalidate(); // initialize paramsweep panel Collections.sort(modelParameters); createDefaultParameterList(modelParameters); enableDisableSettings(false); modifyButton.setEnabled(false); updateNumberOfRuns(); resetParamsweepGUI(); // initialize the GA seach panel gaSearchHandler.init(currentModelHandler); gaSearchPanel.reset(gaSearchHandler); gaSearchHandler.removeAllFitnessFunctions(); final List<RecordableInfo> recordables = dashboard.getModelHandler().getRecorders() .get(0).getRecordables(); for (final RecordableInfo recordableInfo : recordables) { if (gaSearchHandler.canBeFitnessFunction(recordableInfo)) gaSearchHandler.addFitnessFunction(recordableInfo); } gaSearchHandler.removeAllParameters(); for (final ParameterInfo parameterInfo : modelParameters) gaSearchHandler.addParameter(new ParameterOrGene(parameterInfo)); } catch (final ModelInformationException e) { JOptionPane.showMessageDialog(wizard, new JLabel(e.getMessage()), "Error while analyizing model", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } finally { ((CardLayout) container.getLayout()).show(container, PARAMETERS_PANEL_ID); } } }); } } else { // this should only run when moving onto Page_Run } }