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

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

Introduction

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

Prototype

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

Source Link

Document

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

Examples:

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

Usage

From source file:edu.ku.brc.specify.tasks.subpane.WebServiceSubPane.java

License:Open Source License

/**
 * //from   w w  w  . j  a v  a  2 s.  c o m
 */
private void createUI() {
    removeAll();

    ActionListener addAction = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            addFileItem();
        }
    };
    ActionListener delAction = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            delFileItem();
        }
    };
    eadPanel = new EditDeleteAddPanel(null, delAction, addAction);
    eadPanel.setOpaque(false);

    uploadFilesBtn = UIHelper.createI18NButton("WSSP_UPLOAD_FILES_BTN");
    uploadDBBtn = UIHelper.createI18NButton("WSSP_UPLOAD_DB_BTN");

    uploadFilesBtn.setEnabled(false);

    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("p,f:p:g", "p,4px, p,2px,p,2px,p,2px,p,20px,p,10px,p"),
            this);

    int y = 1;
    pb.addSeparator(UIRegistry.getResourceString("WSSP_FILES_UPLD"), cc.xyw(1, y, 1));
    y += 2;
    pb.add(UIHelper.createI18NLabel("", SwingConstants.CENTER), cc.xy(1, y));
    y += 2;
    pb.add(UIHelper.createScrollPane(fileList), cc.xy(1, y));
    y += 2;
    pb.add(eadPanel, cc.xy(1, y));
    y += 2;
    pb.add(makeCenteredBtn(uploadFilesBtn), cc.xy(1, y));
    y += 2;

    pb.addSeparator(UIRegistry.getResourceString("WSSP_UPLOAD_DB"), cc.xyw(1, y, 1));
    y += 2;

    PanelBuilder innerPanel = new PanelBuilder(new FormLayout("p,4px,p:g", "p,16px,p"));

    lastUpdatedLbl = new JLabel();
    fillDate();

    innerPanel.add(UIHelper.createI18NFormLabel("WSSP_LAST_UPLD"), cc.xy(1, 1));
    innerPanel.add(lastUpdatedLbl, cc.xy(3, 1));

    innerPanel.add(makeCenteredBtn(uploadDBBtn), cc.xyw(1, 3, 3));

    innerPanel.getPanel().setOpaque(false);
    pb.add(innerPanel.getPanel(), cc.xy(1, y));
    y += 2;

    eadPanel.getAddBtn().setEnabled(true);

    fileList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                eadPanel.getDelBtn().setEnabled(fileList.getSelectedIndex() > -1);
            }
        }
    });

    uploadDBBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            ((WebSearchTask) task).createAndSendBackup();
            AppPreferences.getRemote().putLong("LAST_WS_UPLOAD", Calendar.getInstance().getTimeInMillis());

            fillDate();
        }
    });

    pb.setDefaultDialogBorder();
}

From source file:edu.ku.brc.specify.tools.l10nios.StrLocalizerAppForiOS.java

License:Open Source License

/**
 * //from ww w  . j  a v  a  2s.  c om
 */
private void createUI() {
    IconManager.setApplicationClass(Specify.class);
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_datamodel.xml")); //$NON-NLS-1$
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_plugins.xml")); //$NON-NLS-1$
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_disciplines.xml")); //$NON-NLS-1$

    System.setProperty("edu.ku.brc.ui.db.PickListDBAdapterFactory", //$NON-NLS-1$
            "edu.ku.brc.specify.tools.StrLocPickListFactory"); // Needed By the Auto Cosmplete UI  //$NON-NLS-1$

    CellConstraints cc = new CellConstraints();

    fileList = new JList(fileModel = new DefaultListModel());
    termList = new JList(model = new ItemModel(null));

    srcLbl = setTAReadOnly(UIHelper.createTextArea(3, 40));
    //srcLbl.setBorder(new LineBorder(srcLbl.getForeground()));
    textField = UIHelper.createTextField(40);

    comment = setTAReadOnly(UIHelper.createTextArea(3, 40));

    /*textField.getDocument().addDocumentListener(new DocumentAdaptor() {
    @Override
    protected void changed(DocumentEvent e)
    {
        hasChanged = true;
    }
    });*/

    statusBar = new JStatusBar();
    statusBar.setSectionText(1, "     "); //$NON-NLS-1$ //$NON-NLS-2$
    UIRegistry.setStatusBar(statusBar);

    srcLbl.setEditable(false);

    rsController = new ResultSetController(null, false, false, false, "", 1, true);

    transBtn = UIHelper.createButton(getResourceString("StrLocalizerApp.Translate"));
    transBtn.setVisible(false);

    PanelBuilder pbr = new PanelBuilder(new FormLayout("p,2px,f:p:g", "p,4px,p,4px,p,4px,p,4px,p,4px,p"));

    //pbr.add(UIHelper.createLabel(getResourceString("StrLocalizerApp.FileLbl")), cc.xy(1, 1));
    //fileLbl = UIHelper.createLabel("   ");
    //pbr.add(fileLbl, cc.xy(3, 1));

    int y = 1;
    pbr.addSeparator("Item", cc.xyw(1, y, 3));
    y += 2;

    pbr.add(UIHelper.createLabel("English:", SwingConstants.RIGHT), cc.xy(1, y));
    pbr.add(srcLbl, cc.xy(3, y));
    y += 2;

    pbr.add(UIHelper.createFormLabel("Comment", SwingConstants.RIGHT), cc.xy(1, y));
    pbr.add(comment, cc.xy(3, y));
    y += 2;

    destLbl = UIHelper.createFormLabel("", SwingConstants.RIGHT);//destLanguage.getDisplayName());
    pbr.add(destLbl, cc.xy(1, y));
    pbr.add(textField, cc.xy(3, y));
    y += 2;

    pbr.add(rsController.getPanel(), cc.xyw(1, y, 3));
    y += 2;
    pbr.add(transBtn, cc.xy(1, y));

    JScrollPane sp = UIHelper.createScrollPane(termList);

    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g", "p,4px,f:p:g,10px,p"));
    pb.addSeparator("Localize", cc.xy(1, 1));
    pb.add(sp, cc.xy(1, 3));
    pb.add(pbr.getPanel(), cc.xy(1, 5));
    pb.setDefaultDialogBorder();

    ResultSetController.setBackStopRS(rsController);

    PanelBuilder fpb = new PanelBuilder(new FormLayout("8px,f:p:g", "p,4px,f:p:g"));
    JScrollPane filesp = UIHelper.createScrollPane(fileList);
    fpb.add(UIHelper.createLabel("Files", SwingConstants.CENTER), cc.xy(2, 1));
    fpb.add(filesp, cc.xy(2, 3));

    setLayout(new BorderLayout());
    add(fpb.getPanel(), BorderLayout.WEST);
    add(pb.getPanel(), BorderLayout.CENTER);
    add(statusBar, BorderLayout.SOUTH);

    mainPane = this;

    textField.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            checkForChange();
        }
    });

    termList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                itemSelected();
            }
        }
    });

    fileList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                fileSelected();
            }
        }
    });

    transBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String txt = srcLbl.getText();
            String newText = translate(txt);
            if (StringUtils.isNotEmpty(newText)) {
                newText = newText.replace("'", "'");
                textField.setText(newText);
                L10NItem entry = (L10NItem) termList.getSelectedValue();
                entry.setValue(textField.getText());
            }
        }
    });

    rscListener = new ResultSetControllerListener() {
        @Override
        public void newRecordAdded() {
        }

        @Override
        public void indexChanged(int newIndex) {
            termList.setSelectedIndex(newIndex);
        }

        @Override
        public boolean indexAboutToChange(int oldIndex, int newIndex) {
            return true;
        }
    };

    rsController.addListener(rscListener);
}

From source file:edu.ku.brc.specify.tools.StrLocalizerApp.java

License:Open Source License

/**
 * /*from  w w w  . ja v a 2s . co  m*/
 */
private void createUI() {
    IconManager.setApplicationClass(Specify.class);
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_datamodel.xml")); //$NON-NLS-1$
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_plugins.xml")); //$NON-NLS-1$
    IconManager.loadIcons(XMLHelper.getConfigDir("icons_disciplines.xml")); //$NON-NLS-1$

    System.setProperty("edu.ku.brc.ui.db.PickListDBAdapterFactory", //$NON-NLS-1$
            "edu.ku.brc.specify.tools.StrLocPickListFactory"); // Needed By the Auto Cosmplete UI  //$NON-NLS-1$

    CellConstraints cc = new CellConstraints();

    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,10px,f:p:g", "p,4px,f:p:g,4px,p"), this);

    pb.addSeparator("Localize", cc.xyw(1, 1, 3));

    termList = new JList(new ItemModel(srcFile));
    newTermList = new JList(newKeyList);

    srcLbl = UIHelper.createTextArea(3, 40);
    srcLbl.setBorder(new LineBorder(srcLbl.getForeground()));
    textField = UIHelper.createTextField(40);

    textField.getDocument().addDocumentListener(new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            hasChanged = true;
        }
    });

    statusBar = new JStatusBar();
    statusBar.setSectionText(1, "     "); //$NON-NLS-1$ //$NON-NLS-2$
    UIRegistry.setStatusBar(statusBar);

    srcLbl.setEditable(false);

    rsController = new ResultSetController(null, false, false, false, "", 1, true);

    //transBtn = UIHelper.createButton(getResourceString("StrLocalizerApp.Translate"));

    PanelBuilder pbr = new PanelBuilder(
            new FormLayout("r:p,2px,f:p:g", "p, 4px, c:p,4px,p,4px,p,4px,p,4px,p,10px,p,2px,f:p:g"));

    pbr.add(UIHelper.createLabel(getResourceString("StrLocalizerApp.FileLbl")), cc.xy(1, 1));
    fileLbl = UIHelper.createLabel("   ");
    pbr.add(fileLbl, cc.xy(3, 1));

    pbr.add(UIHelper.createLabel("English:"), cc.xy(1, 3));
    pbr.add(srcLbl, cc.xy(3, 3));

    destLbl = UIHelper.createFormLabel(destLanguage.getEnglishName());
    pbr.add(destLbl, cc.xy(1, 5));
    pbr.add(textField, cc.xy(3, 5));

    pbr.add(rsController.getPanel(), cc.xyw(1, 7, 3));
    //pbr.add(transBtn,                         cc.xy(1,  9));
    pbr.addSeparator("Searching", cc.xyw(1, 11, 3));

    searchBtn = createButton(getResourceString("SEARCH"));
    searchBtn.setToolTipText(getResourceString("ExpressSearchTT"));
    searchText = new JAutoCompTextField(15,
            PickListDBAdapterFactory.getInstance().create("ExpressSearch", true));
    searchText.setAskBeforeSave(false);
    searchBox = new SearchBox(searchText, null, true);

    searchText.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                fndKeyHash.clear();
                results.clear();
                String txt = searchText.getText();
                if (!txt.isEmpty()) {
                    doSearch(txt, "key");
                    doSearch(txt, "src");
                    doSearch(txt, "dst");
                }
                model.fireChanges();
            }
        }
    });
    pbr.add(searchBox, cc.xyw(1, 13, 3));

    model = new SearchResultsModel();
    searchResultsTbl = new JTable(model);
    pbr.add(UIHelper.createScrollPane(searchResultsTbl), cc.xyw(1, 15, 3));

    searchResultsTbl.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            //tableRowSelected();
            if (results != null && results.size() > 0 && searchResultsTbl.getSelectedRow() > -1) {
                StrLocaleEntry entry = (StrLocaleEntry) results.get(searchResultsTbl.getSelectedRow());
                if (entry != null) {
                    int listIndex = srcFile.getInxForKey(entry.getKey());
                    termList.setSelectedIndex(listIndex);
                    termList.ensureIndexIsVisible(listIndex);
                }
            }
        }
    });

    PanelBuilder pbl = new PanelBuilder(new FormLayout("f:p:g", "f:p:g,10px,p,4px,f:p:g"));

    JScrollPane sp = UIHelper.createScrollPane(termList);
    JScrollPane nsp = UIHelper.createScrollPane(newTermList);
    pbl.add(sp, cc.xy(1, 1));
    pbl.addSeparator("New Items", cc.xy(1, 3));
    pbl.add(nsp, cc.xy(1, 5));

    pb.add(pbl.getPanel(), cc.xy(1, 3));
    pb.add(pbr.getPanel(), cc.xy(3, 3));
    pb.add(statusBar, cc.xyw(1, 5, 3));

    ResultSetController.setBackStopRS(rsController);

    pb.setDefaultDialogBorder();

    mainPane = pb.getPanel();

    termList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            listSelected();
        }
    });

    newTermList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            newListSelected();
        }
    });

    transBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String txt = srcLbl.getText();

            String newText = translate(txt);
            if (StringUtils.isNotEmpty(newText)) {
                newText = newText.replace("'", "'");
                textField.setText(newText);
                StrLocaleEntry entry = srcFile.getKey(termList.getSelectedIndex());
                entry.setDstStr(textField.getText());
            }
        }
    });

    rscListener = new ResultSetControllerListener() {
        @Override
        public void newRecordAdded() {
        }

        @Override
        public void indexChanged(int newIndex) {
            termList.setSelectedIndex(newIndex);
        }

        @Override
        public boolean indexAboutToChange(int oldIndex, int newIndex) {
            return true;
        }
    };

    rsController.addListener(rscListener);

    frame.pack();
}

From source file:edu.ku.brc.specify.toycode.mexconabio.GBIFFullTextSearchFrame.java

License:Open Source License

@Override
public void createUI() {
    super.createUI();

    // 10029 AND Ipomoea

    PanelBuilder builder = new PanelBuilder(new FormLayout("p,10px,f:p:g,2px,p", "p,10px,f:p:g,4px,p")); //$NON-NLS-1$ //$NON-NLS-2$
    CellConstraints cc = new CellConstraints();

    searchField = new JTextField();
    builder.add(UIHelper.createFormLabel("Search"), cc.xy(1, 1));
    builder.add(searchField, cc.xy(3, 1));

    JButton searchBtn = UIHelper.createButton("Search");
    builder.add(searchBtn, cc.xy(5, 1));

    table = new JTable();
    builder.add(UIHelper.createScrollPane(table, true), cc.xyw(1, 3, 5));

    status = UIHelper.createLabel("");
    builder.add(status, cc.xyw(1, 5, 5));

    builder.setDefaultDialogBorder();//w ww  . j  av a2  s . c  om

    contentPanel = builder.getPanel();
    mainPanel.add(contentPanel, BorderLayout.CENTER);

    pack();

    searchField.addKeyListener(new KeyAdapter() {

        /* (non-Javadoc)
         * @see java.awt.event.KeyAdapter#keyPressed(java.awt.event.KeyEvent)
         */
        @Override
        public void keyPressed(KeyEvent e) {
            super.keyPressed(e);
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                doSearch(searchField.getText());
            }
        }

    });

    searchField.setText("10029 AND Ipomoea");

    searchBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doSearch(searchField.getText());
        }
    });
}

From source file:edu.ku.brc.specify.toycode.UpdatesApp.java

License:Open Source License

protected void createUI() {
    baseBBP = new BrowseBtnPanel(baseTF, false, true);
    baseUpBBP = new BrowseBtnPanel(baseUpTF, false, true);
    macFullBBP = new BrowseBtnPanel(macFullTF, false, true);
    macUpBBP = new BrowseBtnPanel(macUpTF, false, true);
    outBBP = new BrowseBtnPanel(outTF, false, true);

    verSub1 = new JSpinner();
    verSub2 = new JSpinner();

    PanelBuilder pb = new PanelBuilder(
            new FormLayout("p,2px,p,f:p:g,p", createDuplicateJGoodiesDef("p:g", "4px", 7)));
    CellConstraints cc = new CellConstraints();

    int y = 1;/*from   w  ww. ja v a2  s.  co m*/
    pb.add(createLabel("Linux/Win Full:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(baseBBP, cc.xyw(3, y, 3));
    y += 2;

    pb.add(createLabel("Linux/Win Update:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(baseUpBBP, cc.xyw(3, y, 3));
    y += 2;

    pb.add(createLabel("Mac Full:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(macFullBBP, cc.xyw(3, y, 3));
    y += 2;

    pb.add(createLabel("Mac Update:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(macUpBBP, cc.xyw(3, y, 3));
    y += 2;

    pb.add(createLabel("Output:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(outBBP, cc.xyw(3, y, 3));
    y += 2;

    updateBaseTF.setText("6.0.0");
    pb.add(createLabel("Update Base Version:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(updateBaseTF, cc.xy(3, y));
    y += 2;

    versionTF.setText("6");
    verSub1.setValue(99);
    verSub2.setValue(99);

    PanelBuilder vpb = new PanelBuilder(new FormLayout("p,p,p:g,p,p:g,f:p:g", "p"));
    vpb.add(versionTF, cc.xy(1, 1));
    vpb.add(createLabel("."), cc.xy(2, 1));
    vpb.add(verSub1, cc.xy(3, 1));
    vpb.add(createLabel("."), cc.xy(4, 1));
    vpb.add(verSub2, cc.xy(5, 1));

    pb.add(createLabel("New Version:", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(vpb.getPanel(), cc.xyw(3, y, 1));
    y += 2;

    PanelBuilder pb2 = new PanelBuilder(new FormLayout("p,2px,p,f:p:g,p", "p"));
    statusTF.setBackground(getBackground());
    pb2.add(statusTF, cc.xyw(1, 1, 4));
    pb2.add(mergeBtn, cc.xy(5, 1));

    pb.getPanel().setBorder(BorderFactory.createEmptyBorder(14, 14, 1, 14));

    setLayout(new BorderLayout());

    add(pb.getPanel(), BorderLayout.CENTER);
    add(pb2.getPanel(), BorderLayout.SOUTH);

    try {
        XStream xstream = new XStream();
        props = (Properties) xstream.fromXML(FileUtils.readFileToString(new File("props.init")));

    } catch (Exception ex) {
        props = new Properties();
    }

    baseTF.setText(props.getProperty("baseTF", "MacMedia/updates.xml.winlinfull.6.1.17"));
    baseUpTF.setText(props.getProperty("baseUpTF", "MacMedia/updates.xml.winlinupdate.6.1.17"));
    macFullTF.setText(props.getProperty("macFullTF", "MacMedia/updates_mac.xml"));
    macUpTF.setText(props.getProperty("macUpTF", "MacMedia/updates_mac_update.xml"));
    outTF.setText(props.getProperty("outTF", "MacMedia/updates.xml"));
    updateBaseTF.setText(props.getProperty("updateBaseTF", "6.0.0"));
    versionTF.setText(props.getProperty("versionTF", "6"));

    verSub1.setValue(Integer.parseInt(props.getProperty("subVer1", "1")));
    verSub2.setValue(Integer.parseInt(props.getProperty("subVer2", "11")));

    mergeBtn.addActionListener(new ActionListener() {

        /* (non-Javadoc)
         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            merge(baseTF.getText(), baseUpTF.getText(), macFullTF.getText(), macUpTF.getText(), outTF.getText(),
                    updateBaseTF.getText(), versionTF.getText(), Integer.toString((Integer) verSub1.getValue()),
                    Integer.toString((Integer) verSub2.getValue()));

            doSave(outTF.getText());
        }

    });

}

From source file:edu.ku.brc.specify.ui.AppBase.java

License:Open Source License

/**
 * Shows the About dialog.//  w  ww  .j  a va 2s  . c  om
 */
public void doAbout() {
    AppContextMgr acm = AppContextMgr.getInstance();
    boolean hasContext = acm.hasContext();

    int baseNumRows = 9;
    String serverName = AppPreferences.getLocalPrefs().get("login.servers_selected", null);
    if (serverName != null) {
        baseNumRows++;
    }

    CellConstraints cc = new CellConstraints();
    PanelBuilder infoPB = new PanelBuilder(new FormLayout("p,6px,f:p:g",
            "p,4px,p,4px," + UIHelper.createDuplicateJGoodiesDef("p", "2px", baseNumRows)));

    JLabel iconLabel = new JLabel(IconManager.getIcon("SpecifyLargeIcon"), SwingConstants.CENTER); //$NON-NLS-1$
    PanelBuilder iconPB = new PanelBuilder(new FormLayout("p", "20px,t:p,f:p:g"));
    iconPB.add(iconLabel, cc.xy(1, 2));

    if (hasContext) {
        DBTableIdMgr tableMgr = DBTableIdMgr.getInstance();
        boolean hasReged = !RegisterSpecify.isAnonymous() && RegisterSpecify.hasInstitutionRegistered();

        int y = 1;
        infoPB.addSeparator(getResourceString("Specify.SYS_INFO"), cc.xyw(1, y, 3));
        y += 2;

        JLabel lbl = UIHelper.createLabel(databaseName);
        infoPB.add(UIHelper.createI18NFormLabel("Specify.DB"), cc.xy(1, y));
        infoPB.add(lbl, cc.xy(3, y));
        y += 2;
        lbl.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 2) {
                    openLocalPrefs();
                }
            }
        });

        infoPB.add(UIHelper.createFormLabel(tableMgr.getTitleForId(Institution.getClassTableId())),
                cc.xy(1, y));
        infoPB.add(lbl = UIHelper.createLabel(acm.getClassObject(Institution.class).getName()), cc.xy(3, y));
        y += 2;
        lbl.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 2) {
                    openRemotePrefs();
                }
            }
        });
        infoPB.add(UIHelper.createFormLabel(tableMgr.getTitleForId(Division.getClassTableId())), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(acm.getClassObject(Division.class).getName()), cc.xy(3, y));
        y += 2;

        infoPB.add(UIHelper.createFormLabel(tableMgr.getTitleForId(Discipline.getClassTableId())), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(acm.getClassObject(Discipline.class).getName()), cc.xy(3, y));
        y += 2;

        infoPB.add(UIHelper.createFormLabel(tableMgr.getTitleForId(Collection.getClassTableId())), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(acm.getClassObject(Collection.class).getCollectionName()), cc.xy(3, y));
        y += 2;

        infoPB.add(UIHelper.createI18NFormLabel("Specify.BLD"), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(appBuildVersion), cc.xy(3, y));
        y += 2;

        infoPB.add(UIHelper.createI18NFormLabel("Specify.REG"), cc.xy(1, y));
        infoPB.add(UIHelper.createI18NLabel(hasReged ? "Specify.HASREG" : "Specify.NOTREG"), cc.xy(3, y));
        y += 2;

        String isaNumber = RegisterSpecify.getISANumber();
        infoPB.add(UIHelper.createI18NFormLabel("Specify.ISANUM"), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(StringUtils.isNotEmpty(isaNumber) ? isaNumber : ""), cc.xy(3, y));
        y += 2;

        if (serverName != null) {
            infoPB.add(UIHelper.createI18NFormLabel("Specify.SERVER"), cc.xy(1, y));
            infoPB.add(UIHelper.createLabel(StringUtils.isNotEmpty(serverName) ? serverName : ""), cc.xy(3, y));
            y += 2;
        }

        if (StringUtils.contains(DBConnection.getInstance().getConnectionStr(), "mysql")) {
            Vector<Object[]> list = BasicSQLUtils.query("select version() as ve");
            if (list != null && list.size() > 0) {
                infoPB.add(UIHelper.createFormLabel("MySQL Version"), cc.xy(1, y));
                infoPB.add(UIHelper.createLabel(list.get(0)[0].toString()), cc.xy(3, y));
                y += 2;
            }
        }

        infoPB.add(UIHelper.createFormLabel("Java Version"), cc.xy(1, y));
        infoPB.add(UIHelper.createLabel(System.getProperty("java.version")), cc.xy(3, y));
        y += 2;
    }

    String txt = getAboutText(appName, appVersion);
    JLabel txtLbl = createLabel(txt);
    txtLbl.setFont(UIRegistry.getDefaultFont());

    final JEditorPane txtPane = new JEditorPane("text/html", txt);
    txtPane.setEditable(false);
    txtPane.setBackground(new JPanel().getBackground());

    PanelBuilder pb = new PanelBuilder(new FormLayout("p,20px,f:min(400px;p):g,10px,8px,10px,p:g", "f:p:g"));

    pb.add(iconPB.getPanel(), cc.xy(1, 1));
    pb.add(txtPane, cc.xy(3, 1));
    Color bg = getBackground();

    if (hasContext) {
        pb.add(new VerticalSeparator(bg.darker(), bg.brighter()), cc.xy(5, 1));
        pb.add(infoPB.getPanel(), cc.xy(7, 1));
    }

    pb.setDefaultDialogBorder();

    String title = getResourceString("Specify.ABOUT");//$NON-NLS-1$
    CustomDialog aboutDlg = new CustomDialog(topFrame, title + " " + appName, true, CustomDialog.OK_BTN, //$NON-NLS-1$
            pb.getPanel());
    String okLabel = getResourceString("Specify.CLOSE");//$NON-NLS-1$
    aboutDlg.setOkLabel(okLabel);

    aboutDlg.createUI();
    aboutDlg.pack();

    // for some strange reason I can't get the dialog to size itself correctly
    Dimension size = aboutDlg.getSize();
    size.height += 120;
    aboutDlg.setSize(size);

    txtPane.addHyperlinkListener(new HyperlinkListener() {
        public void hyperlinkUpdate(HyperlinkEvent event) {
            if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                try {
                    AttachmentUtils.openURI(event.getURL().toURI());

                } catch (Exception e) {
                    edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
                }
            }
        }
    });

    UIHelper.centerAndShow(aboutDlg);
}

From source file:edu.ku.brc.specify.ui.db.NumberEditorPanel.java

License:Open Source License

/**
 * @param titleKey//from  ww  w.  j  a va2  s  .  c  om
 */
private void createUI(final String titleKey) {
    editTextArea = createTextArea(5, 40);
    moveBtn = createI18NButton("AFN_MOVE_UP");
    clearBtn = createI18NButton("AFN_CLEAR");

    editTextArea.setLineWrap(true);
    editTextArea.setWrapStyleWord(true);

    CellConstraints cc = new CellConstraints();
    PanelBuilder vpb = new PanelBuilder(new FormLayout("f:p:g", "f:p:g,p,f:p:g,p,f:p:g"));
    vpb.add(moveBtn, cc.xy(1, 2));
    vpb.add(clearBtn, cc.xy(1, 4));

    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,4px,p", "p,2px,f:p:g"), this);

    pb.addSeparator(getResourceString(titleKey), cc.xyw(1, 1, 3));
    pb.add(createScrollPane(editTextArea), cc.xy(1, 3));
    pb.add(vpb.getPanel(), cc.xy(3, 3));

    moveBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            moveNumbersUp();
        }
    });

    clearBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            editTextArea.setText("");
            isOK = true;
            changeListner.stateChanged(null);
        }
    });

    editTextArea.getDocument().addDocumentListener(new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            updateBtnUI(true);
        }
    });
}

From source file:edu.ku.brc.specify.ui.DBObjSearchPanel.java

License:Open Source License

/**
 * Constructs a search dialog from form infor and from search info.
 * @param viewSetName the viewset name//from  w ww  .  j  av  a 2  s. c  o  m
 * @param viewName the form name from the viewset
 * @param searchName the search name, this is looked up by name in the "search_config.xml" file
 * @param className the name of the class to be created from the selected results
 * @param idFieldName the name of the field in the clas that is the primary key which is filled in from the search table id
 * @throws HeadlessException an exception
 */
public DBObjSearchPanel(final String viewSetName, final String viewName, final String searchName,
        final String className, final String idFieldName, final int searchBtnPos) throws HeadlessException {
    //this((Window)parent, viewSetName, viewName, searchName, className, idFieldName);
    super(new BorderLayout());

    this.className = className;
    this.idFieldName = idFieldName;
    this.searchName = searchName;

    init();

    String rowDef;
    if (searchBtnPos == SwingConstants.TOP) {
        rowDef = "t:p";
    } else if (searchBtnPos == SwingConstants.BOTTOM) {
        rowDef = "b:p";
    } else {
        rowDef = "p";
    }
    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,1dlu,p", rowDef + ",2px,p,10px,p"));
    CellConstraints cc = new CellConstraints();

    formView = AppContextMgr.getInstance().getView(viewSetName, viewName);
    if (formView != null) {
        form = ViewFactory.createFormView(null, formView, null, dataMap, MultiView.NO_OPTIONS, null);

    } else {
        log.error("Couldn't load form with name [" + viewSetName + "] Id [" + viewName + "]");
    }

    if (form != null) {
        fieldIds = new ArrayList<String>();
        form.getFieldIds(fieldIds);
        for (String id : fieldIds) {
            Component comp = form.getCompById(id);
            if (comp instanceof JTextField) {
                ((JTextField) comp).addActionListener(doQuery);
            }
        }

        form.getFieldNames(fieldNames);

        createSearchBtn();

        pb.add(form.getUIComponent(), cc.xy(1, 1));

        pb.add(searchBtn, cc.xy(3, 1));

        if (!"collectionobjectsearch".equalsIgnoreCase(searchName)) {
            pb.add(UIHelper.createI18NLabel("DBObjSearchPanel.ASTERISK_HINT"), cc.xyw(1, 3, 3));
        }
        pb.addSeparator(UIRegistry.getResourceString("DBObjSearchPanel.RESULTS"), cc.xyw(1, 5, 3));
        add(pb.getPanel(), BorderLayout.NORTH);

        createUI();

    } else {
        log.error("ViewSet [" + viewSetName + "] View[" + viewName + "] could not be created.");
    }
}

From source file:edu.ku.brc.specify.ui.WorldWindSearchPanel.java

License:Open Source License

/**
 * Creates the UI./*from  w  ww.  java  2 s .c o  m*/
 */
protected void createUI() {
    CellConstraints cc = new CellConstraints();

    lineLayer = new RenderableLayer();

    upBtn = UIHelper.createIconBtn("Green Arrow Up", "", new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            moveItems(recSetList, botIdHash, dbObjList, topIdHash);
        }
    });

    dwnBtn = UIHelper.createIconBtn("Green Arrow Down", "", new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            moveItems(dbObjList, topIdHash, recSetList, botIdHash);

            boolean hasItems = recSetList.getModel().getSize() > 0;
            rsBtn.setEnabled(hasItems);
            fmBtn.setEnabled(hasItems);

        }
    });

    selectAllBtn = UIHelper.createI18NButton("SELECTALL");
    selectAllBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dbObjList.clearSelection();
            dbObjList.getSelectionModel().setSelectionInterval(0, dbObjList.getModel().getSize());
        }
    });
    deselectAllBtn = UIHelper.createI18NButton("DESELECTALL");
    deselectAllBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dbObjList.clearSelection();
        }
    });

    PanelBuilder upDwnPB = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g,p,10px,p,f:p:g,p,f:p:g", "p"));
    //upDwnPB.add(selectAllBtn,   cc.xy(2,1));
    upDwnPB.add(dwnBtn, cc.xy(4, 1));
    upDwnPB.add(upBtn, cc.xy(6, 1));
    //upDwnPB.add(deselectAllBtn, cc.xy(7,1));

    dbObjList = new JList(new DefaultListModel());
    dbObjList.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    //wpList.setCellRenderer(new WPListCellRenderer());
    dbObjList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            upBtn.setEnabled(false);
            dwnBtn.setEnabled(dbObjList.getSelectedIndex() != -1);
        }
    });

    recSetList = new JList(new DefaultListModel());
    recSetList.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    //trkList.setCellRenderer(new TrkListCellRenderer());
    recSetList.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            boolean isSel = recSetList.getSelectedIndex() != -1;
            dwnBtn.setEnabled(false);
            upBtn.setEnabled(isSel);
        }
    });

    rsBtn = UIHelper.createIconBtn("Record_Set", IconManager.IconSize.Std24, "", null);
    fmBtn = UIHelper.createIconBtn("FormEdit", IconManager.IconSize.Std24, "", null);
    PanelBuilder toolsBtnPB = new PanelBuilder(new FormLayout("f:p:g,2px,p,2px,p", "p"));
    toolsBtnPB.add(fmBtn, cc.xy(3, 1));
    toolsBtnPB.add(rsBtn, cc.xy(5, 1));

    PanelBuilder leftPB = new PanelBuilder(
            new FormLayout("min(p;250px),10px,f:p:g", "p,2px,f:p:g, 4px,p,4px, p,2px,f:p:g, 2px,p"));

    int y = 1;
    leftPB.add(topLbl = UIHelper.createLabel("Available Points"), cc.xy(1, y));
    y += 2; // I18N
    leftPB.add(UIHelper.createScrollPane(dbObjList, true), cc.xy(1, y));
    y += 2;

    leftPB.add(upDwnPB.getPanel(), cc.xy(1, y));
    y += 2;

    leftPB.add(UIHelper.createLabel("Selected Objects"), cc.xy(1, y));
    y += 2;
    leftPB.add(UIHelper.createScrollPane(recSetList, true), cc.xy(1, y));
    y += 2;

    leftPB.add(toolsBtnPB.getPanel(), cc.xy(1, y));
    y += 2;

    wwPanel = new WorldWindPanel();
    wwPanel.setPreferredSize(new Dimension(MAP_WIDTH, MAP_HEIGHT));
    wwPanel.getWorld().addSelectListener(new ClickAndGoSelectListener(wwPanel.getWorld(), MarkerLayer.class));
    wwPanel.getWorld().addSelectListener(getWWSelectListener());
    wwPanel.getWorld().getInputHandler().addMouseListener(getWWMouseAdapter());

    PanelBuilder rightPB = new PanelBuilder(new FormLayout("f:p:g", "f:p:g"));

    // ZZZ lineBuilder = new LineBuilder(wwPanel.getWorld(), lineLayer, polyline);
    rightPB.add(wwPanel, cc.xy(1, 1));
    y += 2;

    polyline.setAntiAliasHint(Polyline.ANTIALIAS_NICEST);
    polyline.setLineWidth(1.5);
    polyline.setFollowTerrain(true);

    startBtn = UIHelper.createI18NButton("Start");
    endBtn = UIHelper.createI18NButton("End");
    searchBtn = UIHelper.createI18NButton("SEARCH");
    clearBtn = UIHelper.createI18NButton("Clear");

    typeCBX = UIHelper.createComboBox(TABLE_INFO);

    PanelBuilder btnPB = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g,p,f:p:g,p,f:p:g,p,f:p:g,p,f:p:g", "p"));
    btnPB.add(typeCBX, cc.xy(2, 1));
    btnPB.add(startBtn, cc.xy(4, 1));
    btnPB.add(endBtn, cc.xy(6, 1));
    btnPB.add(searchBtn, cc.xy(8, 1));
    btnPB.add(clearBtn, cc.xy(10, 1));

    PanelBuilder pb = new PanelBuilder(new FormLayout("p,10px,f:p:g", "f:p:g, 4px, p"), this);

    pb.add(leftPB.getPanel(), cc.xy(1, 1));
    pb.add(rightPB.getPanel(), cc.xy(3, 1));
    pb.add(btnPB.getPanel(), cc.xyw(1, 3, 3));
    pb.setDefaultDialogBorder();

    startBtn.setEnabled(true);
    endBtn.setEnabled(false);
    searchBtn.setEnabled(false);
    clearBtn.setEnabled(false);

    rsBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            RecordSetIFace rs = createRecordSet();
            if (rs != null) {
                CommandDispatcher.dispatch(new CommandAction(RecordSetTask.RECORD_SET, "Save", null, null, rs));
            }
        }
    });

    fmBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            RecordSetIFace rs = createRecordSet();
            if (rs != null) {
                CommandDispatcher
                        .dispatch(new CommandAction(DataEntryTask.DATA_ENTRY, DataEntryTask.EDIT_DATA, rs));
            }
        }
    });

    searchBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doSearch();
        }
    });

    startBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            polygonWWPoints.clear();
            isCreatingPolygon = true;
            searchBtn.setEnabled(false);
            endBtn.setEnabled(true);
            startBtn.setEnabled(false);
            // ZZZ lineBuilder.setArmed(true);
        }
    });

    endBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            polyline.setClosed(true);
            isCreatingPolygon = false;
            searchBtn.setEnabled(true);
            endBtn.setEnabled(false);
            startBtn.setEnabled(false);
            searchBtn.setEnabled(true);
            clearBtn.setEnabled(true);

            //polygonWWPoints.add(polygonWWPoints.get(0));
            //createPolyline();

            // ZZZ lineBuilder.setArmed(false);

        }
    });

    clearBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doClear(true);
        }
    });

    typeCBX.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            doPickedNewObjType();
        }
    });

    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            typeCBX.setSelectedIndex(0);
        }
    });
}

From source file:edu.ku.brc.specify.utilapps.SetUpBuildDlg.java

License:Open Source License

public void createUI() {
    super.createUI();

    Specify.setUpSystemProperties();//from w w  w .j a  va  2  s.c  o m
    UIFieldFormatterMgr.setDoingLocal(true);

    driverList = DatabaseDriverInfo.getDriversList();
    int inx = Collections.binarySearch(driverList,
            new DatabaseDriverInfo(dbDriverName, null, null, false, null));

    drivers = createComboBox(driverList);
    drivers.setSelectedIndex(inx);

    catNumFmtList = (Vector<UIFieldFormatterIFace>) UIFieldFormatterMgr.getInstance()
            .getFormatterList(CollectionObject.class, "catalogNumber");
    Collections.sort(catNumFmtList, new Comparator<UIFieldFormatterIFace>() {
        @Override
        public int compare(UIFieldFormatterIFace o1, UIFieldFormatterIFace o2) {
            return o1.getTitle().compareTo(o2.getTitle());
        }
    });
    for (UIFieldFormatterIFace fmt : catNumFmtList) {
        catNumFmtHash.put(fmt.getName(), fmt);
    }

    accNumFmtList = (Vector<UIFieldFormatterIFace>) UIFieldFormatterMgr.getInstance()
            .getFormatterList(Accession.class, "accessionNumber");
    Collections.sort(accNumFmtList, new Comparator<UIFieldFormatterIFace>() {
        @Override
        public int compare(UIFieldFormatterIFace o1, UIFieldFormatterIFace o2) {
            return o1.getTitle().compareTo(o2.getTitle());
        }
    });
    for (UIFieldFormatterIFace fmt : accNumFmtList) {
        accNumFmtHash.put(fmt.getName(), fmt);
    }

    catNumGrpList = new Vector<String>();
    catNumGrpList.add("None");
    catNumGrpList.add("Cat Global");
    catNumGrpList.add("Cat Test Group #1");
    catNumGrpList.add("Cat Test Group #2");
    for (DisciplineType d : DisciplineType.getDisciplineList()) {
        catNumGrpList.add("Cat " + d.getTitle() + " Group");
    }

    accNumGrpList = new Vector<String>();
    accNumGrpList.add("None");
    accNumGrpList.add("Acc Global");
    accNumGrpList.add("Acc Test Group #1");
    accNumGrpList.add("Acc Test Group #2");
    for (DisciplineType d : DisciplineType.getDisciplineList()) {
        accNumGrpList.add("Acc " + d.getTitle() + " Group");
    }

    databaseNameTxt = addAutoSelect(createTextField(databaseName, 15));
    dbUsernameTxtFld = addAutoSelect(createTextField(dbUser.first, 15));
    dbPasswdTxtFld = addAutoSelect(createPasswordField(dbUser.second, 15));

    saUsernameTxtFld = addAutoSelect(createTextField(saUser.first, 15));
    saPasswdTxtFld = addAutoSelect(createPasswordField(saUser.second, 15));

    usrUsernameTxtFld = addAutoSelect(createTextField(cmUser.first, 15));
    usrPasswdTxtFld = addAutoSelect(createPasswordField(cmUser.second, 15));

    extraCollectionsChk = createCheckBox("Create Extra Collections");
    extraCollectionsChk.setSelected(true);

    PanelBuilder builder = new PanelBuilder(new FormLayout("p,2px,p,10px,p,2px,p,10px,p,2px,p,p:g",
            UIHelper.createDuplicateJGoodiesDef("P", "2px", 9) + ",f:p:g,4px,p"));
    CellConstraints cc = new CellConstraints();
    int y = 1;
    builder.addSeparator("Username and Passwords", cc.xyw(1, y, 12));
    y += 2;
    builder.add(createLabel("IT Username:", SwingConstants.RIGHT), cc.xy(1, y));
    builder.add(dbUsernameTxtFld, cc.xy(3, y));
    builder.add(createLabel("Master Username:", SwingConstants.RIGHT), cc.xy(5, y));
    builder.add(saUsernameTxtFld, cc.xy(7, y));
    builder.add(createLabel("User Username:", SwingConstants.RIGHT), cc.xy(9, y));
    builder.add(usrUsernameTxtFld, cc.xy(11, y));
    y += 2;

    builder.add(createLabel("IT Password:", SwingConstants.RIGHT), cc.xy(1, y));
    builder.add(dbPasswdTxtFld, cc.xy(3, y));
    builder.add(createLabel("Master Password:", SwingConstants.RIGHT), cc.xy(5, y));
    builder.add(saPasswdTxtFld, cc.xy(7, y));
    builder.add(createLabel("User Password:", SwingConstants.RIGHT), cc.xy(9, y));
    builder.add(usrPasswdTxtFld, cc.xy(11, y));
    y += 2;

    builder.addSeparator("Database Info", cc.xyw(1, y, 12));
    y += 2;
    builder.add(createLabel("Database Name:", SwingConstants.RIGHT), cc.xy(1, y));
    builder.add(databaseNameTxt, cc.xy(3, y));
    y += 2;
    builder.add(createLabel("Driver:", SwingConstants.RIGHT), cc.xy(1, y));
    builder.add(drivers, cc.xy(3, y));
    y += 2;
    builder.addSeparator("Collection Options", cc.xyw(1, y, 12));
    y += 2;

    collChoiceList = loadPersistedChoices();

    fillChoicesWithDefaults();

    choiceTable = new JTable(new DisciplineSetupModel());
    choiceTable.setRowHeight((new JComboBox()).getPreferredSize().height);

    TableColumn col = choiceTable.getColumnModel().getColumn(2);
    col.setCellEditor(new MyComboBoxEditor(catNumFmtList, catNumFmtHash));
    col.setCellRenderer(new MyLabelRenderer(catNumFmtHash));

    col = choiceTable.getColumnModel().getColumn(3);
    col.setCellEditor(new MyComboBoxStringEditor(catNumGrpList));

    col = choiceTable.getColumnModel().getColumn(4);
    col.setCellEditor(new MyComboBoxEditor(accNumFmtList, accNumFmtHash));

    col = choiceTable.getColumnModel().getColumn(5);
    col.setCellEditor(new MyComboBoxStringEditor(accNumGrpList));
    //col.setCellRenderer(new MyComboBoxRenderer(catNumFmtList));

    UIHelper.makeTableHeadersCentered(choiceTable, false);
    calcColumnWidths(choiceTable);
    builder.add(UIHelper.createScrollPane(choiceTable), cc.xywh(1, y, 12, 1));
    y += 2;

    final JButton catGblBtn = createButton("Global Cat Nums");
    final JButton accGblBtn = createButton("Global Acc Nums");
    final JButton selectAllBtn = createButton("Select All");
    final JButton deSelectAll = createButton("Deselect All");
    final JButton defBtn = createButton("Revert");

    PanelBuilder btnBar = new PanelBuilder(
            new FormLayout("f:p:g," + UIHelper.createDuplicateJGoodiesDef("p", "4px", 5), "p"));
    btnBar.add(catGblBtn, cc.xy(2, 1));
    btnBar.add(accGblBtn, cc.xy(4, 1));
    btnBar.add(selectAllBtn, cc.xy(6, 1));
    btnBar.add(deSelectAll, cc.xy(8, 1));
    btnBar.add(defBtn, cc.xy(10, 1));
    builder.add(btnBar.getPanel(), cc.xywh(1, y, 12, 1));
    y += 2;

    catGblBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            setCatNumGroup("Cat Group");
        }
    });

    accGblBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            setAccNumGroup("Acc Group");
        }
    });

    selectAllBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            selectAll(true);
        }
    });

    deSelectAll.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            selectAll(false);
        }
    });

    cancelBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            closeDlg(true);
        }
    });

    okBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            saveChoices(collChoiceList);

            closeDlg(false);
        }
    });

    defBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            resetDefaults(collChoiceList);
        }
    });

    // make sure closing the window does the same thing as clicking cancel
    this.addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosed(WindowEvent e) {
            cancelBtn.doClick();
        }
    });

    builder.setDefaultDialogBorder();

    contentPanel = builder.getPanel();
    mainPanel.add(contentPanel, BorderLayout.CENTER);

    pack();
    Dimension size = getSize();
    size.width = Math.max(size.width, 900);

    setSize(size);
}