Example usage for com.jgoodies.forms.layout CellConstraints rcw

List of usage examples for com.jgoodies.forms.layout CellConstraints rcw

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints rcw.

Prototype

public CellConstraints rcw(int row, int col, int colSpan) 

Source Link

Document

Sets the row, column, height, and width; uses a height (row span) of 1 and the vertical and horizontal default alignments.

Examples:

 cc.rcw(3, 1, 7); cc.rcw(3, 1, 2); 

Usage

From source file:ca.dsrg.mirador.ui.MatchPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *//*from  w  w w . j  av a2s.c o  m*/
private JPanel assembleControlPanel() {
    // Instantiate the components.
    JPanel master_pnl = assembleControlMasterPanel();
    match_btn_ = new JButton("Match");
    unmatch_btn_ = new JButton("Unmatch");

    // Set visual and behavioral aspects of the components.
    match_btn_.setMnemonic(KeyEvent.VK_M);
    match_btn_.setToolTipText("Pair the selected tree elements.");
    unmatch_btn_.setMnemonic(KeyEvent.VK_U);
    unmatch_btn_.setToolTipText("Unpair the selected tree elements.");

    // Set panel layout and constraints.
    String col_spec = "$rgap, pref, $rgap";
    String row_spec = "pref, $ugap, pref, 4dlu, pref";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.DLU2_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(master_pnl, cc.rcw(1, 1, 3));
    builder.add(match_btn_, cc.rc(3, 2));
    builder.add(unmatch_btn_, cc.rc(5, 2));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.MatchPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *//*from  ww  w  .  ja  v  a2  s  .c o  m*/
private JPanel assembleOptionPanel() {
    // Instantiate the components.
    JComponent separator = DefaultComponentFactory.getInstance().createSeparator("Set Model Matching Options",
            SwingConstants.CENTER);
    strategy_pnl_ = assembleOptionStrategyPanel();

    sync_cbx_ = new JCheckBox();
    InvocationParser parser = Mirador.getParser();
    float weight = new Float(
            (parser.optionValue("match_threshold") != null) ? parser.optionValue("match_threshold") : "0.0");
    limit_spn_ = new JSpinner(new SpinnerNumberModel(0, 0, 1, weight));
    limit_btn_ = new JButton("Show");
    limit_spn_.setEditor(new JSpinner.NumberEditor(limit_spn_, "0.00"));

    // Set visual and behavioral aspects of the components.
    sync_cbx_.setMnemonic(KeyEvent.VK_Y);
    sync_cbx_.setToolTipText("Check so selected element's match in opposite tree is also selected.");
    limit_spn_.setToolTipText("Set similarity limit at which elements will be automatically matched.");
    limit_btn_.setToolTipText("Highlight elements that will matched for the specified threshold.");

    // Set panel layout and constraints.
    String col_spec = "pref, $rgap, pref, fill:$ugap:grow, pref, $rgap," + "pref, $ugap, pref";
    String row_spec = "pref, $rgap, pref, $rgap, pref";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(separator, cc.rcw(1, 1, 9));
    builder.add(strategy_pnl_, cc.rcw(3, 1, 9));
    builder.add(sync_cbx_, cc.rc(5, 1));
    builder.addLabel("S&ynchronize tree node selections", cc.rc(5, 3));
    builder.add(limit_spn_, cc.rc(5, 5));
    builder.addLabel("Matching similarity threshold", cc.rc(5, 7));
    builder.add(limit_btn_, cc.rc(5, 9));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.MatchPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *///from  w  ww  .  j a  v a2 s .  co  m
private JPanel assembleViewPanel() {
    // Instantiate the components.
    JComponent separator = DefaultComponentFactory.getInstance().createSeparator("Alter Model Element Matches",
            SwingConstants.CENTER);

    JPanel control_pnl = assembleControlPanel();

    view_lf_tree_ = new JTree();
    view_lf_scl_ = new JScrollPane(view_lf_tree_);
    view_lf_tbl_ = new JTable();
    table_lf_scl_ = new JScrollPane(view_lf_tbl_);
    view_lf_spl_ = new JSplitPane(JSplitPane.VERTICAL_SPLIT, view_lf_scl_, table_lf_scl_);

    view_rt_tree_ = new JTree();
    view_rt_scl_ = new JScrollPane(view_rt_tree_);
    view_rt_tbl_ = new JTable();
    table_rt_scl_ = new JScrollPane(view_rt_tbl_);
    view_rt_spl_ = new JSplitPane(JSplitPane.VERTICAL_SPLIT, view_rt_scl_, table_rt_scl_);

    // Set visual and behavioral aspects of the components.
    DefaultTreeSelectionModel mode = new DefaultTreeSelectionModel();
    mode.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    view_lf_tree_.setSelectionModel(mode);
    view_lf_tree_.setToolTipText("Select an element to highlight its match"
            + "in the right tree, and show its details the table below.");

    mode = new DefaultTreeSelectionModel();
    mode.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    view_rt_tree_.setSelectionModel(mode);
    view_rt_tree_.setToolTipText("Select an element to highlight its match"
            + "in the left tree, and show its details the table below.");

    ToolTipManager.sharedInstance().registerComponent(view_lf_tree_);
    ToolTipManager.sharedInstance().registerComponent(view_rt_tree_);

    view_lf_tbl_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    view_lf_tbl_.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    view_lf_tbl_.setRowSelectionAllowed(true);
    view_lf_tbl_.setToolTipText("Select a candidate to highlight its" + " potential match in the right tree.");

    view_rt_tbl_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    view_rt_tbl_.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    view_rt_tbl_.setRowSelectionAllowed(true);
    view_rt_tbl_.setToolTipText("Select a candidate to highlight its" + " potential match in the left tree.");

    view_lf_spl_.setPreferredSize(view_lf_spl_.getMaximumSize());
    view_lf_spl_.setOneTouchExpandable(true);
    view_lf_spl_.setResizeWeight(0.7);

    view_rt_spl_.setPreferredSize(view_rt_spl_.getMaximumSize());
    view_rt_spl_.setOneTouchExpandable(true);
    view_rt_spl_.setResizeWeight(0.7);

    // Set panel layout and constraints.
    String col_spec = "center:160dlu:grow, pref, center:160dlu:grow";
    String row_spec = "pref, $rgap, pref, $rgap, fill:MIN(180dlu;pref):grow";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(separator, cc.rcw(1, 1, 3));
    builder.addLabel("Left model elements", cc.rc(3, 1));
    builder.add(view_lf_spl_, cc.rc(5, 1));
    builder.add(control_pnl, cc.rc(5, 2));
    builder.addLabel("Right model elements", cc.rc(3, 3));
    builder.add(view_rt_spl_, cc.rc(5, 3));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.MatchPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *//*from  w ww  .j  av  a 2s .c om*/
private JPanel assembleWeightPanel() {
    // Instantiate the components.
    JComponent separator = DefaultComponentFactory.getInstance()
            .createSeparator("Set Relative Weights for Matching Strategies", SwingConstants.CENTER);

    update_btn_ = new JButton("Update");

    // Set visual and behavioral aspects of the components.
    update_btn_.setMnemonic(KeyEvent.VK_U);
    update_btn_.setToolTipText("Force similarity calculation using specified"
            + " weights, and redisplay new values in detail tables.");

    // Set panel layout and constraints.
    String col_spec = "pref:grow, $ugap, pref:grow, $ugap, pref:grow, $ugap,"
            + "pref:grow, $ugap, pref:grow, $ugap, pref:grow, $ugap,"
            + "pref:grow, $ugap, pref:grow, $ugap, pref";
    String row_spec = "pref, $rgap, pref, $rgap, pref";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder;

    int sz;
    int col;

    if (weight_pnl_ == null) {
        builder = new PanelBuilder(layout);
        sz = MAX_STRATEGIES;
        col = 1;
    } else {
        weight_pnl_.removeAll();
        builder = new PanelBuilder(layout, weight_pnl_);
        sz = strategies_.size();
        col = 17 - (sz - 1) * 2;
    }
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(separator, cc.rcw(1, 1, 17));
    for (int i = 1; i < sz; ++i) {
        if (weight_pnl_ == null) {
            builder.addLabel("a Strategy", cc.rcw(3, col, 2));
            builder.add(new JSpinner(), cc.rc(5, col));
        } else {
            builder.addLabel(strategies_.get(i).getLabel(), cc.rcw(3, col, 2));
            builder.add(strategies_.get(i).getSpinner(), cc.rc(5, col));
        }
        col += 2;
    }
    builder.add(update_btn_, cc.rc(5, col));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.MergePanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *///from  ww  w  .j a v  a 2s.  com
private JPanel assembleApplyPanel() {
    // Instantiate the components.
    JComponent table_sep = DefaultComponentFactory.getInstance()
            .createSeparator("Apply Desired Changes and Resolve Conflicts", SwingConstants.CENTER);

    apply_tbl_ = new JTable();
    apply_scl_ = new JScrollPane(apply_tbl_);
    JPanel control_pnl = assembleControlPanel();

    // Set visual and behavioral aspects of the components.
    apply_tbl_.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    apply_tbl_.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    apply_tbl_.setRowSelectionAllowed(true);
    apply_tbl_.setToolTipText("Select a change...");

    ToolTipManager.sharedInstance().registerComponent(apply_tbl_);

    // Set panel layout and constraints.
    String col_spec = "pref:grow, $ugap, pref";
    String row_spec = "pref, $rgap, fill:MIN(86dlu;pref):grow";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(table_sep, cc.rcw(1, 1, 3));
    builder.add(apply_scl_, cc.rc(3, 1));
    builder.add(control_pnl, cc.rc(3, 3));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.ModelPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *///from  w w w .  j a va 2  s. c  o m
private JPanel assembleDecisionPanel() {
    // Instantiate the components.
    JComponent match_sep = DefaultComponentFactory.getInstance().createSeparator("Input Element Matching File",
            SwingConstants.CENTER);

    previous_cbx_ = new JCheckBox("Load previous element matching file");
    previous_file_txt_ = new JTextField();
    previous_dir_btn_ = new JButton(Constants.FILE_OPENED_IMG);

    JComponent table_sep = DefaultComponentFactory.getInstance()
            .createSeparator("Input Decision Table Definition Files", SwingConstants.CENTER);

    match_cbx_ = new JCheckBox("Load element matching table definition");
    match_file_txt_ = new JTextField();
    match_dir_btn_ = new JButton(Constants.FILE_OPENED_IMG);

    before_cbx_ = new JCheckBox("Load before predicate table definition");
    before_file_txt_ = new JTextField();
    before_dir_btn_ = new JButton(Constants.FILE_OPENED_IMG);

    resolve_cbx_ = new JCheckBox("Load conflict resolution table definition");
    resolve_file_txt_ = new JTextField();
    resolve_dir_btn_ = new JButton(Constants.FILE_OPENED_IMG);

    // Set visual and behavioral aspects of the components.
    previous_cbx_.setMnemonic(KeyEvent.VK_P);
    previous_cbx_.setToolTipText("Check to load previously saved model element matches. (no affect)");
    //??    previous_file_txt_.getDocument().putProperty("name", "previous_file");
    previous_file_txt_.setToolTipText("File path to previous element matching file.");
    previous_dir_btn_.setToolTipText("Browse for previous element matching file.");

    match_cbx_.setMnemonic(KeyEvent.VK_T);
    match_cbx_.setToolTipText("Check to load element match table definition.");
    //??    match_file_txt_.getDocument().putProperty("name", "match_file");
    match_file_txt_.setToolTipText("File path to element match table definition.");
    match_dir_btn_.setToolTipText("Browse for element match table definition.");

    before_cbx_.setMnemonic(KeyEvent.VK_F);
    before_cbx_.setToolTipText("Check to load conflict detection table definition.");
    //??    before_file_txt_.getDocument().putProperty("name", "before_file");
    before_file_txt_.setToolTipText("File path to conflict detection table definition.");
    before_dir_btn_.setToolTipText("Browse for conflict detection table definition.");

    resolve_cbx_.setMnemonic(KeyEvent.VK_S);
    resolve_cbx_.setToolTipText("Check to load conflict resolution table definition.");
    //??    resolve_file_txt_.getDocument().putProperty("name", "resolve_file");
    resolve_file_txt_.setToolTipText("File path to conflict resolution table definition.");
    resolve_dir_btn_.setToolTipText("Browse for conflict resolution table definition.");

    // Set panel layout and constraints.
    String col_spec = "pref, $rgap, MAX(90dlu;pref), MIN(70dlu;pref):grow, " + "$rgap, pref, pref:grow";
    String row_spec = "0dlu , pref, " + "$ugap, MIN(13dlu;pref), " + "8dlu , pref, "
            + " $ugap, MIN(13dlu;pref), $rgap, MIN(13dlu;pref), " + "$rgap, MIN(13dlu;pref)";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(match_sep, cc.rcw(2, 1, 7));
    builder.add(previous_cbx_, cc.rc(4, 1));
    builder.add(previous_file_txt_, cc.rcw(4, 3, 2));
    builder.add(previous_dir_btn_, cc.rc(4, 6));

    builder.add(table_sep, cc.rcw(6, 1, 7));
    builder.add(match_cbx_, cc.rc(8, 1));
    builder.add(match_file_txt_, cc.rcw(8, 3, 2));
    builder.add(match_dir_btn_, cc.rc(8, 6));
    builder.add(before_cbx_, cc.rc(10, 1));
    builder.add(before_file_txt_, cc.rcw(10, 3, 2));
    builder.add(before_dir_btn_, cc.rc(10, 6));
    builder.add(resolve_cbx_, cc.rc(12, 1));
    builder.add(resolve_file_txt_, cc.rcw(12, 3, 2));
    builder.add(resolve_dir_btn_, cc.rc(12, 6));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.ModelPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *///from  w  w  w  . j  av a2  s. c  o  m
private JPanel assembleModelPanel() {
    // Instantiate the components.
    JComponent file_sep = DefaultComponentFactory.getInstance().createSeparator("Input Model Versions",
            SwingConstants.CENTER);

    model_file_bs_txt_ = new JTextField();
    model_file_lf_txt_ = new JTextField();
    model_file_rt_txt_ = new JTextField();

    model_dir_bs_btn_ = new JButton(Constants.FILE_OPENED_IMG);
    model_dir_lf_btn_ = new JButton(Constants.FILE_OPENED_IMG);
    model_dir_rt_btn_ = new JButton(Constants.FILE_OPENED_IMG);

    // Set visual and behavioral aspects of the components.
    //model_file_bs_txt_.getDocument().putProperty("name", "common_file");
    model_file_bs_txt_.setToolTipText("File path to common model.");
    model_dir_bs_btn_.setToolTipText("Browse for common model.");

    //model_file_lf_txt_.getDocument().putProperty("name", "left_file");
    model_file_lf_txt_.setToolTipText("File path to left model.");
    model_dir_lf_btn_.setToolTipText("Browse for left model.");

    //model_file_rt_txt_.getDocument().putProperty("name", "right_file");
    model_file_rt_txt_.setToolTipText("File path to right model.");
    model_dir_rt_btn_.setToolTipText("Browse for right model.");

    // Set panel layout and constraints.
    String col_spec = "40dlu, right:pref, $rgap, MAX(155dlu;pref), "
            + "MIN(70dlu;pref):grow, $rgap, pref, pref:grow";
    String row_spec = "4dlu , pref, "
            + "$ugap, MIN(13dlu;pref), $rgap, MIN(13dlu;pref), $rgap, MIN(13dlu;pref)";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(file_sep, cc.rcw(2, 1, 8));
    builder.addLabel("&Base model", cc.rc(4, 2));
    builder.add(model_file_bs_txt_, cc.rcw(4, 4, 2));
    builder.add(model_dir_bs_btn_, cc.rc(4, 7));
    builder.addLabel("&Left model", cc.rc(6, 2));
    builder.add(model_file_lf_txt_, cc.rcw(6, 4, 2));
    builder.add(model_dir_lf_btn_, cc.rc(6, 7));
    builder.addLabel("&Right model", cc.rc(8, 2));
    builder.add(model_file_rt_txt_, cc.rcw(8, 4, 2));
    builder.add(model_dir_rt_btn_, cc.rc(8, 7));

    return builder.getPanel();
}

From source file:ca.dsrg.mirador.ui.ModelPanel.java

/**                                                                     DOCDO: Provide method overview.
 *
 *///w  w w .j  ava2 s  .  c o  m
private JPanel assembleMatchPanel() {
    // Instantiate the components.
    JComponent strat_sep = DefaultComponentFactory.getInstance()
            .createSeparator("Select Model Element Matching Strategies", SwingConstants.CENTER);

    strategy1_cbx_ = new JCheckBox("By ID matching strategy");
    strategy2_cbx_ = new JCheckBox("By Name matching strategy");
    strategy3_cbx_ = new JCheckBox("By Structure matching strategy");
    strategy4_cbx_ = new JCheckBox("By Dependency matching strategy");
    strategy5_cbx_ = new JCheckBox("By ECL script matching strategy");
    strategy6_cbx_ = new JCheckBox("User supplied matching strategy #1        Class name");
    strategy7_cbx_ = new JCheckBox("User supplied matching strategy #2        Class name");

    user_class1_txt_ = new JTextField();
    user_class2_txt_ = new JTextField();

    // Set visual and behavioral aspects of the components.
    strategy1_cbx_.setMnemonic(KeyEvent.VK_1);
    strategy1_cbx_.setToolTipText("Check to measure similarity with the by ID matching strategy.");
    strategy2_cbx_.setMnemonic(KeyEvent.VK_2);
    strategy2_cbx_.setToolTipText("Check to measure similarity with the by Name matching strategy.");
    strategy3_cbx_.setMnemonic(KeyEvent.VK_3);
    strategy3_cbx_.setToolTipText("Check to measure similarity with the by Structure matching strategy.");
    strategy4_cbx_.setMnemonic(KeyEvent.VK_4);
    strategy4_cbx_.setToolTipText("Check to measure similarity with the by Dependency matching strategy.");
    strategy5_cbx_.setMnemonic(KeyEvent.VK_5);
    strategy5_cbx_.setToolTipText("Check to measure similarity with the by ECL matching strategy.");
    strategy6_cbx_.setMnemonic(KeyEvent.VK_6);
    strategy6_cbx_.setToolTipText("Check to measure similarity with a user defined matching strategy.");
    strategy7_cbx_.setMnemonic(KeyEvent.VK_7);
    strategy7_cbx_.setToolTipText("Check to measure similarity with a user defined matching strategy.");

    // Set panel layout and constraints.
    String col_spec = "pref, $rgap, MAX(70dlu;pref), MIN(70dlu;pref):grow, " + "$rgap, pref, pref:grow";
    String row_spec = "0dlu , pref, " + "$ugap, pref, $rgap, pref, $rgap, pref, $rgap, pref, $rgap, pref, "
            + "$rgap, MIN(13dlu;pref), $rgap, MIN(13dlu;pref)";
    FormLayout layout = new FormLayout(col_spec, row_spec);

    // Initialize builder of the panel with the layout and a border.
    PanelBuilder builder = new PanelBuilder(layout);
    builder.setBorder(Borders.EMPTY_BORDER);

    // Add components to the panel.
    CellConstraints cc = new CellConstraints();
    builder.add(strat_sep, cc.rcw(2, 1, 7));
    builder.add(strategy1_cbx_, cc.rc(4, 1));
    builder.add(strategy2_cbx_, cc.rc(6, 1));
    builder.add(strategy3_cbx_, cc.rc(8, 1));
    builder.add(strategy4_cbx_, cc.rc(10, 1));
    builder.add(strategy5_cbx_, cc.rc(12, 1));
    builder.add(strategy6_cbx_, cc.rc(14, 1));
    builder.add(user_class1_txt_, cc.rc(14, 3));
    builder.add(strategy7_cbx_, cc.rc(16, 1));
    builder.add(user_class2_txt_, cc.rc(16, 3));

    return builder.getPanel();
}

From source file:edu.udo.scaffoldhunter.gui.datasetmanagement.ManageRulesetsDialog.java

License:Open Source License

/**
 * Initialises all GUI components//from w  w  w .  ja  va2 s.co m
 */
private void initGUI() {
    FormLayout containerLayout;
    PanelBuilder containerBuilder;

    FormLayout leftLayout;
    PanelBuilder leftBuilder;

    FormLayout rightLayout;
    PanelBuilder rightBuilder;

    ButtonStackBuilder rulesetListButtons;
    ButtonStackBuilder ruleAddRemoveButtons;
    ButtonStackBuilder ruleUpDownButtons;

    CellConstraints cc = new CellConstraints();

    String listPrototypeElement = "____________________";
    int listsNumRows = 15;
    JComboBox ascendingChooser;

    setTitle(_("ManageRulesets.WindowTitle"));
    setLayout(new BorderLayout());
    setModal(true);

    container = new JPanel();
    add(container, BorderLayout.CENTER);

    containerLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0), p");
    containerBuilder = new PanelBuilder(containerLayout, container);
    containerBuilder.setDefaultDialogBorder();

    leftContainer = new JPanel();
    leftContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Rulesets")));
    containerBuilder.add(leftContainer, cc.rc(1, 1));

    leftLayout = new FormLayout("p, 2dlu, p:g(1.0)", "f:p:g(1.0)");
    leftBuilder = new PanelBuilder(leftLayout, leftContainer);

    rulesets = new DefaultListModel();
    rulesetsList = new JList(rulesets);
    rulesetsList.setVisibleRowCount(listsNumRows);
    rulesetsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    rulesetsList.setPrototypeCellValue(listPrototypeElement);
    rulesetsList.addListSelectionListener(new RulesetsListSelectionListener());
    rulesetsListScroll = new JScrollPane(rulesetsList);
    leftBuilder.add(rulesetsListScroll, cc.rc(1, 1));

    newRulesetButton = new JButton(new NewRulesetAction());
    deleteRulesetButton = new JButton(new DeleteRulesetAction(this));
    rulesetListButtons = new ButtonStackBuilder();
    rulesetListButtons.addGridded(newRulesetButton);
    rulesetListButtons.addRelatedGap();
    rulesetListButtons.addGridded(deleteRulesetButton);
    leftBuilder.add(rulesetListButtons.getPanel(), cc.rc(1, 3));

    rightContainer = new JPanel();
    rightContainer.setBorder(BorderFactory.createTitledBorder(_("ManageRulesets.Ruleset")));
    containerBuilder.add(rightContainer, cc.rc(1, 3));

    rulesetTitle = new JTextField();
    rulesetTitleListener = new RulesetTitleDocumentListener();
    rulesetTitle.getDocument().addDocumentListener(rulesetTitleListener);
    defaultRulesetTitleBorder = rulesetTitle.getBorder();

    ruleSelection = new RuleSelectionListener();

    existingRules = new DefaultListModel();
    existingRulesList = new JList(existingRules);
    existingRulesList.setVisibleRowCount(listsNumRows);
    existingRulesList.setMinimumSize(new Dimension(120, 20));
    existingRulesList.addListSelectionListener(ruleSelection);
    existingRulesListScroll = new JScrollPane(existingRulesList);
    existingRulesListScroll.setMinimumSize(new Dimension(160, 20));
    existingRulesListScroll.setPreferredSize(new Dimension(160, 20));

    usedRules = new RulesetTableModel();
    usedRulesTable = new JTable(usedRules);
    usedRulesTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    usedRulesTable.getSelectionModel().addListSelectionListener(ruleSelection);
    usedRulesTableScroll = new JScrollPane(usedRulesTable);
    usedRulesTableScroll.setPreferredSize(new Dimension(300, 200));

    ascendingChooser = new JComboBox();
    ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.True"));
    ascendingChooser.addItem(_("ManageRulesets.UsedRules.Ascending.False"));
    usedRulesTable.getColumnModel().getColumn(0).setPreferredWidth(150);
    usedRulesTable.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(ascendingChooser));
    usedRulesTable.getColumnModel().getColumn(1).getCellEditor()
            .addCellEditorListener(new CellEditorListener() {
                @Override
                public void editingStopped(ChangeEvent e) {
                    rulesetChanged();
                }

                @Override
                public void editingCanceled(ChangeEvent e) {
                    // do nothing
                }
            });

    usedRulesTable.getColumnModel().getColumn(1).setPreferredWidth(170);
    usedRulesTable.setRowHeight(ascendingChooser.getPreferredSize().height);
    usedRulesTable.getTableHeader().setReorderingAllowed(false);

    addRuleButton = new JButton(new AddRuleAction());
    removeRuleButton = new JButton(new RemoveRuleAction());
    ruleAddRemoveButtons = new ButtonStackBuilder();
    ruleAddRemoveButtons.addButton(addRuleButton, removeRuleButton);

    ruleUpButton = new JButton(new RuleUpAction());
    ruleDownButton = new JButton(new RuleDownAction());
    ruleUpDownButtons = new ButtonStackBuilder();
    ruleUpDownButtons.addButton(ruleUpButton, ruleDownButton);

    infoLabel = new JEditorPane();
    infoLabel.setContentType("text/html");
    infoLabel.setText(_("ManageRulesets.HelpNoSelection"));
    infoLabel.setEditable(false);
    infoLabel.setBackground(rightContainer.getBackground());
    infoLabel.setPreferredSize(new Dimension(30, 40));
    infoLabel.setMaximumSize(new Dimension(30, 40));
    infoLabel.addHyperlinkListener(new HyperlinkListener() {
        @Override
        public void hyperlinkUpdate(HyperlinkEvent e) {
            // if clicked, open url in browser
            if (e.getEventType() == EventType.ACTIVATED) {
                UrlOpener.browse(e.getURL());
            }
        }
    });
    saveButton = new JButton(new SaveAction());
    saveButton.setEnabled(false);

    rightLayout = new FormLayout("p, 2dlu, l:m, d, p:g, d, f:m", // 7 colums
            "t:p, 2dlu, p, d, f:p:g, d, p, d, f:p"); // 9 rows
    rightLayout.setColumnGroups(new int[][] { /* { 1, 5 }, */{ 2, 4, 6 } });
    rightLayout.setRowGroups(new int[][] { { 2, 4, 6, 8 } });

    rightBuilder = new PanelBuilder(rightLayout, rightContainer);

    rightBuilder.addLabel(_("ManageRulesets.RulesetLabel"), cc.rc(1, 1));
    rightBuilder.add(rulesetTitle, cc.rcw(1, 3, 5));

    rightBuilder.addLabel(_("ManageRulesets.ExistingRules"), cc.rc(3, 1));
    rightBuilder.add(existingRulesListScroll, cc.rc(5, 1));
    rightBuilder.add(ruleAddRemoveButtons.getPanel(), cc.rc(5, 3));

    rightBuilder.addLabel(_("ManageRulesets.UsedRules"), cc.rc(3, 5));
    rightBuilder.add(usedRulesTableScroll, cc.rc(5, 5));
    rightBuilder.add(ruleUpDownButtons.getPanel(), cc.rc(5, 7));

    rightBuilder.add(saveButton, cc.rchw(7, 7, 3, 1));

    rightBuilder.addLabel(_("ManageRulesets.Help"), cc.rc(7, 1));
    rightBuilder.add(infoLabel, cc.rcw(9, 1, 5));

    okButton = StandardButtonFactory.createCloseButton(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            confirmIfUnsavedChanges();
            dispose();
        }
    });
    getRootPane().setDefaultButton(okButton);
    containerBuilder.add(ButtonBarFactory.buildOKBar(okButton), cc.rcw(2, 1, 3));

    setRulesetEditingEnable(false, false);
}

From source file:edu.udo.scaffoldhunter.view.util.TooltipManager.java

License:Open Source License

private JPanel buildPanel(Structure structure) {
    tooltipPanel = new JPanel();
    FormLayout tooltipPanelLayout = new FormLayout("d, 2dlu, d:g", "d, 2dlu, t:d:g");
    PanelBuilder tooltipPanelBuilder = new PanelBuilder(tooltipPanelLayout, tooltipPanel);
    tooltipPanelBuilder.setDefaultDialogBorder();
    CellConstraints cc = new CellConstraints();

    tooltipPanelBuilder.add(new SizedSVGLabel(structure), cc.rc(1, 1));

    JComponent propertyComponent = buildPropertyPanel(structure);

    tooltipPanelBuilder.add(propertyComponent, cc.rchw(1, 3, 3, 1));

    CommentComponent commentComponent = new CommentComponent(db, structure, profile);

    // Textareas will be added to and removed from one of the
    // CommentComponents child panels
    // when that happens resize the dialog
    for (JPanel p : Iterables.filter(Arrays.asList(commentComponent.getComponents()), JPanel.class))
        p.addContainerListener(new ContainerListener() {

            @Override/*from   w w  w .j av a 2  s  . c  om*/
            public void componentRemoved(ContainerEvent e) {
                tooltip.pack();
            }

            @Override
            public void componentAdded(ContainerEvent e) {
                tooltip.pack();
            }
        });
    tooltipPanelBuilder.add(commentComponent, cc.rcw(3, 1, 1));
    return tooltipPanel;
}