/** Constructs a dialog to edit the given gene simulation parameters object. */ public FciIndTestParamsEditorOld(FciIndTestParamsOld params) { this.params = params; // set up text and ties them to the parameters object being edited. alphaField = new DoubleTextField(indTestParams().getAlpha(), 8, new DecimalFormat("0.0########")); alphaField.setFilter( new DoubleTextField.Filter() { public double filter(double value, double oldValue) { try { indTestParams().setAlpha(value); return value; } catch (IllegalArgumentException e) { return oldValue; } } }); depthField = new IntTextField(indTestParams().getDepth(), 5); depthField.setFilter( new IntTextField.Filter() { public int filter(int value, int oldValue) { try { indTestParams().setDepth(value); return value; } catch (IllegalArgumentException e) { return oldValue; } } }); buildGui(); }
public void setup() { this.varNames = params.getVarNames(); for (Object parentModel : parentModels) { if (parentModel instanceof DataWrapper) { DataWrapper wrapper = (DataWrapper) parentModel; DataModel dataModel = wrapper.getSelectedDataModel(); new IndTestChooser().adjustIndTestParams(dataModel, params); break; } else if (parentModel instanceof GraphWrapper) { GraphWrapper wrapper = (GraphWrapper) parentModel; new IndTestChooser().adjustIndTestParams(wrapper.getGraph(), params); break; } else if (parentModel instanceof DagWrapper) { DagWrapper wrapper = (DagWrapper) parentModel; new IndTestChooser().adjustIndTestParams(wrapper.getGraph(), params); break; } else if (parentModel instanceof SemGraphWrapper) { SemGraphWrapper wrapper = (SemGraphWrapper) parentModel; new IndTestChooser().adjustIndTestParams(wrapper.getGraph(), params); break; } } DataModel dataModel1 = null; Graph graph = null; for (Object parentModel1 : parentModels) { if (parentModel1 instanceof DataWrapper) { DataWrapper dataWrapper = (DataWrapper) parentModel1; dataModel1 = dataWrapper.getSelectedDataModel(); } if (parentModel1 instanceof GraphWrapper) { GraphWrapper graphWrapper = (GraphWrapper) parentModel1; graph = graphWrapper.getGraph(); } if (parentModel1 instanceof DagWrapper) { DagWrapper dagWrapper = (DagWrapper) parentModel1; graph = dagWrapper.getDag(); } if (parentModel1 instanceof SemGraphWrapper) { SemGraphWrapper semGraphWrapper = (SemGraphWrapper) parentModel1; graph = semGraphWrapper.getGraph(); } } if (dataModel1 != null) { varNames = new ArrayList(dataModel1.getVariableNames()); } else if (graph != null) { Iterator it = graph.getNodes().iterator(); varNames = new ArrayList(); Node temp; while (it.hasNext()) { temp = (Node) it.next(); if (temp.getNodeType() == NodeType.MEASURED) { varNames.add(temp.getName()); } } } else { throw new NullPointerException( "Null model (no graph or data model " + "passed to the search)."); } params.setVarNames(varNames); JButton knowledgeButton = new JButton("Edit"); IntTextField depthField = new IntTextField(params.getIndTestParams().getDepth(), 4); depthField.setFilter( new IntTextField.Filter() { public int filter(int value, int oldValue) { try { params.getIndTestParams().setDepth(value); Preferences.userRoot().putInt("depth", value); return value; } catch (Exception e) { return oldValue; } } }); double alpha = params.getIndTestParams().getAlpha(); if (!Double.isNaN(alpha)) { alphaField = new DoubleTextField(alpha, 4, NumberFormatUtil.getInstance().getNumberFormat()); alphaField.setFilter( new DoubleTextField.Filter() { public double filter(double value, double oldValue) { try { params.getIndTestParams().setAlpha(value); Preferences.userRoot().putDouble("alpha", value); return value; } catch (Exception e) { return oldValue; } } }); } setBorder(new MatteBorder(10, 10, 10, 10, super.getBackground())); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); Box b2 = Box.createHorizontalBox(); b2.add(new JLabel("Knowledge:")); b2.add(Box.createGlue()); b2.add(knowledgeButton); add(b2); add(Box.createVerticalStrut(10)); if (!Double.isNaN(alpha)) { Box b0 = Box.createHorizontalBox(); b0.add(new JLabel("Alpha Value:")); b0.add(Box.createGlue()); b0.add(alphaField); add(b0); add(Box.createVerticalStrut(10)); } Box b1 = Box.createHorizontalBox(); b1.add(new JLabel("Search Depth:")); b1.add(Box.createGlue()); b1.add(depthField); add(b1); add(Box.createVerticalStrut(10)); knowledgeButton.addActionListener( new ActionListener() { public final void actionPerformed(ActionEvent e) { openKnowledgeEditor(); } }); }
public BuildPureClustersIndTestParamsEditor( BuildPureClustersIndTestParams paramsPureClusters, boolean discreteData) { this.paramsPureClusters = paramsPureClusters; DoubleTextField alphaField = new DoubleTextField(getParams().getAlpha(), 8, new DecimalFormat("0.0########")); alphaField.setFilter( new DoubleTextField.Filter() { public double filter(double value, double oldValue) { try { getParams().setAlpha(value); return value; } catch (IllegalArgumentException e) { return oldValue; } } }); JComboBox testSelector = null; JComboBox purifySelector = null; if (!discreteData) { final String[] descriptions = Bpc.getTestDescriptions(); testSelector = new JComboBox(descriptions); testSelector.setSelectedIndex(getParams().getTetradTestType()); testSelector.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); int index = combo.getSelectedIndex(); getParams().setTetradTestType(index); } }); final String[] purifyDescriptions = Bpc.getPurifyTestDescriptions(); purifySelector = new JComboBox(purifyDescriptions); purifySelector.setSelectedIndex(getParams().getPurifyTestType()); purifySelector.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); int index = combo.getSelectedIndex(); getParams().setPurifyTestType(index); } }); } setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); if (!discreteData) { Box b1 = Box.createHorizontalBox(); b1.add(new JLabel("Test:")); b1.add(Box.createHorizontalGlue()); b1.add(testSelector); add(b1); add(Box.createHorizontalGlue()); Box b2 = Box.createHorizontalBox(); b2.add(new JLabel("Purify:")); b2.add(Box.createHorizontalGlue()); b2.add(purifySelector); add(b2); add(Box.createHorizontalGlue()); } Box b3 = Box.createHorizontalBox(); b3.add(new JLabel("Alpha:")); b3.add(Box.createHorizontalGlue()); b3.add(alphaField); add(b3); add(Box.createHorizontalGlue()); // if (discreteData) { // paramsPureClusters.setPurifyTestType( // BuildPureClusters.PURIFY_TEST_DISCRETE_LRT); // paramsPureClusters.setTetradTestType(BuildPureClusters.TEST_DISCRETE); // // } }
/** * Constructs the Gui used to edit properties; called from each constructor. Constructs labels and * text fields for editing each property and adds appropriate listeners. */ public void setup() { setLayout(new BorderLayout()); JRadioButton manualRetain = new JRadioButton(); JRadioButton randomRetain = new JRadioButton(); manualRetain.setText("Manually, retaining previous values where possible."); randomRetain.setText( "Using a symmetric prior for each row of each conditional" + " probability table."); ButtonGroup group = new ButtonGroup(); group.add(manualRetain); group.add(randomRetain); final DoubleTextField symmetricAlphaField = new DoubleTextField( params.getDouble("symmetricAlpha", 1.0), 5, NumberFormatUtil.getInstance().getNumberFormat()); symmetricAlphaField.setFilter( new DoubleTextField.Filter() { public double filter(double value, double oldValue) { try { params.set("symmetricAlpha", value); return value; } catch (IllegalArgumentException e) { return oldValue; } } }); if (getParams().getString("initializationMode", "manualRetain").equals("manualRetain")) { manualRetain.setSelected(true); symmetricAlphaField.setEnabled(false); } else if (getParams() .getString("initializationMode", "manualRetain") .equals("symmetricPrior")) { randomRetain.setSelected(true); symmetricAlphaField.setEnabled(true); } else { throw new IllegalStateException(); } manualRetain.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { getParams().set("initializationMode", "manualRetain"); symmetricAlphaField.setEnabled(false); } }); randomRetain.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { getParams().set("initializationMode", "symmetricPrior"); symmetricAlphaField.setEnabled(true); } }); // continue workbench construction. Box b1 = Box.createVerticalBox(); Box b2 = Box.createHorizontalBox(); b2.add(new JLabel("Pseudocounts for this Dirichlet Bayes IM should be initialized:")); b2.add(Box.createHorizontalGlue()); Box b3 = Box.createHorizontalBox(); b3.add(manualRetain); b3.add(Box.createHorizontalGlue()); Box b4 = Box.createHorizontalBox(); b4.add(randomRetain); b4.add(Box.createHorizontalGlue()); Box b5 = Box.createHorizontalBox(); b5.add(Box.createRigidArea(new Dimension(30, 0))); b5.add(new JLabel("All pseudocounts = ")); b5.add(symmetricAlphaField); b5.add(Box.createHorizontalGlue()); b1.add(b2); b1.add(Box.createVerticalStrut(5)); b1.add(b3); b1.add(b4); b1.add(b5); b1.add(Box.createHorizontalGlue()); add(b1, BorderLayout.CENTER); }