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

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

Introduction

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

Prototype

public CellConstraints xywh(int col, int row, int colSpan, int rowSpan) 

Source Link

Document

Sets the column, row, width, and height; uses default alignments.

Examples:

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

Usage

From source file:edu.ku.brc.af.tasks.subpane.ViewViewSetEditorPanel.java

License:Open Source License

/**
 * //from  w w w.  jav  a  2s  .co  m
 */
public ViewViewSetEditorPanel(final ViewSetIFace viewSet) {
    this.viewSet = viewSet;

    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g,max(200;p),10px,p,f:p:g", //$NON-NLS-1$
            "p,2px,p,2px,p,2px,p,2px,p,2px,p,10px, p,5px,p,2px,p,2px,p,p:g"), this); //$NON-NLS-1$
    CellConstraints cc = new CellConstraints();

    viewsFormView = AppContextMgr.getInstance().getView("SystemSetup", "ViewProps"); //$NON-NLS-1$ //$NON-NLS-2$

    viewsMultiView = new MultiView(null, null, viewsFormView, AltViewIFace.CreationMode.EDIT,
            MultiView.IS_EDITTING, null);

    altViewsFormView = AppContextMgr.getInstance().getView("SystemSetup", "AltViewProps"); //$NON-NLS-1$ //$NON-NLS-2$

    altViewsMultiView = new MultiView(null, null, altViewsFormView, AltViewIFace.CreationMode.EDIT,
            MultiView.IS_EDITTING, null);

    viewDefFormView = AppContextMgr.getInstance().getView("SystemSetup", "ViewDefProps"); //$NON-NLS-1$ //$NON-NLS-2$

    viewDefMultiView = new MultiView(null, null, viewDefFormView, AltViewIFace.CreationMode.EDIT,
            MultiView.IS_EDITTING, null);

    cardPanel = new JPanel(cardLayout);
    cardPanel.add("View", viewsMultiView); //$NON-NLS-1$
    cardPanel.add("AltView", altViewsMultiView); //$NON-NLS-1$

    //setLayout(new BorderLayout());
    setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 10));

    views = new Vector<ViewIFace>(viewSet.getViews().values());
    Collections.sort(views);

    viewDefs = new Vector<ViewDefIFace>(viewSet.getViewDefs().values());
    Collections.sort(views);

    viewList = new JList(views);
    altViewList = new JList(altViewModel);
    viewDefList = new JList(viewDefs);

    altViewList.setVisibleRowCount(4);

    JPanel viewBtnBar = createViewListBtnBar();
    JPanel altViewBtnBar = createAltViewListBtnBar();
    JPanel viewDefBtnBar = createAltViewListBtnBar();

    JScrollPane vsp = createScrollPane(viewList);
    JScrollPane asp = createScrollPane(altViewList);
    JScrollPane vdsp = createScrollPane(viewDefList);

    pb.add(createLabel("Views"), cc.xy(2, 1));
    pb.add(vsp, cc.xy(2, 3));
    pb.add(viewBtnBar, cc.xy(2, 5));

    pb.add(createLabel("Alt Views"), cc.xy(2, 7));
    pb.add(asp, cc.xy(2, 9));
    pb.add(altViewBtnBar, cc.xy(2, 11));

    pb.add(cardPanel, cc.xywh(4, 1, 1, 11));

    pb.addSeparator("", cc.xywh(1, 13, 5, 1)); //$NON-NLS-1$

    pb.add(createLabel("View Defs"), cc.xy(2, 15)); //$NON-NLS-1$
    pb.add(vdsp, cc.xy(2, 17));
    pb.add(viewDefBtnBar, cc.xy(2, 19));

    pb.add(viewDefMultiView, cc.xywh(4, 15, 1, 6));

    // Hooking upListeners
    viewList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                viewSelected();
            }
        }
    });

    altViewList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                altViewSelected();
            }
        }
    });
    viewDefList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                viewDefSelected();
            }
        }
    });
}

From source file:edu.ku.brc.af.ui.db.DatabaseLoginPanel.java

License:Open Source License

/**
 * Creates the UI for the login and hooks up any listeners.
 * @param isDlg  whether the parent is a dialog (false mean JFrame)
 * @param iconName the icon that will be shown in the panel
 * @param engageUPPrefs whether it should load and save the username password into the prefs
 * @param helpContext the help context to use.
 *///from   ww w .j  av a  2s  .  c o  m
protected void createUI(final boolean isDlg, final String iconName, final String helpContext) {
    final boolean isNotEmbedded = !DBConnection.getInstance().isEmbedded() && !UIRegistry.isMobile();
    final AppPreferences localPrefs = AppPreferences.getLocalPrefs();

    //Font cachedFont = UIManager.getFont("JLabel.font");
    SkinItem skinItem = SkinsMgr.getSkinItem("LoginPanel");
    if (skinItem != null) {
        skinItem.pushFG("Label.foreground");
    }

    if (isNotEmbedded) {
        SpinnerModel portModel = new SpinnerNumberModel(3306, //initial value
                0, //min
                Integer.MAX_VALUE, //max
                1); //step
        portSpinner = new JSpinner(portModel);
        JSpinner.NumberEditor editor = new JSpinner.NumberEditor(portSpinner, "#");
        portSpinner.setEditor(editor);

        portSpinner.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                DatabaseDriverInfo drvInfo = dbDrivers.get(dbDriverCBX.getSelectedIndex());
                if (drvInfo != null && isNotEmbedded && portSpinner != null) {
                    drvInfo.setPort((Integer) portSpinner.getValue());
                }
            }
        });
        setControlSize(portSpinner);
    }

    // First create the controls and hook up listeners
    dbPickList = new PropertiesPickListAdapter("login.databases"); //$NON-NLS-1$
    svPickList = new PropertiesPickListAdapter("login.servers"); //$NON-NLS-1$

    username = createTextField(15);
    password = createPasswordField(15);

    FocusAdapter focusAdp = new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            super.focusGained(e);

            JTextField tf = (JTextField) e.getSource();
            tf.selectAll();
        }
    };
    username.addFocusListener(focusAdp);
    password.addFocusListener(focusAdp);

    databases = new ValComboBox(dbPickList);
    if (databases.getComboBox() instanceof Java2sAutoComboBox) {
        ((Java2sAutoComboBox) databases.getComboBox()).setCaseSensitive(true);
    }
    servers = new ValComboBox(svPickList);

    dbPickList.setComboBox(databases);
    svPickList.setComboBox(servers);

    setControlSize(password);
    setControlSize(databases);
    setControlSize(servers);

    if (masterUsrPwdProvider != null) {
        editKeyInfoBtn = UIHelper.createI18NButton("CONFIG_MSTR_KEY");
        editKeyInfoBtn.setIcon(IconManager.getIcon("Key", IconManager.IconSize.Std20));
        editKeyInfoBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (masterUsrPwdProvider != null && databases != null) {
                    String itemName = null;
                    if (databases.getComboBox().getSelectedItem() instanceof String) {
                        itemName = (String) databases.getComboBox().getSelectedItem();
                    } else {
                        PickListItemIFace pli = (PickListItemIFace) databases.getComboBox().getSelectedItem();
                        if (pli != null && pli.getValue() != null) {
                            itemName = pli.getValue();
                        }
                    }

                    if (itemName != null) {
                        masterUsrPwdProvider.editMasterInfo(username.getText(), itemName, false);
                    }
                }
            }
        });
    }

    rememberUsernameCBX = createCheckBox(getResourceString("rememberuser")); //$NON-NLS-1$
    rememberUsernameCBX.setEnabled(engageUPPrefs);

    statusBar = new JStatusBar();
    statusBar.setErrorIcon(IconManager.getIcon("Error", IconManager.IconSize.Std16)); //$NON-NLS-1$

    cancelBtn = createButton(getResourceString("CANCEL")); //$NON-NLS-1$
    loginBtn = createButton(getResourceString("Login")); //$NON-NLS-1$
    helpBtn = createButton(getResourceString("HELP")); //$NON-NLS-1$

    forwardImgIcon = IconManager.getIcon("Forward"); //$NON-NLS-1$
    downImgIcon = IconManager.getIcon("Down"); //$NON-NLS-1$
    moreBtn = new JCheckBox(getResourceString("LOGIN_DLG_MORE"), forwardImgIcon); // XXX I18N //$NON-NLS-1$
    setControlSize(moreBtn);

    // Extra
    dbDrivers = DatabaseDriverInfo.getDriversList();
    dbDriverCBX = createComboBox(dbDrivers);

    dbDriverCBX.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            updateUIControls();

            DatabaseDriverInfo drvInfo = dbDrivers.get(dbDriverCBX.getSelectedIndex());
            if (drvInfo != null && isNotEmbedded && portSpinner != null) {
                Integer defPort = drvInfo.getPortAsInt();
                int portFromPref = localPrefs.getInt(LOGIN_PORT, defPort);

                portSpinner.setValue(portFromPref);
                drvInfo.setPort(portFromPref);
            }
        }
    });

    if (dbDrivers.size() > 0) {
        if (dbDrivers.size() == 1) {
            dbDriverCBX.setSelectedIndex(0);
            dbDriverCBX.setEnabled(false);

        } else {
            String selectedStr = localPrefs.get("login.dbdriver_selected", "MySQL"); //$NON-NLS-1$ //$NON-NLS-2$
            int inx = Collections.binarySearch(dbDrivers,
                    new DatabaseDriverInfo(selectedStr, null, null, false, null));
            dbDriverCBX.setSelectedIndex(inx > -1 ? inx : -1);
        }

    } else {
        JOptionPane.showConfirmDialog(null, getResourceString("NO_DBDRIVERS"), //$NON-NLS-1$
                getResourceString("NO_DBDRIVERS_TITLE"), JOptionPane.CLOSED_OPTION); //$NON-NLS-1$
        System.exit(1);
    }

    addFocusListenerForTextComp(username);
    addFocusListenerForTextComp(password);

    addKeyListenerFor(username, !isDlg);
    addKeyListenerFor(password, !isDlg);

    addKeyListenerFor(databases.getTextField(), !isDlg);
    addKeyListenerFor(servers.getTextField(), !isDlg);

    if (!isDlg) {
        addKeyListenerFor(loginBtn, true);
    }

    rememberUsernameCBX.setSelected(engageUPPrefs ? localPrefs.getBoolean("login.rememberuser", false) : false); //$NON-NLS-1$

    cancelBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (dbListener != null) {
                dbListener.cancelled();
            }
        }
    });

    loginBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            doLogin();
        }
    });

    HelpMgr.registerComponent(helpBtn, helpContext); //$NON-NLS-1$

    moreBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (extraPanel.isVisible()) {
                if (dbDriverCBX.getSelectedIndex() != -1) {
                    extraPanel.setVisible(false);
                    moreBtn.setIcon(forwardImgIcon);
                }

            } else {
                extraPanel.setVisible(true);
                moreBtn.setIcon(downImgIcon);
            }
            if (window != null) {
                window.pack();
            }
        }
    });

    // Ask the PropertiesPickListAdapter to set the index from the prefs
    dbPickList.setSelectedIndex();
    svPickList.setSelectedIndex();

    servers.getTextField().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            updateUIControls();
        }
    });

    databases.getTextField().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            updateUIControls();
        }
    });

    databases.getTextField().addFocusListener(new FocusAdapter() {
        String server = null;

        private String getServerStr() {
            String serverStr = null;
            Object serverObj = servers.getValue();
            if (serverObj != null) {
                serverStr = serverObj.toString();
            }
            return serverStr;
        }

        @Override
        public void focusGained(FocusEvent e) {
            server = getServerStr();
        }

        @Override
        public void focusLost(FocusEvent e) {
            if (server != null) {
                String newVal = getServerStr();
                if (newVal != null && !newVal.equals(server)) {
                    setUsrPwdControlsFromPrefs();
                }
            }
        }
    });

    setUsrPwdControlsFromPrefs();

    // Layout the form

    PanelBuilder formBuilder = new PanelBuilder(new FormLayout("p,3dlu,p:g", "p,2dlu,p,2dlu,p,2dlu,p,2dlu,p")); //$NON-NLS-1$ //$NON-NLS-2$
    CellConstraints cc = new CellConstraints();
    formBuilder.addSeparator(getResourceString("LOGINLABEL"), cc.xywh(1, 1, 3, 1)); //$NON-NLS-1$

    addLine("username", username, formBuilder, cc, 3); //$NON-NLS-1$
    addLine("password", password, formBuilder, cc, 5); //$NON-NLS-1$
    formBuilder.add(moreBtn, cc.xy(3, 7));

    PanelBuilder extraPanelBlder = new PanelBuilder(new FormLayout("p,3dlu,p:g", //$NON-NLS-1$ 
            UIHelper.createDuplicateJGoodiesDef("p", "2dlu", isNotEmbedded ? 9 : 11))); //$NON-NLS-1$ //$NON-NLS-2$

    extraPanel = extraPanelBlder.getPanel();
    extraPanel.setBorder(BorderFactory.createEmptyBorder(2, 2, 4, 2));

    //extraPanelBlder.addSeparator("", cc.xywh(1, 1, 3, 1)); //$NON-NLS-1$
    int y = 1;
    y = addLine(null, rememberUsernameCBX, extraPanelBlder, cc, y);
    y = addLine("databases", databases, extraPanelBlder, cc, y); //$NON-NLS-1$
    y = addLine("servers", servers, extraPanelBlder, cc, y); //$NON-NLS-1$

    y = addLine("driver", dbDriverCBX, extraPanelBlder, cc, y); //$NON-NLS-1$
    if (isNotEmbedded) {
        y = addLine("port", portSpinner, extraPanelBlder, cc, y); //$NON-NLS-1$
    }
    if (editKeyInfoBtn != null) {
        PanelBuilder pb = new PanelBuilder(new FormLayout("p,f:p:g", "p"));
        pb.add(editKeyInfoBtn, cc.xy(1, 1));
        y = addLine(null, pb.getPanel(), extraPanelBlder, cc, y);
        pb.getPanel().setOpaque(false);
    }
    extraPanel.setVisible(false);

    formBuilder.add(extraPanelBlder.getPanel(), cc.xywh(3, 9, 1, 1));

    PanelBuilder outerPanel = new PanelBuilder(new FormLayout("p,3dlu,p:g", "t:p,2dlu,p,2dlu,p"), this); //$NON-NLS-1$ //$NON-NLS-2$
    JLabel icon = StringUtils.isNotEmpty(iconName) ? new JLabel(IconManager.getIcon(iconName)) : null;

    if (icon != null) {
        icon.setBorder(BorderFactory.createEmptyBorder(10, 10, 2, 2));
    }

    formBuilder.getPanel().setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 5));

    if (icon != null) {
        outerPanel.add(icon, cc.xy(1, 1));
    }
    JPanel btnPanel = ButtonBarFactory.buildOKCancelHelpBar(loginBtn, cancelBtn, helpBtn);
    outerPanel.add(formBuilder.getPanel(), cc.xy(3, 1));
    outerPanel.add(btnPanel, cc.xywh(1, 3, 3, 1));
    outerPanel.add(statusBar, cc.xywh(1, 5, 3, 1));

    formBuilder.getPanel().setOpaque(false);
    outerPanel.getPanel().setOpaque(false);
    btnPanel.setOpaque(false);

    updateUIControls();

    if (skinItem != null) {
        skinItem.popFG("Label.foreground");
    }

    if (AppPreferences.getLocalPrefs().getBoolean(expandExtraPanelName, false)) {
        extraPanel.setVisible(true);
        moreBtn.setIcon(downImgIcon);
    }
}

From source file:edu.ku.brc.af.ui.forms.formatters.UIFormatterEditorDlg.java

License:Open Source License

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

    CellConstraints cc = new CellConstraints();

    orderUpBtn = createIconBtn("ReorderUp", "TCGD_MOVE_UP", new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            int inx = fieldsTbl.getSelectedRow();
            UIFieldFormatterField item = (UIFieldFormatterField) fields.get(inx);

            fields.remove(inx);/*from   w  w  w .  j  a  va  2  s.c o m*/
            fields.insertElementAt(item, inx - 1);
            fieldsTbl.getSelectionModel().setSelectionInterval(inx - 1, inx - 1);
            selectedFormat.resetLength();

            updateEnabledState();
            updateUIEnabled();
        }
    });
    orderDwnBtn = createIconBtn("ReorderDown", "TCGD_MOVE_DOWN", new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            int inx = fieldsTbl.getSelectedRow();
            UIFieldFormatterField item = (UIFieldFormatterField) fields.get(inx);

            fields.remove(inx);
            fields.insertElementAt(item, inx + 1);
            fieldsTbl.getSelectionModel().setSelectionInterval(inx + 1, inx + 1);
            selectedFormat.resetLength();

            updateEnabledState();
            updateUIEnabled();
        }
    });

    // get formatters for field
    List<UIFieldFormatterIFace> fmtrs = new Vector<UIFieldFormatterIFace>(uiFieldFormatterMgrCache
            .getFormatterList(fieldInfo.getTableInfo().getClassObj(), fieldInfo.getName()));
    Collections.sort(fmtrs, new Comparator<UIFieldFormatterIFace>() {
        public int compare(UIFieldFormatterIFace o1, UIFieldFormatterIFace o2) {
            return o1.toPattern().compareTo(o2.toPattern());
        }
    });

    // table and field titles
    PanelBuilder tblInfoPB = new PanelBuilder(
            new FormLayout("r:p,2px,f:p:g", "p,2px,p,2px,p,10px")/*, new FormDebugPanel()*/);

    String typeStr = fieldInfo.getType();
    typeStr = typeStr.indexOf('.') > -1 ? StringUtils.substringAfterLast(fieldInfo.getType(), ".") : typeStr;

    JLabel tableTitleLbl = createI18NFormLabel("FFE_TABLE");
    JLabel tableTitleValueLbl = createLabel(fieldInfo.getTableInfo().getTitle());
    tableTitleValueLbl.setBackground(Color.WHITE);
    tableTitleValueLbl.setOpaque(true);

    JLabel fieldTitleLbl = createI18NFormLabel("FFE_FIELD");
    JLabel fieldTitleValueLbl = createLabel(fieldInfo.getTitle());
    fieldTitleValueLbl.setBackground(Color.WHITE);
    fieldTitleValueLbl.setOpaque(true);

    JLabel fieldLengthLbl = createI18NFormLabel("FFE_LENGTH");
    JLabel fieldLengthValueLbl = createLabel(Integer.toString(fieldInfo.getLength()));
    fieldLengthValueLbl.setBackground(Color.WHITE);
    fieldLengthValueLbl.setOpaque(true);

    int y = 1;
    tblInfoPB.add(tableTitleLbl, cc.xy(1, y));
    tblInfoPB.add(tableTitleValueLbl, cc.xy(3, y));
    y += 2;
    tblInfoPB.add(fieldTitleLbl, cc.xy(1, y));
    tblInfoPB.add(fieldTitleValueLbl, cc.xy(3, y));
    y += 2;
    tblInfoPB.add(fieldLengthLbl, cc.xy(1, y));
    tblInfoPB.add(fieldLengthValueLbl, cc.xy(3, y));
    y += 2;

    // sample panel
    sampleLabel = createLabel("", SwingConstants.LEFT);
    JPanel samplePanel = new JPanel();
    samplePanel.setBorder(BorderFactory.createTitledBorder(getResourceString("FFE_SAMPLE"))); //$NON-NLS-1$ 
    samplePanel.add(sampleLabel);

    // name text field
    nameTF = createTextField(20);

    // title text field
    titleTF = createTextField(20);

    byYearCB = createCheckBox(getResourceString("FFE_BY_YEAR_CHECKBOX")); //$NON-NLS-1$ 
    hookByYearCheckBoxListener();

    fieldsPanel = new EditDeleteAddPanel(getSaveAL(), getDelAL(), getAddAL());
    fieldsTbl = new JTable(fieldsModel = new FieldsTableModel());
    fieldTypeCbx = new JComboBox(FieldType.values()); // I18N
    fieldTxt = createTextField(20);
    fieldsPanel.getAddBtn().setEnabled(true);
    fieldsPanel.getEditBtn().setIcon(IconManager.getIcon("Green Arrow Up", IconManager.IconSize.Std16));
    UIHelper.makeTableHeadersCentered(fieldsTbl, true);

    fieldTxt.setDocument(new FieldDocument());

    fieldsTbl.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    int width = fieldTypeCbx.getPreferredSize().width;

    y = 1;
    PanelBuilder subPB = new PanelBuilder(new FormLayout("r:p,2px,p", "p,4px, p,4px, p,4px, p,4px"));

    subPB.add(createI18NFormLabel("FFE_NAME"), cc.xy(1, y));
    subPB.add(nameTF, cc.xy(3, y));
    y += 2;

    subPB.add(createI18NFormLabel("FFE_TITLE"), cc.xy(1, y));
    subPB.add(titleTF, cc.xy(3, y));
    y += 2;

    subPB.add(byYearCB, cc.xy(3, y));
    y += 2;

    // CardLayout for Editor Panels

    SpinnerModel retModel = new SpinnerNumberModel(1, //initial value
            1, //min
            fieldInfo.getLength(), //max
            1); //step
    sizeSpinner = new JSpinner(retModel);
    isIncChk = new JCheckBox("Is Incrementer"); // I18N

    String colDefs = "f:p:g,p,2px," + width + "px,2px,p";

    closeBtn = createClose(0);
    PanelBuilder numPB = new PanelBuilder(new FormLayout(colDefs, "p,2px,p,2px,p"));
    numPB.add(createI18NFormLabel("FFE_LENGTH"), cc.xy(2, 1));
    numPB.add(sizeSpinner, cc.xy(4, 1));
    //numPB.add(closeBtn,    cc.xy(6, 1));
    numPB.add(isIncChk, cc.xy(4, 3));

    sepCbx = new JComboBox(new String[] { "-", ".", "/", "(space)", "_" });
    closeBtn = createClose(1);
    PanelBuilder sepPB = new PanelBuilder(new FormLayout(colDefs, "p,2px,p"));
    sepPB.add(createI18NFormLabel("FFE_SEP"), cc.xy(2, 1));
    sepPB.add(sepCbx, cc.xy(4, 1));
    //sepPB.add(closeBtn, cc.xy(6, 1));

    closeBtn = createClose(2);
    PanelBuilder txtPB = new PanelBuilder(new FormLayout(colDefs, "p,2px,p"));
    txtPB.add(createI18NFormLabel("FFE_TEXT"), cc.xy(2, 1));
    txtPB.add(fieldTxt, cc.xy(4, 1));

    cardPanel = new JPanel(cardLayout);
    cardPanel.add("size", numPB.getPanel());
    cardPanel.add("text", txtPB.getPanel());
    cardPanel.add("sep", sepPB.getPanel());
    cardPanel.add("none", new JLabel(" "));

    y = 1;
    PanelBuilder leftPB = new PanelBuilder(new FormLayout("f:p:g", "t:p,10px,p,f:p:g"));
    leftPB.add(tblInfoPB.getPanel(), cc.xy(1, y));
    y += 2;
    leftPB.add(subPB.getPanel(), cc.xy(1, y));
    y += 2;

    PanelBuilder upDownPanel = new PanelBuilder(new FormLayout("p", "f:p:g, p, 2px, p, f:p:g"));
    upDownPanel.add(orderUpBtn, cc.xy(1, 2));
    upDownPanel.add(orderDwnBtn, cc.xy(1, 4));

    totLenLbl = createLabel("XXXXX");

    y = 1;
    PanelBuilder rightPB = new PanelBuilder(new FormLayout("p:g,2px,p,2px,p", "200px,2px,p,2px,p,2px,p"));
    rightPB.add(createScrollPane(fieldsTbl), cc.xywh(1, y, 3, 1));
    rightPB.add(upDownPanel.getPanel(), cc.xywh(5, y, 1, 1));
    y += 2;
    rightPB.add(totLenLbl, cc.xy(1, y));
    rightPB.add(fieldsPanel, cc.xywh(3, y, 1, 1));
    y += 2;
    rightPB.add(fieldTypeLbl = createI18NFormLabel("FFE_TYPE"), cc.xy(1, y));
    rightPB.add(fieldTypeCbx, cc.xy(3, y));
    rightPB.add(closeBtn, cc.xy(5, y));
    y += 2;
    rightPB.add(cardPanel, cc.xyw(1, y, 3));
    y += 2;

    y = 1;
    PanelBuilder pb = new PanelBuilder(new FormLayout("p:g,10px,p,10px,p:g,10px,p", "f:p:g,10px,p"));
    Color bg = getBackground();
    pb.add(new VerticalSeparator(bg.darker(), bg.brighter()), cc.xywh(3, 1, 1, 1));

    pb.add(leftPB.getPanel(), cc.xy(1, y));
    pb.add(rightPB.getPanel(), cc.xy(5, y));
    //pb.add(keyPanel,             cc.xy(7, y));     
    y += 2;
    pb.add(samplePanel, cc.xyw(1, y, 7));
    y += 2;

    setByYearSelected(selectedFormat);

    nameTF.setEditable(isNew);
    nameTF.setText(selectedFormat.getName());
    titleTF.setText(selectedFormat.getTitle());
    updateSample();

    hookTextChangeListener(nameTF, "FFE_NO_NAME", 32);
    hookTextChangeListener(titleTF, "FFE_NO_TITLE", 32);

    pb.setDefaultDialogBorder();

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

    updateUIEnabled();

    pack();

    enabledEditorUI(false);

    hookFieldsTblSelectionListener();

    fieldTypeCbx.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            typeChanged();
        }
    });

    sepCbx.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            fieldHasChanged = true;
            updateEnabledState();
            hasChanged = true;
            updateUIEnabled();
        }
    });

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

    sizeSpinner.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
            fieldHasChanged = true;
            updateEnabledState();
            hasChanged = true;
            updateUIEnabled();

        }
    });

    isIncChk.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            fieldHasChanged = true;
            if (!isIncChk.isSelected()) {
                byYearCB.setSelected(false);
            }
            updateEntry();
            updateUIEnabled();
            updateEnabledState();
            fieldsTbl.repaint();
        }
    });

    fieldTypeCbx.setSelectedIndex(-1);
    fieldHasChanged = false;
    updateEnabledState();
}

From source file:edu.ku.brc.services.biogeomancer.BioGeomancerResultsDisplay.java

License:Open Source License

/**
 * Constructor.  Creates all of the internal UI contents.
 *//*ww  w.  j  a va2  s.co m*/
public BioGeomancerResultsDisplay() {
    String rowDef = UIHelper.createDuplicateJGoodiesDef("p", "2px", 13) + ",20px,p:g"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    setLayout(new FormLayout("p,10px,400px,10px,C:p:g", rowDef)); //$NON-NLS-1$

    CellConstraints cc = new CellConstraints();

    int rowIndex = 1;
    idField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.ID"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    countryField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.COUNTRY"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    adm1Field = addRow(cc, getResourceString("BioGeomancerResultsDisplay.ADM1"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    adm2Field = addRow(cc, getResourceString("BioGeomancerResultsDisplay.ADM2"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    localityField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.LOCALITY"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;

    countryBoundingBoxField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.COUNTRY_BOUNDING_BOX"), //$NON-NLS-1$
            1, rowIndex);
    rowIndex += 2;
    matchedCountField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.MATCHED_CNT"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    boundingBoxField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.BOUNDING_BOX"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    boundingBoxCentroidField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.BOUNDING_BOX_CENTROID"), //$NON-NLS-1$
            1, rowIndex);
    rowIndex += 2;
    centroidErrorRadiusField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.CENTROID_ERROR_RADIUS"), //$NON-NLS-1$
            1, rowIndex);
    rowIndex += 2;
    centroidErrorRadiusUnitsField = addRow(cc,
            getResourceString("BioGeomancerResultsDisplay.CENTROID_ERROR_RADIUS_UNITS"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    multiPointMatchField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.MULTI_POINT_MATCH"), 1, //$NON-NLS-1$
            rowIndex);
    rowIndex += 2;
    weightedCentroidField = addRow(cc, getResourceString("BioGeomancerResultsDisplay.WEIGHTED_CENTROID"), 1, //$NON-NLS-1$
            rowIndex);
    rowIndex += 2;

    mapLabel = createLabel(getResourceString("BioGeomancerResultsDisplay.LOADING_MAP")); //$NON-NLS-1$
    add(mapLabel, cc.xywh(5, 1, 1, 25));

    mapLabel.setPreferredSize(new Dimension(MAP_WIDTH, MAP_HEIGHT));

    bgResultsTable = new JTable();
    bgResultsTable.setShowVerticalLines(false);
    bgResultsTable.setShowHorizontalLines(false);
    bgResultsTable.setRowSelectionAllowed(true);
    bgResultsTable.setDefaultRenderer(String.class, new BiColorTableCellRenderer(false));

    mapLabel.setText(""); //$NON-NLS-1$

    add(UIHelper.createScrollPane(bgResultsTable), cc.xywh(1, rowIndex, 5, 1));
    rowIndex += 2;
}

From source file:edu.ku.brc.services.geolocate.ui.GeoLocateResultsDisplay.java

License:Open Source License

/**
 * Constructor.//from   w  w  w  .  j a  va2s .  c  om
 */
public GeoLocateResultsDisplay() {
    super();

    setLayout(new FormLayout("p,10px,400px,10px,f:p:g", "p,2px,p,2px,p,2px,p,10px,f:p:g")); //$NON-NLS-1$ //$NON-NLS-2$

    CellConstraints cc = new CellConstraints();

    // add the query fields to the display
    int rowIndex = 1;
    localityStringField = addRow(cc, getResourceString("GeoLocateResultsDisplay.LOCALITY_DESC"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    countyField = addRow(cc, getResourceString("GeoLocateResultsDisplay.COUNTY"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    stateField = addRow(cc, getResourceString("GeoLocateResultsDisplay.STATE"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;
    countryField = addRow(cc, getResourceString("GeoLocateResultsDisplay.COUNTRY"), 1, rowIndex); //$NON-NLS-1$
    rowIndex += 2;

    // add the JLabel to show the map
    mapLabel = createLabel(getResourceString("GeoLocateResultsDisplay.LOADING_MAP")); //$NON-NLS-1$
    mapLabel.setPreferredSize(new Dimension(MAP_WIDTH, MAP_HEIGHT));

    boolean useWorldWind = AppPreferences.getLocalPrefs().getBoolean("USE.WORLDWIND", false);
    if (!useWorldWind) {
        add(mapLabel, cc.xywh(5, 1, 1, 9));

    } else {
        wwPanel = new WorldWindPanel();
        wwPanel.setPreferredSize(new Dimension(MAP_WIDTH, MAP_HEIGHT));
        wwPanel.getWorld()
                .addSelectListener(new ClickAndGoSelectListener(wwPanel.getWorld(), MarkerLayer.class));
        wwPanel.getWorld().addSelectListener(this);

        wwPanel.getWorld().getInputHandler().addMouseListener(new MouseAdapter() {
            /* (non-Javadoc)
             * @see java.awt.event.MouseAdapter#mouseClicked(java.awt.event.MouseEvent)
             */
            @Override
            public void mouseClicked(final MouseEvent e) {
                super.mouseClicked(e);

                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        Position pos = wwPanel.getWorld().getCurrentPosition();
                        if (!pos.equals(lastClickPos)) {
                            if (userDefGeoRef == null) {
                                addUserDefinedMarker();
                            } else {
                                repositionUserDefMarker();
                            }
                        }
                    }
                });
            }
        });

        add(wwPanel, cc.xywh(5, 1, 1, 9));
    }

    // add the results table
    tableModel = new ResultsTableModel();
    resultsTable = new JTable(tableModel);
    resultsTable.setShowVerticalLines(false);
    resultsTable.setShowHorizontalLines(false);
    resultsTable.setRowSelectionAllowed(true);
    resultsTable.setDefaultRenderer(String.class, new BiColorTableCellRenderer(false));

    resultsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                if (acceptBtn != null) {
                    //System.out.println(resultsTable.getSelectedRowCount());
                    acceptBtn.setEnabled(resultsTable.getSelectedRowCount() > 0);
                }
            }
        }
    });

    if (wwPanel != null) {
        resultsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                wwPanel.flyToMarker(resultsTable.getSelectedRow());
            }
        });
    }

    // add a cell renderer that uses the tooltip to show the text of the "parse pattern" column in case
    // it is too long to show and gets truncated by the standard cell renderer
    DefaultTableCellRenderer cellRenderer = new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            if (value instanceof String) {
                ((JLabel) c).setToolTipText((String) value);
            }
            return c;
        }
    };
    resultsTable.getColumnModel().getColumn(3).setCellRenderer(cellRenderer);

    JScrollPane scrollPane = new JScrollPane(resultsTable, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    add(scrollPane, cc.xywh(1, rowIndex, 3, 1));
    rowIndex += 2;
}

From source file:edu.ku.brc.services.gpx.GPXPanel.java

License:Open Source License

/**
 * //from   ww  w. j  a  va 2s.co  m
 */
protected void createUI() {
    wpList = new JList(new Vector<WptType>(gpxType.getWpt()));
    wpList.setCellRenderer(new WPListCellRenderer());

    trkList = new JList(new Vector<TrkType>(gpxType.getTrk()));
    trkList.setCellRenderer(new TrkListCellRenderer());

    rteList = new JList(new Vector<RteType>(gpxType.getRte()));
    rteList.setCellRenderer(new RteListCellRenderer());

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

    int y = 1;
    pb.add(UIHelper.createLabel("Way Points"), cc.xy(1, y));
    y += 2; // I18N
    pb.add(UIHelper.createScrollPane(wpList), cc.xy(1, y));
    y += 2;

    pb.add(UIHelper.createLabel("Tracks"), cc.xy(1, y));
    y += 2;
    pb.add(UIHelper.createScrollPane(trkList), cc.xy(1, y));
    y += 2;

    pb.add(UIHelper.createLabel("Routes"), cc.xy(1, y));
    y += 2;
    pb.add(UIHelper.createScrollPane(rteList), cc.xy(1, y));
    y += 2;

    wwPanel = new WorldWindPanel();
    pb.add(wwPanel, cc.xywh(3, 1, 1, 11));
    y += 2;

    pb.setDefaultDialogBorder();

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

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

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

From source file:edu.ku.brc.specify.config.init.DatabasePanel.java

License:Open Source License

/**
 * Creates a dialog for entering database name and selecting the appropriate driver.
 *///from   w  w w.  j av  a 2  s . c  om
@SuppressWarnings("unchecked")
public DatabasePanel(final JButton nextBtn, final JButton prevBtn, final String helpContext,
        final boolean doSetDefaultValues) {
    super("DATABASE", helpContext, nextBtn, prevBtn);

    this.doSetDefaultValues = doSetDefaultValues;

    int t = 0;
    //      for (int p : SKIP_DB_CREATE_PERMS) {
    //         t |= p;
    //      }
    //      PERM_SKIP_DB_CREATE = t;
    //      
    //      t = 0;
    for (int p : CREATE_DB_PERMS) {
        t |= p;
    }
    PERM_CREATE_DB = t;
    PERM_SKIP_DB_CREATE = t; //see comments in createSkipDBCreatePerms()

    createSkipDBCreatePerms();
    createCreateDBPerms();

    String header = getResourceString("ENTER_DB_INFO") + ":";

    CellConstraints cc = new CellConstraints();

    String rowDef = "p,2px," + UIHelper.createDuplicateJGoodiesDef("p", "2px", 7)
            + ",10px,p,10px,p,4px,p,4px,p";
    PanelBuilder builder = new PanelBuilder(new FormLayout("p,2px,p:g", rowDef), this);
    int row = 1;

    builder.add(createLabel(header, SwingConstants.CENTER), cc.xywh(1, row, 3, 1));
    row += 2;

    usernameTxt = createField(builder, "IT_USERNAME", true, row);
    row += 2;
    passwordTxt = createField(builder, "IT_PASSWORD", true, row, true, null);
    row += 2;
    dbNameTxt = createField(builder, "DB_NAME", true, row);
    row += 2;
    hostNameTxt = createField(builder, "HOST_NAME", true, row);
    row += 2;

    driverList = DatabaseDriverInfo.getDriversList();
    drivers = (JComboBox<DatabaseDriverInfo>) createComboBox(driverList);

    // MySQL as the default
    drivers.setSelectedItem(DatabaseDriverInfo.getDriver("MySQL"));

    JLabel lbl = createI18NFormLabel("DRIVER", SwingConstants.RIGHT);
    lbl.setFont(bold);
    builder.add(lbl, cc.xy(1, row));
    builder.add(drivers, cc.xy(3, row));
    row += 2;

    builder.add(createLabel(" "), cc.xy(1, row)); // spacer
    row += 2;

    isStructureOnly = createCheckBox(builder, "CONVUPLD_CHKBX", row);
    isStructureOnly.setToolTipText(getResourceString("CONVUPLD_CHKBX_TT"));
    isStructureOnly.setVisible(!UIRegistry.isMobile() && !UIRegistry.isEmbedded());
    row += 2;

    label = UIHelper.createLabel("", SwingConstants.CENTER);
    createDBBtn = UIHelper.createI18NButton("CREATE_DB");

    PanelBuilder tstPB = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "p"));
    tstPB.add(createDBBtn, cc.xy(2, 1));

    PanelBuilder panelPB = new PanelBuilder(new FormLayout("f:p:g", "20px,p,2px,p,8px,p"));
    panelPB.add(tstPB.getPanel(), cc.xy(1, 2));
    panelPB.add(getProgressBar(), cc.xy(1, 4));
    panelPB.add(label, cc.xy(1, 6));

    builder.add(panelPB.getPanel(), cc.xy(3, row));
    row += 2;

    // Advance part of pane
    advLabel = UIHelper.createI18NLabel("ADV_DB_DESC", SwingConstants.CENTER);
    skipStepBtn = UIHelper.createI18NButton("ADV_DB_TEST");
    JComponent sep = builder.addSeparator(UIRegistry.getResourceString("ADV_TITLE"), cc.xyw(3, row, 1));
    row += 2;
    builder.add(advLabel, cc.xyw(3, row, 1));
    row += 2;

    tstPB = new PanelBuilder(new FormLayout("f:p:g,p,f:p:g", "p"));
    tstPB.add(skipStepBtn, cc.xy(2, 1));
    builder.add(tstPB.getPanel(), cc.xyw(3, row, 1));
    row += 2;

    skipStepBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            createDBBtn.setEnabled(false);
            skipStepBtn.setEnabled(false);
            boolean ok = skipDBCreate();
            createDBBtn.setEnabled(true);
            skipStepBtn.setEnabled(true);
            advLabel.setText(UIRegistry.getResourceString(ok ? "ADV_DB_OK" : "ADV_DB_ERR"));
        }
    });

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

    if (UIRegistry.isMobile()) {
        skipStepBtn.setVisible(false);
        advLabel.setVisible(false);
        sep.setVisible(false);
    }

    progressBar.setVisible(false);

    DocumentAdaptor docAdp = new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            updateBtnUI();
        }
    };
    usernameTxt.getDocument().addDocumentListener(docAdp);
    passwordTxt.getDocument().addDocumentListener(docAdp);
    dbNameTxt.getDocument().addDocumentListener(docAdp);
    hostNameTxt.getDocument().addDocumentListener(docAdp);

    updateBtnUI();
}

From source file:edu.ku.brc.specify.config.init.DBLocationPanel.java

License:Open Source License

/**
 * Creates a dialog for entering database name and selecting the appropriate driver.
 *//*from   w w  w.  j  a  va2  s  .c om*/
public DBLocationPanel(final JButton nextBtn) {
    super("Storage", null, nextBtn, null);

    localDirOK = true;
    File currentPath = new File(UIRegistry.getAppDataDir() + File.separator + "specify_tmp.tmp");
    try {
        FileUtils.touch(currentPath);
        currentPath.delete();

    } catch (IOException ex) {
        edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
        edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(DBLocationPanel.class, ex);
        localDirOK = false;
    }

    //localDirOK = false ; // XXX TESTING

    ButtonGroup grp = new ButtonGroup();
    useHomeRB = new JRadioButton(
            "<html>Use your home directory: <b>" + UIRegistry.getUserHomeAppDir() + "</b></html>");
    grp.add(useHomeRB);
    useHomeRB.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (browse != null) {
                browse.setEnabled(false);
            }
            updateBtnUI();
        }
    });

    int numRows = 3;
    StringBuilder header = new StringBuilder(
            "<html>This step requires you to select a storage for the database.");
    //localDirOK = false; // DEBUG
    if (localDirOK) {
        header.append("There are three options:</html>");

        useCurrentRB = new JRadioButton(
                "<html>Use your current directory: <b>" + UIRegistry.getDefaultWorkingPath() + "</b></html>");
        grp.add(useCurrentRB);
        useCurrentRB.setSelected(true);
        numRows++;

    } else {
        header.append(
                "<br>The database cannot be stored on the media you are currently running Workbench from, ");
        header.append(
                "so you can allow it to default to your '<i>home</i>' directory. Or choose a different storage.</html>");
        useHomeRB.setSelected(true);
    }

    useUserDefinedRB = new JRadioButton("Use other storage:");
    grp.add(useUserDefinedRB);
    useUserDefinedRB.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            browse.setEnabled(true);
            updateBtnUI();
        }
    });

    filePath = new JTextField(30);
    filePath.getDocument().addDocumentListener(new DocumentListener() {
        public void insertUpdate(DocumentEvent e) {
            updateBtnUI();
        }

        public void removeUpdate(DocumentEvent e) {
            updateBtnUI();
        }

        public void changedUpdate(DocumentEvent e) {
            updateBtnUI();
        }
    });
    browse = new BrowseBtnPanel(filePath, true, true);
    browse.setEnabled(false);

    CellConstraints cc = new CellConstraints();

    JLabel lbl = new JLabel(header.toString());
    PanelBuilder cmtBldr = new PanelBuilder(new FormLayout("f:min(300px;p):g", "f:p:g"));
    cmtBldr.add(lbl, cc.xy(1, 1));

    PanelBuilder builder = new PanelBuilder(new FormLayout("p,2px,p:g",
            "p:g,2px," + UIHelper.createDuplicateJGoodiesDef("p", "2px", numRows) + ",f:p:g"), this);
    int row = 1;

    builder.add(cmtBldr.getPanel(), cc.xywh(1, row, 3, 1));
    row += 2;
    builder.add(useHomeRB, cc.xy(1, row));
    row += 2;
    if (useCurrentRB != null) {
        builder.add(useCurrentRB, cc.xy(1, row));
        row += 2;
    }
    builder.add(useUserDefinedRB, cc.xy(1, row));
    row += 2;
    builder.add(browse, cc.xy(1, row));
    row += 2;

}

From source file:edu.ku.brc.specify.config.init.DisciplinePanel.java

License:Open Source License

/**
 * Creates a dialog for entering database name and selecting the appropriate driver.
 *///from  w  w w.j  a  v  a2 s  . c  om
public DisciplinePanel(final String helpContext, final JButton nextBtn, final JButton prevBtn) {
    super("DISCIPLINE", helpContext, nextBtn, prevBtn);

    String header = getResourceString("DISP_INFO") + ":";

    CellConstraints cc = new CellConstraints();

    PanelBuilder builder = new PanelBuilder(new FormLayout("p,2px,p,f:p:g", "p,6px,p,2px,p"), this);
    int row = 1;

    builder.add(createLabel(header, SwingConstants.CENTER), cc.xywh(1, row, 3, 1));
    row += 2;

    Vector<DisciplineType> dispList = new Vector<DisciplineType>();
    for (DisciplineType disciplineType : DisciplineType.getDisciplineList()) {
        if (disciplineType.getType() == 0) {
            dispList.add(disciplineType);
        }
    }

    Collections.sort(dispList);

    disciplines = createComboBox(dispList);

    disciplines.setSelectedIndex(-1);

    // Discipline 
    JLabel lbl = createI18NFormLabel("DSP_TYPE", SwingConstants.RIGHT);
    lbl.setFont(bold);
    builder.add(lbl, cc.xy(1, row));
    builder.add(disciplines, cc.xy(3, row));
    row += 2;

    makeStretchy = true;
    disciplineName = createField(builder, "DISP_NAME", true, row, 64);
    row += 2;

    updateBtnUI();

    disciplines.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            updateBtnUI();

            if (disciplines.getSelectedIndex() > -1) {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        DisciplineType dt = (DisciplineType) disciplines.getSelectedItem();
                        disciplineName.setText(dt.getTitle());
                    }
                });
            }
        }
    });
}

From source file:edu.ku.brc.specify.config.init.FormatterPickerPanel.java

License:Open Source License

/**
 * @param nextBtn//from w  w  w  .  ja  va2 s . com
 * @param doingCatNums
 */
public FormatterPickerPanel(final String panelName, final String helpContext, final JButton nextBtn,
        final JButton prevBtn, final boolean doingCatNums, final String currFormatter) {
    super(panelName, helpContext, nextBtn, prevBtn);

    //UIFieldFormatterMgr.setDoingLocal(true);
    //uiFldFmtMgr = new SpecifyUIFieldFormatterMgr();
    //UIFieldFormatterMgr.setDoingLocal(false);
    uiFldFmtMgr = UIFieldFormatterMgr.getInstance();

    this.doingCatNums = doingCatNums;
    this.currFormatter = currFormatter;

    formatterCBX.addActionListener(createFrmCBXAL());

    loadFormatCbx(null);

    CellConstraints cc = new CellConstraints();
    // wiz changes for #9604
    PanelBuilder pb = new PanelBuilder(
            new FormLayout("p,4px,p,2px,p,f:p:g", "p,10px,p,4px,p,2px,p,2px,p,2px,p"), this);
    //PanelBuilder    pb = new PanelBuilder(new FormLayout("p,4px,p,2px,p,f:p:g", "p,10px,p,4px,p,2px,p,2px,p"), this);

    int y = 1;
    String label = getResourceString(doingCatNums ? "CHOOSE_FMT_CAT" : "CHOOSE_FMT_ACC");
    pb.add(createLabel(label, SwingConstants.CENTER), cc.xywh(1, y, 6, 1));
    y += 2;

    JLabel lbl = createI18NFormLabel("FORMAT", SwingConstants.RIGHT);
    lbl.setFont(bold);
    pb.add(lbl, cc.xy(1, y));
    pb.add(formatterCBX, cc.xy(3, y));
    y += 2;

    if (doingCatNums) {
        pb.add(createI18NFormLabel("IS_NUM", SwingConstants.RIGHT), cc.xy(1, y));
        pb.add(isNumericLbl, cc.xy(3, y));
        y += 2;

        /* wiz changes for #9604...*/
        lenTitleLbl = createI18NFormLabel("NUM_LEN", SwingConstants.RIGHT);
        pb.add(lenTitleLbl, cc.xy(1, y));
        UIHelper.setControlSize(lenSpin);
        lenSpin.addChangeListener(new ChangeListener() {

            @Override
            public void stateChanged(ChangeEvent e) {
                int index = formatterCBX.getSelectedIndex();
                UIFieldFormatterIFace fmt = null;
                if (index > (doingCatNums ? 0 : 1)) {
                    fmt = fmtList.get(index - (doingCatNums ? 1 : 2));
                    //condition should be the only possibility but...
                    if (fmt != null) {
                        if (fmt.getName().equals("CatalogNumberNumeric")) {
                            fmt.setLength((Integer) lenSpin.getValue());
                            lenSpin.setValue(fmt.getLength());
                        }
                        patternLbl.setText(fmt.toPattern());
                    }
                } else if (fmt == null) {
                    if (patternLbl != null) {
                        patternLbl.setText(null);
                    }
                    if (autoIncLbl != null) {
                        autoIncLbl.setText(getResourceString("NO"));
                    }
                }

                lenSpin.setVisible(fmt != null && fmt.getName().equals("CatalogNumberNumeric"));
            }

        });
        pb.add(lenSpin, cc.xy(3, y));
        lenSpin.setVisible(false);
        lenTitleLbl.setVisible(false);
        y += 2;
        /* end wiz changes for #9604 */
    }

    pb.add(createI18NFormLabel("PATTERN", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(patternLbl, cc.xy(3, y));
    y += 2;

    pb.add(createI18NFormLabel("IS_AUTO_INC", SwingConstants.RIGHT), cc.xy(1, y));
    pb.add(autoIncLbl, cc.xy(3, y));
    y += 2;

    nextBtn.setEnabled(false);

}