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.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  om
            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.specify.config.FeedBackDlg.java

License:Open Source License

@Override
protected FeedBackSenderItem getFeedBackSenderItem(final Class<?> cls, final Exception exception) {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,p,f:p:g", "p,4px,p,4px,p,4px,p,4px,f:p:g"));

    Vector<String> taskItems = new Vector<String>();
    for (Taskable task : TaskMgr.getInstance().getAllTasks()) {
        taskItems.add(task.getTitle());// www. j  a v a2 s. c o  m
    }

    String[] OTHERS = { "WEBSITE", "CSTSUP", "INSTL", "DOC", "WHTPR", "HLP" };
    for (String key : OTHERS) {
        taskItems.add(UIRegistry.getResourceString("FeedBackDlg." + key));
    }
    Collections.sort(taskItems);

    final JComboBox taskCBX = createComboBox(taskItems);
    final JTextField subjectTF = createTextField();
    final JTextField issueTF = createTextField();
    final JTextArea commentsTA = createTextArea(15, 60);

    int y = 1;
    pb.add(createI18NLabel("FeedBackDlg.INFO"), cc.xyw(1, y, 4));
    y += 2;

    pb.add(createI18NFormLabel("FeedBackDlg.SUB"), cc.xy(1, y));
    pb.add(subjectTF, cc.xyw(3, y, 2));
    y += 2;

    pb.add(createI18NFormLabel("FeedBackDlg.COMP"), cc.xy(1, y));
    pb.add(taskCBX, cc.xy(3, y));
    y += 2;

    //pb.add(createFormLabel("Question/Issue"), cc.xy(1, y));
    //pb.add(issueTF,                           cc.xyw(3, y, 2)); y += 2;

    pb.add(createI18NFormLabel("FeedBackDlg.COMM"), cc.xy(1, y));
    y += 2;
    pb.add(createScrollPane(commentsTA, true), cc.xyw(1, y, 4));
    y += 2;

    Taskable currTask = SubPaneMgr.getInstance().getCurrentSubPane().getTask();
    taskCBX.setSelectedItem(currTask != null ? currTask : TaskMgr.getDefaultTaskable());

    pb.setDefaultDialogBorder();
    CustomDialog dlg = new CustomDialog((Frame) null, UIRegistry.getResourceString("FeedBackDlg.TITLE"), true,
            pb.getPanel());

    centerAndShow(dlg);

    if (!dlg.isCancelled()) {
        String taskTitle = (String) taskCBX.getSelectedItem();
        if (taskTitle != null) {
            for (Taskable task : TaskMgr.getInstance().getAllTasks()) {
                if (task.getTitle().equals(taskTitle)) {
                    taskTitle = task.getName();
                }
            }
        } else {
            taskTitle = "No Task Name";
        }
        FeedBackSenderItem item = new FeedBackSenderItem(taskTitle, subjectTF.getText(), issueTF.getText(),
                commentsTA.getText(), "", cls != null ? cls.getName() : "");
        return item;
    }
    return null;
}

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

License:Open Source License

/**
 * Helper function for creating the UI.//  w w  w  .  ja  va 2  s .c  o  m
 * @param builder builder
 * @param label the string label
 * @param row the row to place it on
 * @param isPassword whether to create a password or text field
 * @return the create JTextField (or JPasswordField)
 */
protected JTextField createField(final PanelBuilder builder, final String label, final boolean isRequired,
        final int row, final boolean isPassword, final Integer numColmns) {
    CellConstraints cc = new CellConstraints();

    JTextField tf = null;
    if (isPassword) {
        tf = new ValPasswordField(15);
    } else {
        ValTextField vtf = new ValTextField(15);
        if (numColmns != null) {
            vtf.setLimit(numColmns);
        }
        tf = vtf;
    }

    JLabel lbl = createI18NFormLabel(label, SwingConstants.RIGHT);
    if (isRequired) {
        lbl.setFont(bold);
    }
    builder.add(lbl, cc.xy(1, row));
    builder.add(tf, cc.xyw(3, row, makeStretchy ? 2 : 1));
    if (isRequired) {
        tf.setBackground(new Color(215, 230, 253)); // required Color
    }

    tf.getDocument().addDocumentListener(createDocChangeAdaptor(tf));
    return tf;
}

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

License:Open Source License

/**
 * Helper function for creating the UI.//from   w  ww  . j av  a2  s.  c  o m
 * @param builder builder
 * @param labelKey the string label
 * @param row the row to place it on
 * @return the create JCheckBox
 */
protected JCheckBox createCheckBox(final PanelBuilder builder, final String labelKey, final int row) {
    CellConstraints cc = new CellConstraints();

    JCheckBox checkbox = UIHelper.createCheckBox(UIRegistry.getResourceString(labelKey));

    JLabel lbl = UIHelper.createI18NLabel(" ", SwingConstants.RIGHT);
    builder.add(lbl, cc.xy(1, row));
    builder.add(checkbox, cc.xyw(3, row, makeStretchy ? 2 : 1));
    return checkbox;
}

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 . com
@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.NumberingSchemeSetupDlg.java

License:Open Source License

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

    DBTableInfo divTblInfo = DBTableIdMgr.getInstance().getInfoById(Division.getClassTableId());
    DBTableInfo dspTblInfo = DBTableIdMgr.getInstance().getInfoById(Discipline.getClassTableId());

    ansTitle = DBTableIdMgr.getInstance().getInfoById(AutoNumberingScheme.getClassTableId()).getTitle();
    setTitle(ansTitle);/*from  w  w  w.  j av  a  2  s .c  o m*/

    DefaultComboBoxModel model = new DefaultComboBoxModel();
    cbx = new JComboBox(model);

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

    int y = 1;
    bldr.add(UIHelper.createI18NFormLabel(divTblInfo.getTitle()), cc.xy(1, y));
    bldr.add(divisionTxt = UIHelper.createTextField(""), cc.xy(3, y));
    y += 2;

    bldr.add(UIHelper.createI18NFormLabel(dspTblInfo.getTitle()), cc.xy(1, y));
    bldr.add(disciplineTxt = UIHelper.createTextField(), cc.xy(3, y));
    y += 2;

    bldr.add(UIHelper.createI18NFormLabel("SEL_NUM_SCHEME"), cc.xy(1, y));
    bldr.add(cbx, cc.xy(3, y));
    y += 2;

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

    bldr.add(UIHelper.createI18NLabel("NUM_SCHEME_DESC", SwingConstants.LEFT), cc.xyw(1, y, 3));
    y += 2;

    bldr.add(UIHelper.createI18NFormLabel(ansTitle), cc.xy(1, y));
    bldr.add(numSchemeTxt = UIHelper.createTextField(""), cc.xy(3, y));
    y += 2;

    ViewFactory.changeTextFieldUIForDisplay(divisionTxt, false);
    ViewFactory.changeTextFieldUIForDisplay(disciplineTxt, false);
    ViewFactory.changeTextFieldUIForDisplay(numSchemeTxt, false);

    divisionTxt.setText(division.toString());
    disciplineTxt.setText(discipline.toString());

    load(model);

    cbx.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            numScheme = null;
            okBtn.setEnabled(false);

            if (cbx.getSelectedIndex() == 1) {
                createNewAutoNumberingScheme();
                if (numScheme != null) {
                    numScheme.setTableNumber(CollectionObject.getClassTableId());
                }

            } else if (cbx.getSelectedIndex() > 1) {
                numScheme = (AutoNumberingScheme) cbx.getSelectedItem();
                numSchemeTxt.setText(numScheme.getSchemeName());
                okBtn.setEnabled(true);
            }
        }
    });

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

    okBtn.setEnabled(false);

    pack();
}

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

License:Open Source License

/**
 * Registers the ISA number./*from  w  w  w. j  a  v a2s  . c  o  m*/
 */
public static void registerISA() {
    SpecifyUser spUser = AppContextMgr.getInstance().getClassObject(SpecifyUser.class);
    if (!spUser.getUserType().equals(SpecifyUserTypes.UserType.Manager.toString())) {
        UIRegistry.showLocalizedMsg("", "SpReg.MUSTBECM");
        return;
    }

    Collection collection = AppContextMgr.getInstance().getClassObject(Collection.class);
    String isaNumber = collection.getIsaNumber();
    String isaTitle = getResourceString("SpReg.ISA_TITLE");

    if (StringUtils.isNotEmpty(isaNumber)) {
        String msg = UIRegistry.getLocalizedMessage("SpReg.ISA_NUM", isaNumber);
        JOptionPane.showMessageDialog(UIRegistry.getTopWindow(), msg, isaTitle,
                JOptionPane.INFORMATION_MESSAGE);

    } else {
        final JTextField textField = UIHelper.createTextField(30);
        isaNumber = textField.getText();

        CellConstraints cc = new CellConstraints();
        PanelBuilder pb = new PanelBuilder(new FormLayout("p,2px,f:p:g", "p,10px,p"));
        pb.add(UIHelper.createI18NFormLabel("SpReg.ISA_ENT"), cc.xy(1, 1));
        pb.add(textField, cc.xy(3, 1));
        pb.add(UIHelper.createI18NLabel("SpReg.ISA_EXPL"), cc.xyw(1, 3, 3));
        pb.setDefaultDialogBorder();

        CustomDialog dlg = new CustomDialog((Frame) UIRegistry.getTopWindow(), isaTitle, true, pb.getPanel());
        dlg.createUI();
        final JButton okBtn = dlg.getOkBtn();
        okBtn.setEnabled(false);

        textField.getDocument().addDocumentListener(new DocumentAdaptor() {
            @Override
            protected void changed(DocumentEvent e) {
                if (StringUtils.isNotEmpty(textField.getText()) != okBtn.isEnabled()) {
                    okBtn.setEnabled(!okBtn.isEnabled());
                }
            }
        });

        dlg.setVisible(true);
        isaNumber = textField.getText();
        if (!dlg.isCancelled() && StringUtils.isNotEmpty(isaNumber)) {
            setIsAnonymous(false);

            collection.setIsaNumber(isaNumber);

            getInstance().doStartRegister(RegisterType.Collection, false, true);

            AppPreferences.getLocalPrefs().putBoolean(EXTRA_CHECK, true);
        }
    }
}

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

License:Open Source License

/**
 * Creates a dialog for entering database name and selecting the appropriate driver.
 */// w  ww .j  a  v  a2s . c om
public DatabasePanel(final JButton nextBtn, final JButton prevBtn, final String helpContext,
        final boolean doSetDefaultValues) {
    super("DATABASE", helpContext, nextBtn, prevBtn);

    this.doSetDefaultValues = doSetDefaultValues;

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

    CellConstraints cc = new CellConstraints();

    String rowDef = "p,2px," + UIHelper.createDuplicateJGoodiesDef("p", "2px", isMobile() ? 5 : 4)
            + ",10px,p,10px,p,4px,p,4px,p,10px,f:p:g";
    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;
    if (isMobile()) {
        dbNameTxt = createField(builder, "DB_NAME", true, row);
        row += 2;
    } else {
        dbNameTxt = createTextField();
    }
    hostNameTxt = createField(builder, "HOST_NAME", true, row);
    row += 2;

    driverList = DatabaseDriverInfo.getDriversList();
    drivers = 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;

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

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

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

    //panelPB.getPanel().setBackground(Color.RED);
    //setBackground(Color.GREEN);

    // Advance part of pane
    advLabel = UIHelper.createI18NLabel("SEC_ADV_MU_DESC", SwingConstants.CENTER);
    skipStepBtn = UIHelper.createI18NButton("ADV_DB_TEST");
    builder.add(advLabel, cc.xyw(3, row, 1));
    row += 2;

    PanelBuilder 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;

    JComponent helpComponent = createHelpPanel(getBackground(), "database");
    builder.add(helpComponent, cc.xyw(3, row, 1));
    row += 2;

    skipStepBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            skipStepBtn.setEnabled(false);
            boolean ok = skipDBCreate();

            if (ok) {
                ok = checkForPermissions();
            }

            isOK = ok;
            skipStepBtn.setEnabled(true);
            advLabel.setText(getResourceString(ok ? "ADV_DB_OK" : "ADV_DB_ERR"));
            advLabel.setForeground(ok ? Color.BLACK : Color.RED);
            nextBtn.setEnabled(isOK);
        }
    });

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

    progressBar.setVisible(false);

    updateBtnUI();
}

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

License:Open Source License

/**
 * //  w ww  . j a v  a2 s.  c  o m
 */
protected void createUI() {
    dbList = new JList(new DefaultListModel());
    otherDBList = new JList(new DefaultListModel());

    userModel = new UserTableModel(null);
    userTable = new JTable(userModel);

    CellConstraints cc = new CellConstraints();

    saveBtn = UIHelper.createButton("Save");
    mkKeysBtn = UIHelper.createButton("Make Keys");
    copyKeyBtn = UIHelper.createButton("Copy Master Key");
    sendKeysBtn = UIHelper.createButton("Send Keys");
    showKeysBtn = UIHelper.createButton("Show Summary");
    printKeysBtn = UIHelper.createButton("Print");
    btns = new JButton[] { saveBtn, sendKeysBtn, copyKeyBtn, showKeysBtn, printKeysBtn };

    String colDef = UIHelper.createDuplicateJGoodiesDef("p", "8px", btns.length);
    PanelBuilder btnPB = new PanelBuilder(new FormLayout("f:p:g," + colDef, "p"));
    int x = 2;
    for (JButton b : btns) {
        btnPB.add(b, cc.xy(x, 1));
        x += 2;
    }
    saveBtn.setEnabled(false);
    copyKeyBtn.setEnabled(false);

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

    gainAccessBtn = UIHelper.createIconBtn("Unmap", "", null);
    loseAccessBtn = UIHelper.createIconBtn("Map", "", null);

    PanelBuilder bpb = new PanelBuilder(new FormLayout("p", "f:p:g,p,8px,p,f:p:g"));
    bpb.add(gainAccessBtn, cc.xy(1, 2));
    bpb.add(loseAccessBtn, cc.xy(1, 4));

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

    tpb.add(UIHelper.createI18NLabel("MSTR_HAS_PERM", SwingConstants.CENTER), cc.xy(1, 1));
    tpb.add(otherDBLbl = UIHelper.createI18NLabel("MSTR_HAS_NOPERM", SwingConstants.CENTER), cc.xy(5, 1));

    tpb.add(dbScrollPane = UIHelper.createScrollPane(dbList), cc.xy(1, 3));
    tpb.add(bpb.getPanel(), cc.xy(3, 3));
    tpb.add(odbScrollPane = UIHelper.createScrollPane(otherDBList), cc.xy(5, 3));

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

    sendKeysBtn.setVisible(false);

    int y = 1;
    pb.add(tpb.getPanel(), cc.xyw(1, y, 2));
    y += 2;
    y += 2;
    pb.add(label, cc.xyw(1, y, 2));
    y += 2;
    pb.add(userScrollPane = UIHelper.createScrollPane(userTable), cc.xyw(1, y, 2));
    y += 2;
    pb.add(btnPB.getPanel(), cc.xy(2, y));
    y += 2;
    pb.addSeparator("", cc.xyw(1, y, 2));
    y += 2;

    dbList.setVisibleRowCount(8);
    otherDBList.setVisibleRowCount(8);

    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            Dimension size = userTable.getPreferredScrollableViewportSize();
            size.height = 10 * userTable.getRowHeight();
            userTable.setPreferredScrollableViewportSize(size);
        }
    });

    updateBtnUI(false);

    dbList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                loadData(false);

                gainAccessBtn.setEnabled(otherDBList.getSelectedIndex() > -1);
                loseAccessBtn.setEnabled(dbList.getSelectedIndex() > -1);
            }
        }
    });

    userTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                doUserSelected();
            }
        }
    });

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

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

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

    copyKeyBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int inx = userTable.getSelectedRow();
            if (inx > -1) {
                String masterKey = userModel.getUserData().get(inx).getMasterKey();
                UIHelper.setTextToClipboard(masterKey);
            }
        }
    });

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

    printKeysBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            printUserData();
        }
    });
    gainAccessBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            changeMasterAccess(true);
        }
    });

    loseAccessBtn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            changeMasterAccess(false);
        }
    });

    otherDBList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                otherDBName = (String) otherDBList.getSelectedValue();
                gainAccessBtn.setEnabled(otherDBList.getSelectedIndex() > -1);
                loseAccessBtn.setEnabled(dbList.getSelectedIndex() > -1);
            }
        }
    });

}

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

License:Open Source License

/**
 * Creates a dialog for entering database name and selecting the appropriate driver.
 */// ww w .j  a va 2s . c  o  m
public TaxonLoadSetupPanel(final String helpContext, final JButton nextBtn, final JButton prevBtn) {
    super("PRELOADTXN", helpContext, nextBtn, prevBtn);

    String header = getResourceString("PRELOADTXN_INFO");

    CellConstraints cc = new CellConstraints();

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

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

    fileCBX = createComboBox();
    srcTF = createTextField("");
    coverageTF = createTextField("");
    descTA = createTextArea();
    otherBrw = new ValBrowseBtnPanel(otherTF = new ValTextField(), false, true);
    otherBrw.setUseNativeFileDlg(true);

    descTA.setEditable(false);
    descTA.setColumns(30);
    descTA.setRows(5);
    descTA.setWrapStyleWord(true);
    descTA.setLineWrap(true);

    ViewFactory.changeTextFieldUIForDisplay(srcTF, false);
    ViewFactory.changeTextFieldUIForDisplay(coverageTF, false);

    builder.add(preloadChk = createI18NCheckBox("TFD_LOAD_TAXON"), cc.xy(1, row));
    row += 2;

    builder.addSeparator(UIRegistry.getResourceString("TFD_SEP_STD"), cc.xyw(1, row, 3));
    row += 2;

    builder.add(fileLbl = createI18NFormLabel("TFD_FILE_LBL"), cc.xy(1, row));
    builder.add(fileCBX, cc.xy(3, row));
    row += 2;

    builder.add(srcLbl = createI18NFormLabel("TFD_SRC_LBL"), cc.xy(1, row));
    builder.add(srcTF, cc.xy(3, row));
    row += 2;

    builder.add(coverageLbl = createI18NFormLabel("TFD_CVRG_LBL"), cc.xy(1, row));
    builder.add(coverageTF, cc.xy(3, row));
    row += 2;

    builder.add(descLbl = createI18NFormLabel("TFD_DESC_LBL"), cc.xy(1, row));
    builder.add(createScrollPane(descTA), cc.xy(3, row));
    row += 2;

    //othSep = builder.addSeparator(UIRegistry.getResourceString("TFD_SEP_OTH"), cc.xyw(1, row, 3));
    row += 2;

    //builder.add(otherLbl = createI18NFormLabel("TFD_OTHER_LBL"), cc.xy(1, row));
    //builder.add(otherBrw,        cc.xy(3, row));
    row += 2;

    updateBtnUI();

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

    preloadChk.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            boolean checked = preloadChk.isSelected();
            if (checked) {
                if (fileCBX.getModel().getSize() > 0 && fileCBX.getSelectedIndex() == -1) {
                    fileCBX.setSelectedIndex(0);
                }
                enableUI(otherTF.getText().isEmpty(), true, true);

            } else {
                enableUI(false, true, false);
            }
        }
    });

    otherTF.addFocusListener(new FocusAdapter() {

        /* (non-Javadoc)
         * @see java.awt.event.FocusAdapter#focusLost(java.awt.event.FocusEvent)
         */
        @Override
        public void focusLost(FocusEvent e) {
            updateBtnUI();
        }

    });

    otherBrw.setNativeDlgFilter(new FilenameFilter() {

        /* (non-Javadoc)
         * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
         */
        @Override
        public boolean accept(File dir, String name) {
            return name.toLowerCase().endsWith(XLS);
        }
    });
}