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

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

Introduction

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

Prototype

public void removeColumn(int columnIndex) 

Source Link

Document

Removes the column with the given column 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) {/*from www.  jav a  2s.  co m*/
        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:jgnash.ui.budget.BudgetOverviewPanel.java

License:Open Source License

void updateSparkLines() {

    Runnable r = new Runnable() {

        @Override/*from  ww w . j  a v a2s. co  m*/
        public void run() {

            final List<AccountGroup> groups = new ArrayList<>(budgetPanel.getAccountGroups());

            final List<Icon> icons = new ArrayList<>();

            for (AccountGroup group : groups) {
                icons.add(budgetPanel.getSparkLineIcon(group));
            }

            EventQueue.invokeLater(new Runnable() {

                @Override
                public void run() {
                    FormLayout layout = (FormLayout) sparklinePanel.getLayout();

                    // remove all components and columns
                    sparklinePanel.removeAll();

                    int columnCount = layout.getColumnCount();

                    for (int i = columnCount; i >= 1; i--) {
                        layout.removeColumn(i);
                    }

                    // create components and columns and add
                    if (icons.size() > 0) {
                        layout.appendColumn(ColumnSpec.decode("d"));
                        sparklinePanel.add(getLabel(groups.get(0), icons.get(0)), CC.xy(1, 1));

                        for (int i = 1; i < icons.size(); i++) {
                            layout.appendColumn(ColumnSpec.decode("2dlu"));
                            layout.appendColumn(ColumnSpec.decode("d"));

                            sparklinePanel.add(getLabel(groups.get(i), icons.get(i)), CC.xy(i * 2 + 1, 1));
                        }
                    }

                    // force the complete panel to update so icons show
                    invalidate();
                    validate();
                }
            });
        }
    };

    updateIconExecutor.execute(r);
}

From source file:jgnash.ui.register.AccountExchangePanel.java

License:Open Source License

private void removeExtraComponents() {
    FormLayout layout = (FormLayout) getLayout();

    remove(expandButton);//ww  w  .  j a v  a2 s.  c  om
    remove(exchangeAmountField);
    remove(amountLabel);

    layout.removeColumn(7);
    layout.removeColumn(6);
    layout.removeColumn(5);
    layout.removeColumn(4);
    layout.removeColumn(3);
    layout.removeColumn(2);

    invalidate();

    isLayoutCompact = true;
}

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();/*from   w w  w  .j a  va2s.  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:org.siberia.editor.ValidationEditor.java

License:Open Source License

/** set the interval in pixels between button
 *  @param interval a positive integer/*from w  w w  .  j  ava2  s .c  o  m*/
 */
public void setButtonsInterval(int interval) {
    if (interval < 0)
        throw new IllegalArgumentException("interval have to be positive");

    this.buttonInterval = interval;

    if (this.validationPanel != null) {
        FormLayout layout = (FormLayout) this.validationPanel.getLayout();
        layout.removeColumn(3);
        layout.insertColumn(3, new ColumnSpec(this.buttonInterval + "px"));

        this.validationPanel.revalidate();
    }
}