Example usage for com.jgoodies.forms.layout FormLayout removeRow

List of usage examples for com.jgoodies.forms.layout FormLayout removeRow

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout FormLayout removeRow.

Prototype

public void removeRow(int rowIndex) 

Source Link

Document

Removes the row with the given row index from the layout.

Usage

From source file:com.intellij.uiDesigner.radComponents.RadFormLayoutManager.java

License:Apache License

@Override
public int deleteGridCells(final RadContainer grid, final int cellIndex, final boolean isRow) {
    int result = 1;
    FormLayout formLayout = (FormLayout) grid.getLayout();
    adjustDeletedCellOrigins(grid, cellIndex, isRow);
    if (isRow) {//  w  w  w .  j a  v a2s. com
        int[][] groupIndices = formLayout.getRowGroups();
        groupIndices = removeDeletedCell(groupIndices, cellIndex + 1);
        formLayout.setRowGroups(groupIndices);
        formLayout.removeRow(cellIndex + 1);
        updateGridConstraintsFromCellConstraints(grid);
        if (formLayout.getRowCount() > 0 && formLayout.getRowCount() % 2 == 0) {
            int gapRowIndex = (cellIndex >= grid.getGridRowCount()) ? cellIndex - 1 : cellIndex;
            if (GridChangeUtil.isRowEmpty(grid, gapRowIndex)) {
                formLayout.removeRow(gapRowIndex + 1);
                updateGridConstraintsFromCellConstraints(grid);
                result++;
            }
        }
    } else {
        int[][] groupIndices = formLayout.getColumnGroups();
        groupIndices = removeDeletedCell(groupIndices, cellIndex + 1);
        formLayout.setColumnGroups(groupIndices);
        formLayout.removeColumn(cellIndex + 1);
        updateGridConstraintsFromCellConstraints(grid);
        if (formLayout.getColumnCount() > 0 && formLayout.getColumnCount() % 2 == 0) {
            int gapColumnIndex = (cellIndex >= grid.getGridColumnCount()) ? cellIndex - 1 : cellIndex;
            if (GridChangeUtil.isColumnEmpty(grid, gapColumnIndex)) {
                formLayout.removeColumn(gapColumnIndex + 1);
                updateGridConstraintsFromCellConstraints(grid);
                result++;
            }
        }
    }
    return result;
}

From source file:loci.ome.notes.editor.TemplateEditor.java

License:Open Source License

public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();

    if (cmd.equals("new")) {
        icons = new Hashtable[0];
        fields = new Hashtable[0];

        tabPane.removeAll();//w  w w.j a v  a 2s  .  co m
        repaint();
    } else if (cmd.equals("open")) {
        JFileChooser chooser = new JFileChooser();
        FileFilter filter = new FileFilter() {
            public boolean accept(File f) {
                return f.getAbsolutePath().endsWith(".template") || f.isDirectory();
            }

            public String getDescription() {
                return "OME Notes Templates";
            }
        };

        chooser.setFileFilter(filter);

        int status = chooser.showOpenDialog(this);
        if (status == JFileChooser.APPROVE_OPTION) {
            String file = chooser.getSelectedFile().getAbsolutePath();
            try {
                Template t = new Template(file);

                TemplateTab[] tabs = t.getTabs();
                for (int i = 0; i < tabs.length; i++) {
                    int rows = tabs[i].getRows();
                    int cols = tabs[i].getColumns();
                    if (cols == 0)
                        cols = 1;
                    if (rows == 0)
                        rows = 1;

                    addTab(tabs[i].getName(), rows, cols);
                    tabPane.setSelectedIndex(i);

                    for (int j = 0; j < tabs[i].getNumFields(); j++) {
                        TemplateField f = tabs[i].getField(j);

                        int x = f.getRow();
                        int y = f.getColumn();
                        if (x == -1)
                            x = 1;
                        if (y == -1)
                            y = j + 1;

                        Point p = new Point(x, y);
                        DraggableIcon icon = (DraggableIcon) icons[i].get(p);

                        icon.label = new JLabel(f.getName());

                        JPanel panel = new JPanel();
                        panel.add(f.getComponent());

                        icon.setPanel(panel);
                    }
                }
            } catch (Exception exc) {
                error("Failed to parse template", exc);
            }

            tabPane.setSelectedIndex(0);
        }
    } else if (cmd.equals("save")) {
        // build up the template from the components

        TemplateTab[] tabs = new TemplateTab[tabPane.getTabCount()];

        for (int i = 0; i < tabs.length; i++) {
            tabs[i] = new TemplateTab();
            tabs[i].setName(tabPane.getTitleAt(i));
            JComponent c = (JComponent) tabPane.getComponentAt(i);
            FormLayout layout = (FormLayout) c.getLayout();

            tabs[i].setRows(layout.getRowCount());
            tabs[i].setColumns(layout.getColumnCount());

            Object[] keys = icons[i].keySet().toArray();

            for (int j = 0; j < keys.length; j++) {
                Point p = (Point) keys[j];
                DraggableIcon icon = (DraggableIcon) icons[i].get(p);
                TemplateField f = (TemplateField) fields[i].get(p);

                if (icon.image != null) {
                    Component[] components = icon.image.getComponents();
                    JLabel label = icon.label;
                    JComponent component = (JComponent) components[0];

                    f.setComponent(component);

                    for (int k = 0; k < COMPONENTS.length; k++) {
                        if (component.getClass().equals(COMPONENTS[k])) {
                            f.setType(COMPONENT_TYPES[k]);
                            break;
                        }
                    }

                    f.setRow(p.y);
                    f.setColumn(p.x);
                    f.setDefaultValue(TemplateTools.getComponentValue(component));

                    tabs[i].addField(f);
                }
            }
        }

        Template t = new Template(tabs, null);

        // prompt for filename to save to
        if (currentFile == null) {
            JFileChooser chooser = new JFileChooser();

            FileFilter filter = new FileFilter() {
                public boolean accept(File f) {
                    return true;
                }

                public String getDescription() {
                    return "All files";
                }
            };

            chooser.setFileFilter(filter);

            int status = chooser.showSaveDialog(this);
            if (status == JFileChooser.APPROVE_OPTION) {
                currentFile = chooser.getSelectedFile().getAbsolutePath();
                if (currentFile == null)
                    return;
            }
        }

        try {
            t.save(currentFile);
        } catch (IOException io) {
            error("Failed to save template", io);
        }
    } else if (cmd.equals("quit"))
        dispose();
    else if (cmd.equals("add row"))
        addRow();
    else if (cmd.equals("add col"))
        addColumn();
    else if (cmd.equals("prompt tab")) {
        // prompt for tab name
        JPopupMenu menu = new JPopupMenu();
        newTabName = new JTextField();
        newTabName.setPreferredSize(new Dimension(200, 25));
        menu.add(newTabName);
        JButton b = new JButton("OK");
        b.addActionListener(this);
        b.setActionCommand("new tab");
        menu.add(b);

        JComponent s = (JComponent) e.getSource();
        menu.show(s, s.getX(), s.getY());
        newTabName.grabFocus();
    } else if (cmd.equals("new tab")) {
        newTabName.getParent().setVisible(false);
        addTab(newTabName.getText(), 2, 2);
    } else if (cmd.equals("setName")) {
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        menu.setVisible(false);

        String text = ((JTextField) menu.getComponents()[0]).getText();

        Point p = new Point(icon.gridx, icon.gridy);
        int ndx = tabPane.getSelectedIndex();
        TemplateField f = (TemplateField) fields[ndx].get(p);
        f.setName(text);
        f.setNameMap(null);

        // set the name
        if (icon.label != null)
            icon.remove(icon.label);
        icon.remove(icon.image);
        icon.label = new JLabel(text);
        icon.add(icon.label);
        icon.add(icon.image);
        icon.getParent().repaint();
    } else if (cmd.equals("changeName")) {
        // prompt for new field name
        JPopupMenu menu = new JPopupMenu();
        JTextField field = new JTextField();
        field.setPreferredSize(new Dimension(200, 25));
        menu.add(field);
        JButton b = new JButton("OK");
        b.addActionListener(this);
        b.setActionCommand("setName");
        menu.add(b);
        menu.show(lastMenuComponent, lastMenuX, lastMenuY);
        field.grabFocus();
    } else if (cmd.equals("nameMap")) {
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        menu.setVisible(false);

        MappingWindow w = new MappingWindow(this, true);
        w.show(lastMenuComponent, lastMenuX, lastMenuY);
    } else if (cmd.equals("map")) {
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        menu.setVisible(false);

        MappingWindow w = new MappingWindow(this, false);
        w.show(lastMenuComponent, lastMenuX, lastMenuY);
    } else if (cmd.equals("repeat")) {
        JMenuItem item = (JMenuItem) e.getSource();
        DraggableIcon icon = (DraggableIcon) ((JPopupMenu) item.getParent()).getInvoker();
        TemplateField f = getField(icon);

        if (item.getText().equals("Repeat this field")) {
            item.setText("Don't repeat this field");
            f.setRepeated(true);
        } else {
            item.setText("Repeat this field");
            f.setRepeated(false);
        }
    } else if (cmd.equals("removeField")) {
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        menu.setVisible(false);

        int idx = tabPane.getSelectedIndex();
        Object[] keys = icons[idx].keySet().toArray();
        for (int i = 0; i < keys.length; i++) {
            if (icons[idx].get(keys[i]).equals(icon)) {
                icons[idx].remove(keys[i]);
                fields[idx].remove(keys[i]);
                break;
            }
        }

        icon.remove(icon.label);
        icon.remove(icon.image);
        tabPane.repaint();
    } else if (cmd.startsWith("removeRow")) {
        int row = Integer.parseInt(cmd.substring(cmd.indexOf(":") + 1));
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        menu.setVisible(false);

        JPanel pane = (JPanel) tabPane.getSelectedComponent();
        FormLayout layout = (FormLayout) pane.getLayout();

        int rows = layout.getRowCount();
        int cols = layout.getColumnCount();

        int idx = tabPane.getSelectedIndex();

        for (int i = 0; i < cols; i++) {
            pane.remove((JComponent) icons[idx].get(new Point(i + 1, row + 1)));
        }

        rekey(row, -1);
        layout.removeRow(row + 1);
        tabPane.repaint();
    } else if (cmd.startsWith("removeColumn")) {
        int col = Integer.parseInt(cmd.substring(cmd.indexOf(":") + 1));
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        menu.setVisible(false);

        JPanel pane = (JPanel) tabPane.getSelectedComponent();
        FormLayout layout = (FormLayout) pane.getLayout();

        int rows = layout.getRowCount();
        int cols = layout.getColumnCount();
        int idx = tabPane.getSelectedIndex();

        for (int i = 0; i < rows; i++) {
            pane.remove((JComponent) icons[idx].get(new Point(col + 1, i + 1)));
        }

        rekey(-1, col);
        layout.removeColumn(col + 1);
        tabPane.repaint();
    } else if (cmd.equals("removeTab")) {
        int ndx = tabPane.getSelectedIndex();
        tabPane.remove(ndx);

        Hashtable[] h = new Hashtable[icons.length - 1];
        Hashtable[] f = new Hashtable[fields.length - 1];

        System.arraycopy(icons, 0, h, 0, ndx);
        System.arraycopy(icons, ndx + 1, h, ndx, h.length - ndx);
        System.arraycopy(fields, 0, f, 0, ndx);
        System.arraycopy(fields, ndx + 1, f, ndx, f.length - ndx);

        icons = h;
        fields = f;
    } else if (cmd.equals("specifyChoices")) {
        JMenuItem item = (JMenuItem) e.getSource();
        DraggableIcon icon = (DraggableIcon) ((JPopupMenu) item.getParent()).getInvoker();
        TemplateField f = getField(icon);

        EnumWindow w = new EnumWindow(this, f.getEnums());
        w.show(lastMenuComponent, lastMenuX, lastMenuY);
    } else if (cmd.equals("setThumbSource")) {
        JPopupMenu menu = new JPopupMenu();
        ButtonGroup g = new ButtonGroup();

        JRadioButton dataset = new JRadioButton("Use thumbnail from dataset");
        dataset.setSelected(true);
        g.add(dataset);

        JRadioButton file = new JRadioButton("Use thumbnail from file:");
        g.add(file);

        menu.add(dataset);
        menu.add(file);

        JTextField field = new JTextField();
        field.setPreferredSize(new Dimension(200, 25));
        menu.add(field);

        JButton b = new JButton("OK");
        b.addActionListener(this);
        b.setActionCommand("applyThumbSource");
        menu.add(b);
        menu.show(lastMenuComponent, lastMenuX, lastMenuY);
    } else if (cmd.equals("applyThumbSource")) {
        JPopupMenu menu = (JPopupMenu) ((JComponent) e.getSource()).getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();

        Component[] c = menu.getComponents();
        JRadioButton dataset = (JRadioButton) c[0];

        String text = null;

        if (!dataset.isSelected()) {
            JTextField t = (JTextField) c[2];
            text = t.getText();
            getField(icon).setValueMap(text);
        }

        menu.setVisible(false);

        if (text != null) {
            try {
                BufferedImageReader reader = new BufferedImageReader();
                reader.setId(text);
                BufferedImage thumb = reader.openThumbImage(0);
                JLabel label = (JLabel) icon.image.getComponents()[0];
                label.setIcon(new ImageIcon(thumb));
                reader.close();
            } catch (FormatException exc) {
                error("Failed to open thumbnail (" + text + ")", exc);
            } catch (IOException exc) {
                error("Failed to open thumbnail (" + text + ")", exc);
            }
        }
    } else if (cmd.equals("ok")) {
        // this event came from an instance of EnumWindow
        JPanel parent = (JPanel) ((JButton) e.getSource()).getParent();
        EnumWindow menu = (EnumWindow) parent.getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        TemplateField f = getField(icon);
        menu.setVisible(false);

        String[] options = menu.getOptions();
        f.setEnums(options);

        JComboBox box = (JComboBox) icon.image.getComponents()[0];
        for (int i = 0; i < options.length; i++)
            box.addItem(options[i]);
        repaint();
    } else if (cmd.equals("chooseMapping")) {
        // this event came from an instance of MappingWindow
        JTabbedPane parent = (JTabbedPane) ((JButton) e.getSource()).getParent();
        MappingWindow menu = (MappingWindow) parent.getParent();
        DraggableIcon icon = (DraggableIcon) menu.getInvoker();
        TemplateField f = getField(icon);

        String omexmlMap = null;

        if (menu.nameMap)
            f.setNameMap(omexmlMap);
        else
            f.setValueMap(omexmlMap);
        menu.setVisible(false);
    }
}

From source file:picocash.dialogs.impl.ManageAccountDialog.java

License:Open Source License

@Override
protected JComponent getComponentsToDisplay() {

    FormLayout layout = new FormLayout("p,2dlu,80dlu:g,2dlu", "p,2dlu,p,2dlu,p,2dlu,p,2dlu,p,2dlu,p");
    CellConstraints cc = new CellConstraints();

    JPanel panel = new JPanel(layout);

    panel.add(new JLabel(getText("accountDialog.label.name.text", "")), cc.xy(1, 1));
    panel.add(new JLabel(getText("accountDialog.label.icon.text", "")), cc.xy(1, 3));
    panel.add(new JLabel(getText("accountDialog.label.bank.text", "")), cc.xy(1, 5));
    panel.add(new JLabel(getText("accountDialog.label.accountNumber.text", "")), cc.xy(1, 7));

    panel.add(new JLabel(getText("accountDialog.label.withdrawAt.text", "")), cc.xy(1, 11));

    panel.add(nameTextField, cc.xy(3, 1));
    panel.add(iconComboBox, cc.xy(3, 3));
    panel.add(bankTextField, cc.xy(3, 5));
    panel.add(accountNumberTextField, cc.xy(3, 7));
    if (showStartbalance) {
        panel.add(new JLabel(getText("accountDialog.label.balance.text", "")), cc.xy(1, 9));
        panel.add(startBalanceTextfield, cc.xy(3, 9));
    }//w w  w  .  ja  va2  s  . c om
    panel.add(withdrawAtTextfield, cc.xy(3, 11));

    if (!showStartbalance) {
        layout.removeRow(9);
    }
    return panel;
}