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:de.xplib.xdbm.ui.dialog.NewVirtualCollectionDialog.java

License:Open Source License

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

    this.jtfCollection.setText(this.collPath);
    this.jtfCollection.setEditable(false);

    this.jffSchema.addFileFilter(JFileField.VCS_FILE_FILTER);

    this.jffStylesheet.addFileFilter(JFileField.XSL_FILE_FILTER);

    FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref",
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, p, 3dlu, p");

    layout.setColumnGroups(new int[][] { { 3, 5 } });

    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();

    CellConstraints cc = new CellConstraints();

    builder.add(this.jlCollection, cc.xy(1, 1));
    builder.add(this.jtfCollection, cc.xyw(3, 1, 3));

    builder.add(this.jlName, cc.xy(1, 3));
    builder.add(this.jtfName, cc.xyw(3, 3, 3));

    builder.add(this.jlSchema, cc.xy(1, 5));
    builder.add(this.jffSchema, cc.xyw(3, 5, 3));

    builder.add(this.jlStylesheet, cc.xy(1, 7));
    builder.add(this.jffStylesheet, cc.xyw(3, 7, 3));

    builder.addSeparator("", cc.xyw(1, 9, 5));

    builder.add(new JButton(new CancelDialogAction(this)), cc.xy(3, 11));
    builder.add(new JButton(new CloseDialogWrapperAction(ExecuteNewVirtualCollectionAction.INSTANCE, this)),
            cc.xy(5, 11));

    this.setContentPane(builder.getPanel());
}

From source file:de.xplib.xdbm.ui.dialog.NewXMLResourceDialog.java

License:Open Source License

/**
 * /*from ww w  . j  av  a 2  s .  c  om*/
 */
private void initUI() {

    NewXMLResourceExecuteAction.INSTANCE.setEnabled(false);

    this.jtfPath.setEditable(false);
    this.jtfPath.setText(this.ctxPath);

    FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref",
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, p, 3dlu, p");

    layout.setColumnGroups(new int[][] { { 3, 5 } });

    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();

    CellConstraints cc = new CellConstraints();

    builder.addLabel("Pfad:", cc.xy(1, 1));
    builder.add(this.jtfPath, cc.xyw(3, 1, 3));

    builder.addLabel("Name:", cc.xy(1, 3));
    builder.add(this.jtfName, cc.xyw(3, 3, 3));

    builder.addLabel("Datei:", cc.xy(1, 5));
    builder.add(this.jffXML, cc.xyw(3, 5, 3));

    builder.addSeparator("", cc.xyw(1, 7, 5));

    builder.add(new JButton(new CancelDialogAction(this)), cc.xy(3, 9));
    builder.add(new JButton(new CloseDialogWrapperAction(NewXMLResourceExecuteAction.INSTANCE, this)),
            cc.xy(5, 9));

    this.getContentPane().setLayout(new GridLayout(1, 1));
    this.getContentPane().add(builder.getPanel());
}

From source file:de.xplib.xdbm.ui.dialog.SelectConnection.java

License:Open Source License

/**
 * //from  w  ww .j  a va 2s .co  m
 */
private void initUI() {

    I18N i18n = I18N.getInstance();

    this.setTitle(i18n.getTitle("dialog.select.conn.title"));

    this.jtfClass.setEditable(false);
    this.jtfClass.setToolTipText(i18n.getToolTip("dialog.select.conn.class"));

    this.sdfJar = new SelectDriverField(this.app.getConfig());
    this.sdfJar.setToolTipText(i18n.getToolTip("dialog.select.conn.jarfile"));
    this.sdfJar.addItemListener(new ItemListener() {
        public void itemStateChanged(final ItemEvent ie) {

            String name = (String) ie.getItem();
            jtfClass.setText(app.getConfig().getDriverClass(name));

            jlURIs.removeAll();

            List list = app.getConfig().getDatabaseURIs(name);
            jlURIs.setListData(list.toArray(new String[list.size()]));
        }
    });
    this.sdfJar.update(this.app.getConfig());

    this.jlURIs.setToolTipText(i18n.getToolTip("dialog.select.conn.uri"));
    this.jlURIs.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent lse) {

            String jar = sdfJar.getSelectedItem();
            String cls = jtfClass.getText().trim();

            String uri = (String) jlURIs.getSelectedValue();
            uri = (uri == null ? "" : uri.trim());

            if (jar.equals("") || cls.equals("") || uri.equals("")) {
                jbConnect.setEnabled(false);
            }

            app.getConfig().setConnection(new Connection(jar, cls, uri));

            jbConnect.setEnabled(true);
        }
    });

    this.jbConnect.setEnabled(false);

    FormLayout layout = new FormLayout("right:pref, 3dlu, pref, 3dlu, pref, 3dlu, pref",
            "p, 3dlu, p, 3dlu, p, 3dlu, p, 9dlu, 30dlu, 3dlu, p");

    layout.setColumnGroups(new int[][] { { 3, 5, 7 } });

    PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();

    //      Obtain a reusable constraints object to place components in the grid.
    CellConstraints cc = new CellConstraints();

    //         Fill the grid with components; the builder can create
    //         frequently used components, e.g. separators and labels.

    //         Add a titled separator to cell (1, 1) that spans 7 columns.
    builder.addLabel(i18n.getTitle("dialog.select.conn.jarfile"), cc.xy(1, 3));
    builder.add(this.sdfJar, cc.xyw(3, 3, 5));

    builder.addLabel("Klasse", cc.xy(1, 5));
    builder.add(this.jtfClass, cc.xyw(3, 5, 5));

    //builder.addSeparator("", cc.xyw(1, 9, 7));

    JScrollPane jsp = new JScrollPane();
    jsp.getViewport().add(this.jlURIs);

    builder.add(jsp, cc.xyw(1, 9, 7));

    builder.add(new JButton(new CancelDialogAction(this)), cc.xy(5, 11));
    builder.add(this.jbConnect, cc.xy(7, 11));

    this.getContentPane().setLayout(new GridLayout(1, 1));
    this.getContentPane().add(builder.getPanel());

    this.setSize(400, 300);
}

From source file:edu.ku.brc.af.auth.BasicPermisionPanel.java

License:Open Source License

/**
 * @param changeListener//from ww  w  .ja  v  a 2 s .com
 * @param titleKey
 * @param viewKey
 * @param modKey
 * @param addKey
 * @param delKey
 */
public BasicPermisionPanel(final ChangeListener changeListener, final String titleKey, final String viewKey,
        final String modKey, final String addKey, final String delKey) {
    super();

    CellConstraints cc = new CellConstraints();
    int numRows = addKey != null ? 1 : 0;
    numRows += delKey != null ? 1 : 0;
    numRows += modKey != null ? 1 : 0;
    numRows += viewKey != null ? 1 : 0;
    numRows++;

    PanelBuilder pb = new PanelBuilder(
            new FormLayout("p,f:p:g", UIHelper.createDuplicateJGoodiesDef("p", "4px", numRows)), this);

    originalLabels[0] = viewKey != null ? UIRegistry.getResourceString(viewKey) : null;
    originalLabels[1] = modKey != null ? UIRegistry.getResourceString(modKey) : null;
    originalLabels[2] = addKey != null ? UIRegistry.getResourceString(addKey) : null;
    originalLabels[3] = delKey != null ? UIRegistry.getResourceString(delKey) : null;

    int y = 1;
    PanelBuilder sepPB = new PanelBuilder(new FormLayout("p,0px,f:p:g", "p"));
    sepPB.add(label, cc.xy(1, 1));
    sepPB.addSeparator(" ", cc.xy(3, 1));

    pb.add(sepPB.getPanel(), cc.xyw(1, y, 2));
    y += 2;
    if (viewKey != null)
        pb.add(viewChk = createCheckBox(originalLabels[0]), cc.xy(1, y));
    y += 2;
    if (modKey != null)
        pb.add(modifyChk = createCheckBox(originalLabels[1]), cc.xy(1, y));
    y += 2;
    if (addKey != null)
        pb.add(addChk = createCheckBox(originalLabels[2]), cc.xy(1, y));
    y += 2;
    if (delKey != null)
        pb.add(delChk = createCheckBox(originalLabels[3]), cc.xy(1, y));
    y += 2;

    addChangeListener(changeListener);

    addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
            hasChanged = true;
        }
    });
}

From source file:edu.ku.brc.af.auth.UserAndMasterPasswordMgr.java

License:Open Source License

/**
 * Displays a dialog used for editing the Master Username and Password.
 * @param isLocal whether u/p is stored locally or not
 * @param usrName//from   w  w w  .  ja  v  a2s. c om
 * @param dbName
 * @param masterPath the path to the password
 * @return whether to ask for the information because it wasn't found
 */
protected boolean askForInfo(final Boolean isLocal, final String usrName, final String dbName,
        final String masterPath) {
    loadAndPushResourceBundle("masterusrpwd");

    FormLayout layout = new FormLayout("p, 2px, f:p:g, 4px, p, 4px, p, 4px, p", "p,2px,p,2px,p,2dlu,p,2dlu,p");

    PanelBuilder pb = new PanelBuilder(layout);
    pb.setDefaultDialogBorder();

    ButtonGroup group = new ButtonGroup();
    final JRadioButton isNetworkRB = new JRadioButton(getResourceString("IS_NET_BASED"));
    final JRadioButton isPrefBasedRB = new JRadioButton(getResourceString("IS_ENCRYPTED_KEY"));
    isPrefBasedRB.setSelected(true);
    group.add(isNetworkRB);
    group.add(isPrefBasedRB);

    final JTextField keyTxt = createTextField(35);
    final JTextField urlTxt = createTextField(35);
    final JLabel keyLbl = createI18NFormLabel("ENCRYPTED_USRPWD");
    final JLabel urlLbl = createI18NFormLabel("URL");
    final JButton createBtn = createI18NButton("CREATE_KEY");

    final JButton copyCBBtn = createIconBtn("ClipboardCopy", IconManager.IconSize.Std24, "CPY_TO_CB_TT", null);
    final JButton pasteCBBtn = createIconBtn("ClipboardPaste", IconManager.IconSize.Std24, "CPY_FROM_CB_TT",
            null);

    // retrieves the encrypted key for the current settings in the dialog
    String dbNameFromForm = AppPreferences.getLocalPrefs().get("login.databases_selected", null);
    if (isNotEmpty(dbNameFromForm) && isNotEmpty(usersUserName)) {
        String masterKey = getMasterPrefPath(usersUserName, dbNameFromForm, true);
        if (isNotEmpty(masterKey)) {
            String encryptedKey = AppPreferences.getLocalPrefs().get(masterKey, null);
            if (isNotEmpty(encryptedKey) && !encryptedKey.startsWith("http")) {
                keyTxt.setText(encryptedKey);
            }
        }
    }

    CellConstraints cc = new CellConstraints();

    int y = 1;
    pb.add(createI18NFormLabel("MASTER_LOC"), cc.xywh(1, y, 1, 3));
    pb.add(isPrefBasedRB, cc.xy(3, y));
    y += 2;
    pb.add(isNetworkRB, cc.xy(3, y));
    y += 2;

    pb.addSeparator("", cc.xyw(1, y, 9));
    y += 2;
    pb.add(keyLbl, cc.xy(1, y));
    pb.add(keyTxt, cc.xy(3, y));
    pb.add(createBtn, cc.xy(5, y));
    pb.add(copyCBBtn, cc.xy(7, y));
    pb.add(pasteCBBtn, cc.xy(9, y));
    y += 2;

    pb.add(urlLbl, cc.xy(1, y));
    pb.add(urlTxt, cc.xy(3, y));
    y += 2;

    boolean isEditMode = isLocal != null && isNotEmpty(masterPath);
    if (isEditMode) {
        isPrefBasedRB.setSelected(isLocal);
        if (isLocal) {
            keyTxt.setText(masterPath);
        } else {
            urlTxt.setText(masterPath);
        }
    }

    copyCBBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            // Copy to Clipboard
            UIHelper.setTextToClipboard(keyTxt.getText());
        }
    });

    pasteCBBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            keyTxt.setText(UIHelper.getTextFromClipboard());
        }
    });

    final CustomDialog dlg = new CustomDialog((Frame) null, getResourceString("MASTER_TITLE"), true,
            CustomDialog.OKCANCELHELP, pb.getPanel());
    if (!isEditMode) {
        dlg.setOkLabel(getResourceString("CONT"));
        dlg.setCancelLabel(getResourceString("BACK"));
    }
    dlg.setHelpContext("MASTERPWD_MAIN");
    dlg.createUI();
    dlg.getOkBtn().setEnabled(false);
    urlLbl.setEnabled(false);
    urlTxt.setEnabled(false);
    copyCBBtn.setEnabled(true);
    pasteCBBtn.setEnabled(true);

    DocumentListener dl = new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            dlg.getOkBtn().setEnabled((isPrefBasedRB.isSelected() && !keyTxt.getText().isEmpty())
                    || (isNetworkRB.isSelected() && !urlTxt.getText().isEmpty()));
        }
    };
    keyTxt.getDocument().addDocumentListener(dl);
    urlTxt.getDocument().addDocumentListener(dl);

    ChangeListener chgListener = new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent e) {
            boolean isNet = isNetworkRB.isSelected();
            keyLbl.setEnabled(!isNet);
            keyTxt.setEnabled(!isNet);
            createBtn.setEnabled(!isNet);
            copyCBBtn.setEnabled(!isNet);
            pasteCBBtn.setEnabled(!isNet);
            urlLbl.setEnabled(isNet);
            urlTxt.setEnabled(isNet);
            dlg.getOkBtn().setEnabled((isPrefBasedRB.isSelected() && !keyTxt.getText().isEmpty())
                    || (isNetworkRB.isSelected() && !urlTxt.getText().isEmpty()));
        }
    };

    isNetworkRB.addChangeListener(chgListener);
    isPrefBasedRB.addChangeListener(chgListener);

    boolean isPref = AppPreferences.getLocalPrefs().getBoolean(getIsLocalPrefPath(usrName, dbName, true), true);
    isNetworkRB.setSelected(!isPref);
    isPrefBasedRB.setSelected(isPref);

    createBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String[] keys = getUserNamePasswordKey();
            if (keys != null && keys.length == 4) {
                String encryptedStr = encrypt(keys[0], keys[1], keys[3]);
                if (encryptedStr != null) {
                    keyTxt.setText(encryptedStr);
                    dlg.getOkBtn().setEnabled(true);

                    usersUserName = keys[2];
                }
            }
        }
    });

    popResourceBundle();

    dlg.setVisible(true);

    if (!dlg.isCancelled()) {
        String value;
        if (isNetworkRB.isSelected()) {
            value = StringEscapeUtils.escapeHtml(urlTxt.getText());
        } else {
            value = keyTxt.getText();
        }

        AppPreferences.getLocalPrefs().putBoolean(getIsLocalPrefPath(usrName, dbName, true),
                !isNetworkRB.isSelected());
        AppPreferences.getLocalPrefs().put(getMasterPrefPath(usrName, dbName, true), value);
        return true;
    }
    return false;
}

From source file:edu.ku.brc.af.auth.UserAndMasterPasswordMgr.java

License:Open Source License

/**
 * @return//w  w w.j  av  a2s.  co m
 */
protected String[] getUserNamePasswordKey() {
    loadAndPushResourceBundle("masterusrpwd");

    FormLayout layout = new FormLayout("p, 4dlu, p, 8px, p", "p, 2dlu, p, 2dlu, p, 16px, p, 2dlu, p, 2dlu, p");
    layout.setRowGroups(new int[][] { { 1, 3, 5 } });

    PanelBuilder pb = new PanelBuilder(layout);

    final JTextField dbUsrTxt = createTextField(30);
    final JPasswordField dbPwdTxt = createPasswordField(30);
    final JTextField usrText = createTextField(30);
    final JPasswordField pwdText = createPasswordField(30);
    final char echoChar = pwdText.getEchoChar();

    final JLabel dbUsrLbl = createI18NFormLabel("USERNAME", SwingConstants.RIGHT);
    final JLabel dbPwdLbl = createI18NFormLabel("PASSWORD", SwingConstants.RIGHT);
    final JLabel usrLbl = createI18NFormLabel("USERNAME", SwingConstants.RIGHT);
    final JLabel pwdLbl = createI18NFormLabel("PASSWORD", SwingConstants.RIGHT);

    usrText.setText(usersUserName);

    CellConstraints cc = new CellConstraints();

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

    pb.add(dbUsrLbl, cc.xy(1, y));
    pb.add(dbUsrTxt, cc.xy(3, y));
    y += 2;

    pb.add(dbPwdLbl, cc.xy(1, y));
    pb.add(dbPwdTxt, cc.xy(3, y));
    y += 2;

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

    pb.add(usrLbl, cc.xy(1, y));
    pb.add(usrText, cc.xy(3, y));
    y += 2;

    pb.add(pwdLbl, cc.xy(1, y));
    pb.add(pwdText, cc.xy(3, y));

    pb.setDefaultDialogBorder();

    final CustomDialog dlg = new CustomDialog((Frame) null, getResourceString("MASTER_INFO_TITLE"), true,
            CustomDialog.OKCANCELAPPLYHELP, pb.getPanel());
    dlg.setOkLabel(getResourceString("GENERATE_KEY"));
    dlg.setHelpContext("MASTERPWD_GEN");
    dlg.setApplyLabel(showPwdLabel);

    dlg.createUI();
    dlg.getOkBtn().setEnabled(false);

    popResourceBundle();

    DocumentListener docListener = new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent e) {
            String dbUserStr = dbUsrTxt.getText();

            boolean enable = !dbUserStr.isEmpty() && !((JTextField) dbPwdTxt).getText().isEmpty()
                    && !usrText.getText().isEmpty() && !((JTextField) pwdText).getText().isEmpty();
            if (enable && isNotEmpty(dbUserStr) && dbUserStr.equalsIgnoreCase("root")) {
                loadAndPushResourceBundle("masterusrpwd");
                UIRegistry.showLocalizedError("MASTER_NO_ROOT");
                popResourceBundle();
                enable = false;
            }
            dlg.getOkBtn().setEnabled(enable);
        }
    };

    dbUsrTxt.getDocument().addDocumentListener(docListener);
    dbPwdTxt.getDocument().addDocumentListener(docListener);
    usrText.getDocument().addDocumentListener(docListener);
    pwdText.getDocument().addDocumentListener(docListener);

    currEcho = echoChar;

    dlg.getApplyBtn().addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dlg.getApplyBtn().setText(currEcho == echoChar ? hidePwdLabel : showPwdLabel);
            currEcho = currEcho == echoChar ? 0 : echoChar;
            pwdText.setEchoChar(currEcho);
            dbPwdTxt.setEchoChar(currEcho);
        }
    });

    dlg.setVisible(true);
    if (!dlg.isCancelled()) {
        return new String[] { dbUsrTxt.getText(), ((JTextField) dbPwdTxt).getText(), usrText.getText(),
                ((JTextField) pwdText).getText() };
    }

    return null;
}

From source file:edu.ku.brc.af.prefs.PrefsPanel.java

License:Open Source License

@Override
public void createForm(final String viewSetName, final String viewName) {
    CellConstraints cc = new CellConstraints();
    String rowDef = UIHelper.createDuplicateJGoodiesDef("p", "4px", items.size());
    PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,f:p:g", rowDef), this);

    int y = 1;//from   ww w .ja va  2s.  com
    for (ItemInfo item : items) {
        if (item.getCompType() == CompType.eSep) {
            pb.addSeparator(item.getTitle(), cc.xyw(1, y, 3));
            y += 2;

        } else if (item.getCompType() == CompType.eCheckbox) {
            JCheckBox cb = UIHelper.createCheckBox(item.getTitle());
            item.setComp(cb);
            pb.add(UIHelper.createLabel(" "), cc.xy(1, y));
            pb.add(cb, cc.xy(3, y));
            y += 2;

            cb.setSelected(appPrefs.getBoolean(item.getPrefName(), (Boolean) item.getDefaultVal()));

            formValidator.createValidator(cb, UIValidator.Type.Changed);

        } else if (item.getCompType() == CompType.eComboBox) {
            JComboBox cb = UIHelper.createComboBox((Object[]) item.getItemsTitles());
            item.setComp(cb);
            pb.add(UIHelper.createFormLabel(item.getTitle()), cc.xy(1, y));
            pb.add(cb, cc.xy(3, y));
            y += 2;

            cb.setSelectedIndex(appPrefs.getInt(item.getPrefName(), (Integer) item.getDefaultVal()));

            formValidator.createValidator(cb, UIValidator.Type.Changed);
        }
    }

    pb.setDefaultDialogBorder();
}

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

License:Open Source License

/**
 * @param usrLblKey//www. jav a 2s  . c  o  m
 * @param userNameTF
 * @param pwdLblKey
 * @param passwordTF
 * @param statusLbl
 * @param imgIcon
 * @return
 */
public static JPanel createLoginPanel(final String usrLblKey, final JTextField userNameTF,
        final String usernameHintKey, final String pwdLblKey, final JPasswordField passwordTF,
        final JLabel statusLbl, final ImageIcon imgIcon) {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,f:p:g,2px,p", "p,4px,p,10px,p,8px"));

    boolean hasUsrNmHint = StringUtils.isNotEmpty(usernameHintKey);
    pb.add(UIHelper.createI18NFormLabel(usrLblKey), cc.xy(1, 1));
    pb.add(userNameTF, cc.xyw(3, 1, hasUsrNmHint ? 1 : 3));
    if (hasUsrNmHint) {
        pb.add(UIHelper.createI18NLabel(usernameHintKey), cc.xy(5, 1));
    }

    pb.add(UIHelper.createI18NFormLabel(pwdLblKey), cc.xy(1, 3));
    pb.add(passwordTF, cc.xyw(3, 3, 1));
    pb.add(statusLbl, cc.xyw(1, 5, 5));

    PanelBuilder outerPanel = new PanelBuilder(new FormLayout("p,3dlu,p:g", "t:p:g")); //$NON-NLS-1$ //$NON-NLS-2$
    JLabel icon = new JLabel(imgIcon);
    icon.setBorder(BorderFactory.createEmptyBorder(10, 10, 2, 2));
    pb.getPanel().setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 5));
    outerPanel.add(icon, cc.xy(1, 1));
    outerPanel.add(pb.getPanel(), cc.xy(3, 1));

    return outerPanel.getPanel();
}

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

License:Open Source License

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

    isNew = StringUtils.isEmpty(selectedAggregator.getName());
    validator.setNewObj(isNew);// w  ww . j a  v a 2s . c  o  m

    CellConstraints cc = new CellConstraints();

    // panel for aggregator editing controls
    // display combobox with available data obj formatters
    PanelBuilder displayPB = new PanelBuilder(new FormLayout("f:p:g,min", "p"));

    displayCbo = createComboBox();
    JButton displayDlgBtn = createButton("...");
    displayPB.add(displayCbo, cc.xy(1, 1));
    displayPB.add(displayDlgBtn, cc.xy(2, 1));

    fieldOrderCbo = createComboBox();

    ActionListener displayDlgBtnAL = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // subtract 1 from selected index to account for empty entry at the beginning
            // if selected index is zero, then select "new" entry in the dialog, which is the last one

            boolean newFormatter;
            DataObjSwitchFormatter dosf;
            if (displayCbo.getSelectedIndex() == 0) {
                // no formatter selected: create a new one and pass it to the dialog so the user can edit it
                newFormatter = true;
                dosf = new DataObjSwitchFormatter(null, null, true, false, tableInfo.getClassObj(), "");
            } else {
                // pass selected formatter to the dialog so the user can edit it
                newFormatter = false;
                dosf = (DataObjSwitchFormatter) displayCbo.getSelectedItem();
            }
            DataObjFieldFormatDlg dlg = new DataObjFieldFormatDlg(null, tableInfo, dataObjFieldFormatMgrCache,
                    uiFieldFormatterMgrCache, dosf);
            dlg.createUI();

            if (dlg.isEditable()) {
                dlg.setVisible(true);

                // set combo selection to formatter selected in dialog
                if (dlg.getBtnPressed() == OK_BTN) {
                    selectedAggregator.setFormatName(dosf.getName());
                    if (newFormatter) {
                        // must add new DO formatter and then select it
                        dataObjFieldFormatMgrCache.addFormatter(dosf);
                    }
                    // update the display combo, adding the new formatter and selecting it
                    // if that's the case
                    updateDisplayCombo();
                }
            }
        }
    };
    displayDlgBtn.addActionListener(displayDlgBtnAL);

    // text fields
    titleText = new ValTextField(10);
    nameText = new ValTextField(10) {
        @Override
        public ErrorType validateState() {
            ErrorType state = super.validateState();
            if (state == ErrorType.Valid) {
                return isNameInError ? ErrorType.Error : ErrorType.Valid;
            }
            return state;
        }
    };
    sepText = new ValTextField(10);
    endingText = new ValTextField(10);
    countSpinner = new ValSpinner(0, 10, true, false);

    countSpinner.setValue(0);

    JButton valBtn = FormViewObj.createValidationIndicator(this, validator);
    PanelBuilder valInfoBtnPB = new PanelBuilder(new FormLayout("f:p:g,p", "p"));
    valInfoBtnPB.add(valBtn, cc.xy(2, 1));
    validator.setValidationBtn(valBtn);

    PanelBuilder pb = new PanelBuilder(
            new FormLayout("r:p,2px,p,f:p:g", UIHelper.createDuplicateJGoodiesDef("p", "2px", 11)));
    int y = 1;

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

    pb.add(tableTitleLbl, cc.xy(1, y));
    pb.add(tableTitleValueLbl, cc.xyw(3, y, 2));
    y += 2;

    pb.addSeparator(" ", cc.xyw(1, y, 3));
    y += 2;

    pb.add(createI18NFormLabelBold("DOA_NAME"), cc.xy(1, y));
    add(pb, nameText, "DOA_NAME", "DOA_NAME.getText().length() > 0", cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabelBold("DOA_TITLE"), cc.xy(1, y));
    add(pb, titleText, "DOA_TITLE", "DOA_TITLE.getText().length() > 0", cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabelBold("DOA_DISPLAY"), cc.xy(1, y));
    pb.add(displayPB.getPanel(), cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabelBold("DOA_SEP"), cc.xy(1, y));
    add(pb, sepText, "DOA_SEP", "DOA_SEP.getText().length() > 0", cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabelBold("DOA_COUNT"), cc.xy(1, y));
    add(pb, countSpinner, "DOA_COUNT", null, cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabel("DOA_ENDING"), cc.xy(1, y));
    add(pb, endingText, "DOA_ENDING", "DOA_ENDING.getText().length() > 0", cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabel("DOA_SORT_BY"), cc.xy(1, y));
    add(pb, fieldOrderCbo, "DOA_DEFAULT", null, cc.xy(3, y));
    y += 2;

    pb.add(valInfoBtnPB.getPanel(), cc.xyw(3, y, 2));
    y += 2;

    pb.setBorder(BorderFactory.createEmptyBorder(14, 14, 0, 14));

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

    fillWithObjAggregator(selectedAggregator);

    updateUIEnabled();

    addComboBoxActionListeners();

    if (!isNew) {
        ViewFactory.changeTextFieldUIForDisplay(nameText, false);
    }

    validator.resetFields();
    validator.setEnabled(true);
    validator.setHasChanged(false);

    pack();

    if (isNew) {
        nameText.getDocument().addDocumentListener(new DocumentAdaptor() {
            @Override
            public void changedUpdate(DocumentEvent e) {
                isNameInError = dataObjFieldFormatMgrCache.getAggregator(nameText.getText()) != null;
                validator.validateForm();
                updateUIEnabled();
            }
        });
    }
}

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

License:Open Source License

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

    JLabel titleLbl = createLabel(getResourceString("DOF_TITLE") + ":");
    titleText = createTextField(32);/*from  w ww.  j  a v a2 s.  c  om*/

    JLabel nameLbl = createLabel(getResourceString("DOF_NAME") + ":");
    nameText = createTextField(32);

    // radio buttons (single/multiple/external object display formats
    JLabel typeLbl = createLabel(getResourceString("DOF_TYPE") + ":");
    singleDisplayBtn = createRadioButton(getResourceString("DOF_SINGLE"));
    multipleDisplayBtn = createRadioButton(getResourceString("DOF_MULTIPLE") + ":");
    singleDisplayBtn.setSelected(true);

    CellConstraints cc = new CellConstraints();

    if (dataObjFormatter.getFormatters().size() == 1) {
        DataObjDataFieldFormatIFace dof = dataObjFormatter.getFormatters().iterator().next();
        if (dof.isCustom()) {
            if (dof.hasEditor()) {
                customEditor = dof.getCustomEditor(new ChangeListener() {
                    @Override
                    public void stateChanged(ChangeEvent e) {
                        setHasChanged(true);
                    }
                });
            } else {
                isEditable = false;
                UIRegistry.showLocalizedMsg("DOF_NO_CST_EDT");
                return;
            }
        }
    }

    if (customEditor == null) {
        ButtonGroup displayTypeGrp = new ButtonGroup();
        displayTypeGrp.add(singleDisplayBtn);
        displayTypeGrp.add(multipleDisplayBtn);
        addDisplayTypeRadioButtonListeners();

        // combo box that lists fields that can be selected when multiple
        // display radio button is selected
        DefaultComboBoxModel cboModel = new DefaultComboBoxModel();
        valueFieldCbo = createComboBox(cboModel);
        addValueFieldsToCombo(null);
        addValueFieldCboAL();

        // little panel to hold multiple display radio button and its combo box
        PanelBuilder multipleDisplayPB = new PanelBuilder(new FormLayout("l:p,f:p:g", "p"));
        multipleDisplayPB.add(multipleDisplayBtn, cc.xy(1, 1));
        multipleDisplayPB.add(valueFieldCbo, cc.xy(2, 1));

        // format editing panels (dependent on the type for format: single/multiple)
        DataObjSwitchFormatterContainerIface formatterContainer = new DataObjSwitchFormatterSingleContainer(
                dataObjFormatter);
        fmtSingleEditingPanel = new DataObjFieldFormatSinglePanel(tableInfo, formatterContainer,
                dataObjFieldFormatMgrCache, uiFieldFormatterMgrCache, this, getOkBtn());
        fmtMultipleEditingPanel = new DataObjFieldFormatMultiplePanel(tableInfo, formatterContainer,
                dataObjFieldFormatMgrCache, uiFieldFormatterMgrCache, this, getOkBtn());

        // Panel for radio buttons and display formatting editing panel
        PanelBuilder pb = new PanelBuilder(new FormLayout("r:p,4px,f:p:g", "p,2px,p,10px,p,p,10px,f:p:g"));

        int y = 1;
        pb.add(nameLbl, cc.xy(1, y));
        pb.add(nameText, cc.xy(3, y));
        y += 2;

        pb.add(titleLbl, cc.xy(1, y));
        pb.add(titleText, cc.xy(3, y));
        y += 2;

        pb.add(typeLbl, cc.xy(1, y));
        pb.add(singleDisplayBtn, cc.xy(3, y));
        y += 1;
        pb.add(multipleDisplayPB.getPanel(), cc.xy(3, y));
        y += 2;

        // both panels occupy the same space
        pb.add(fmtSingleEditingPanel, cc.xyw(1, y, 3));
        pb.add(fmtMultipleEditingPanel, cc.xyw(1, y, 3));

        pb.setDefaultDialogBorder();

        contentPanel = pb.getPanel();

    } else {
        PanelBuilder pb = new PanelBuilder(new FormLayout("r:p,4px,f:p:g", "p,6px,p,2px,p,4px,p,10px"));

        int y = 1;
        pb.addSeparator(getResourceString("DOF_CST_ED"), cc.xyw(1, y, 3));
        y += 2;

        pb.add(nameLbl, cc.xy(1, y));
        pb.add(nameText, cc.xy(3, y));
        y += 2;

        pb.add(titleLbl, cc.xy(1, y));
        pb.add(titleText, cc.xy(3, y));
        y += 2;

        String labelStr = dataObjFormatter.getFormatters().iterator().next().getLabel();
        if (StringUtils.isNotEmpty(labelStr)) {
            pb.add(UIHelper.createFormLabel(labelStr), cc.xy(1, y));
            pb.add(customEditor, cc.xy(3, y));
            y += 2;

        } else {
            pb.add(customEditor, cc.xyw(1, y, 3));
            y += 2;
        }

        pb.setDefaultDialogBorder();

        contentPanel = pb.getPanel();
    }

    mainPanel.add(contentPanel, BorderLayout.CENTER);

    // after all is created, set initial selection on format list
    fillWithObjFormatter(dataObjFormatter, true);

    // title text field
    DocumentAdaptor nameChangedDL = new DocumentAdaptor() {
        @Override
        protected void changed(DocumentEvent ev) {
            String name = nameText.getText();
            String title = titleText.getText();

            isInError = (StringUtils.isEmpty(name)
                    || dataObjFieldFormatMgrCache.getDataFormatter(name) != null);

            dataObjFormatter.setName(name);
            dataObjFormatter.setTitle(title);

            setHasChanged(true);
        }
    };

    titleText.getDocument().addDocumentListener(nameChangedDL);
    nameText.getDocument().addDocumentListener(nameChangedDL);

    updateUIEnabled();

    packWithLargestPanel();
}