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

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

Introduction

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

Prototype

public CellConstraints xy(int col, int row) 

Source Link

Document

Sets column and row origins; sets width and height to 1; uses the default alignments.

Examples:

 cc.xy(1, 1); cc.xy(1, 3); 

Usage

From source file:captureplugin.drivers.defaultdriver.configpanels.ParameterPanel.java

License:Open Source License

/**
 * creates a JPanel for getting the parameters
 *//*from  www.j  a v a  2 s . c om*/
private void createPanel() {
    try {
        CellConstraints cc = new CellConstraints();
        EnhancedPanelBuilder pb = new EnhancedPanelBuilder("5dlu,pref,5dlu,pref:grow,pref,5dlu", this);
        pb.setDefaultDialogBorder();

        pb.addParagraph(mLocalizer.msg("parametersRecord", "Parameters for recording"));

        pb.addGrowingRow();
        mAddFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatAdd(),
                false);
        mAddFormatTextField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                addFormatChanged();
            }
        });

        pb.add(mAddFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1));

        pb.addParagraph(mLocalizer.msg("parametersDelete", "Parameters for deletion"));

        pb.addGrowingRow();
        mRemFormatTextField = new ParamInputField(new CaptureParamLibrary(mData), mData.getParameterFormatRem(),
                false);
        mRemFormatTextField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                remFormatChanged();
            }
        });

        pb.add(mRemFormatTextField, cc.xyw(2, pb.getRow(), pb.getColumnCount() - 1));

        pb.addParagraph(mLocalizer.msg("parametersAdditional", "Additional commands"));
        pb.addRow();
        JButton additional = new JButton(mLocalizer.msg("Additional", "Define additional commands"));

        additional.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                AdditionalParams params = new AdditionalParams(mKonfigurator, mData);
                UiUtilities.centerAndShow(params);
            }
        });

        pb.add(additional, cc.xy(pb.getColumnCount() - 1, pb.getRow()));

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:captureplugin.drivers.defaultdriver.configpanels.SettingsPanel.java

License:Open Source License

/**
 * creates a JPanel for getting the time offsets
 *//*from  w ww.  jav  a  2 s .c o  m*/
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,12dlu,pref:grow,5dlu,pref:grow,5dlu",
            "pref,5dlu,pref,1dlu,pref,10dlu,pref,5dlu,pref,1dlu,"
                    + "pref,10dlu,pref,5dlu,pref,1dlu,pref,7dlu,pref,pref,"
                    + "pref,pref,pref,7dlu,pref,pref,10dlu,pref"),
            this);
    pb.setDefaultDialogBorder();

    mPreTimeSpinner = new JSpinner(new SpinnerNumberModel(mData.getPreTime(), 0, null, 1));
    mPostTimeTextField = new JSpinner(new SpinnerNumberModel(mData.getPostTime(), 0, null, 1));

    mUserName.setText(mData.getUsername());
    mUserPwd.setText(mData.getPassword());

    mMaxSimult = new JSpinner(new SpinnerNumberModel(mData.getMaxSimultanious(), 1, null, 1));
    mMaxTimeout = new JSpinner(new SpinnerNumberModel(mData.getTimeout(), -1, 999, 1));

    mCheckReturn = new JCheckBox(mLocalizer.msg("CheckError", "Check if returns Error"),
            mData.useReturnValue());
    mShowOnError = new JCheckBox(mLocalizer.msg("ShowResultOnError", "Show Result-Dialog only on Error"),
            mData.getDialogOnlyOnError());
    mShowTitleAndTimeDialog = new JCheckBox(
            mLocalizer.msg("showTitleAndTime", "Show title and time settings dialog"),
            mData.getShowTitleAndTimeDialog());
    mDeleteRemovedPrograms = new JCheckBox(
            mLocalizer.msg("autoDeletePrograms",
                    "Automatically delete programs that were removed during a data update"),
            mData.getDeleteRemovedPrograms());
    mOldPrograms = new JCheckBox(mLocalizer.msg("OnlyFuture", "Only allow Programs that are in the future"),
            mData.getOnlyFuturePrograms());

    mUseTime = new JCheckBox(mLocalizer.msg("useSystemTimezone", "Use timezone provided by OS"),
            !mData.useTimeZone());

    String[] zoneIds = new String[0];
    try {
        zoneIds = TimeZone.getAvailableIDs();
    } catch (Exception e) {
        e.printStackTrace();
    }
    mTimeZones = new JComboBox(zoneIds);
    mTimeZones.setEnabled(mData.useTimeZone() && mTimeZones.getItemCount() > 0);

    for (int i = 0; i < zoneIds.length; i++) {
        if (zoneIds[i].equals(mData.getTimeZone().getID())) {
            mTimeZones.setSelectedIndex(i);
            break;
        }
    }

    pb.addSeparator(mLocalizer.msg("TimeSettings", "Timesettings"), cc.xyw(1, 1, 6));

    pb.addLabel(mLocalizer.msg("Earlier", "Number of minutes to start erlier"), cc.xyw(2, 3, 2));
    pb.add(mPreTimeSpinner, cc.xy(5, 3));

    pb.addLabel(mLocalizer.msg("Later", "Number of minutes to stop later"), cc.xyw(2, 5, 2));
    pb.add(mPostTimeTextField, cc.xy(5, 5));

    pb.addSeparator(mLocalizer.msg("User", "User"), cc.xyw(1, 7, 6));

    pb.addLabel(mLocalizer.msg("Username", "Username") + ":", cc.xyw(2, 9, 2));
    pb.add(mUserName, cc.xy(5, 9));

    pb.addLabel(mLocalizer.msg("Password", "Password") + ":", cc.xyw(2, 11, 2));
    pb.add(mUserPwd, cc.xy(5, 11));

    pb.addSeparator(mLocalizer.msg("Additional", "Additional"), cc.xyw(1, 13, 6));

    pb.addLabel(mLocalizer.msg("MaxSimult", "Maximum simultaneous recordings") + ":", cc.xyw(2, 15, 2));
    pb.add(mMaxSimult, cc.xy(5, 15));

    pb.addLabel(mLocalizer.msg("Timeout", "Wait sec. until Timeout (-1 = disabled)") + ":", cc.xyw(2, 17, 2));
    pb.add(mMaxTimeout, cc.xy(5, 17));

    pb.add(mCheckReturn, cc.xyw(2, 19, 4));
    pb.add(mShowOnError, cc.xyw(2, 20, 4));
    pb.add(mShowTitleAndTimeDialog, cc.xyw(2, 21, 4));
    pb.add(mDeleteRemovedPrograms, cc.xyw(2, 22, 4));
    pb.add(mOldPrograms, cc.xyw(2, 23, 4));

    pb.add(mUseTime, cc.xyw(2, 25, 4));

    JPanel timeZonePanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
    mTimeZoneLabel = new JLabel(mLocalizer.msg("Timezone", "Timezone") + ": ");
    mTimeZoneLabel.setEnabled(mTimeZones.isEnabled());
    timeZonePanel.add(mTimeZoneLabel);
    timeZonePanel.add(mTimeZones);

    pb.add(timeZonePanel, cc.xyw(3, 26, 3));

    mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel(
            UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()),
            mData.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true,
            mLocalizer.msg("sendToTitle", "Send scheduled programs to:"));
    mProgramReceiveTargetSelection.addChangeListener(this);
    pb.add(mProgramReceiveTargetSelection, cc.xyw(1, 28, 5));

    // add ChangeListener to the spinners
    mPreTimeSpinner.addChangeListener(this);
    mPostTimeTextField.addChangeListener(this);
    mMaxSimult.addChangeListener(this);
    mMaxTimeout.addChangeListener(this);

    // add ActionListener to the check boxes
    mCheckReturn.addActionListener(this);
    mShowOnError.addActionListener(this);
    mShowTitleAndTimeDialog.addActionListener(this);
    mDeleteRemovedPrograms.addActionListener(this);
    mOldPrograms.addActionListener(this);
    mUseTime.addActionListener(this);

    mUserName.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            mData.setUserName(mUserName.getText());
        }
    });

    mUserPwd.addFocusListener(new FocusAdapter() {
        public void focusLost(FocusEvent e) {
            mData.setPassword(new String(mUserPwd.getPassword()));
        }
    });

    mTimeZones.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            mData.setTimeZone(TimeZone.getTimeZone((String) mTimeZones.getSelectedItem()));
        }
    });
}

From source file:captureplugin.drivers.defaultdriver.configpanels.VariablePanel.java

License:Open Source License

/**
 * creates a JPanel for managing the variables
 *//*from w w w . j av  a2  s  .  co  m*/
private void createPanel() {
    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("5dlu,pref:grow,5dlu", "pref,5dlu,fill:default:grow"),
            this);
    pb.setDefaultDialogBorder();

    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            JPanel background = new JPanel(new FormLayout("default:grow", "fill:default:grow"));
            JLabel label = new JLabel(value.toString());
            label.setOpaque(false);

            if (isSelected) {
                background.setBackground(table.getSelectionBackground());
                label.setForeground(table.getSelectionForeground());
            } else {
                background.setBackground(table.getBackground());
            }

            background.add(label, new CellConstraints().xy(1, 1));

            return background;
        }
    };

    VariableTableModel variableTableModel = new VariableTableModel(mData);
    mVariableTable.setModel(variableTableModel);
    mVariableTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    mVariableTable.getTableHeader().setReorderingAllowed(false);
    mVariableTable.getColumnModel().getColumn(0).setPreferredWidth(40);
    mVariableTable.getColumnModel().getColumn(0).setCellRenderer(renderer);
    mVariableTable.getColumnModel().getColumn(1).setCellRenderer(renderer);
    mVariableTable.getColumnModel().getColumn(2).setCellRenderer(renderer);

    JScrollPane sp = new JScrollPane(mVariableTable);

    addAncestorListener(new AncestorListener() {
        public void ancestorAdded(AncestorEvent event) {
        }

        public void ancestorMoved(AncestorEvent event) {
        }

        public void ancestorRemoved(AncestorEvent event) {
            if (mVariableTable.isEditing()) {
                TableCellEditor editor = mVariableTable.getCellEditor();
                if (editor != null) {
                    editor.stopCellEditing();
                }
            }
        }
    });

    pb.addSeparator(mLocalizer.msg("Variables", "Variables"), cc.xyw(1, 1, 3));
    pb.add(sp, cc.xy(2, 3));
}

From source file:captureplugin.drivers.dreambox.DreamboxConfigDialog.java

License:Open Source License

/**
 * Create the GUI//from   ww  w  . j av  a2  s  .  c  om
 */
private void createGui() {
    setTitle(mLocalizer.msg("title", "Configure Dreambox"));

    UiUtilities.registerForClosing(this);

    EnhancedPanelBuilder basicPanel = new EnhancedPanelBuilder(
            "2dlu, pref, 3dlu, fill:min:grow, 3dlu, pref, 3dlu, pref");
    basicPanel.setBorder(Borders.DLU4_BORDER);

    CellConstraints cc = new CellConstraints();

    basicPanel.addParagraph(mLocalizer.msg("misc", "Miscellaneous"));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("name", "Name:")), cc.xy(2, basicPanel.getRow()));
    mDeviceName = new JTextField(mDevice.getName());
    basicPanel.add(mDeviceName, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("softwareVersion", "SoftwareVersion:")),
            cc.xy(2, basicPanel.getRow()));

    String[] values = { mLocalizer.msg("lowerVersion", "lower than 1.6 (< 1.6)"),
            mLocalizer.msg("higherVersion", "at least 1.6 (>= 1.6)") };

    mSoftwareSelection = new JComboBox(values);
    mSoftwareSelection.setSelectedIndex(mConfig.getIsVersionAtLeast_1_6() ? 1 : 0);

    basicPanel.add(mSoftwareSelection, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("ipaddress", "IP address")), cc.xy(2, basicPanel.getRow()));
    mDreamboxAddress = new JTextField(mConfig.getDreamboxAddress());
    basicPanel.add(mDreamboxAddress, cc.xy(4, basicPanel.getRow()));

    JButton help = new JButton(CapturePlugin.getInstance().createImageIcon("apps", "help-browser", 16));
    help.setToolTipText(Localizer.getLocalization(Localizer.I18N_HELP));
    help.setOpaque(false);
    help.setBorder(Borders.EMPTY_BORDER);
    basicPanel.add(help, cc.xy(8, basicPanel.getRow()));

    ButtonBarBuilder2 refresh = new ButtonBarBuilder2();

    refresh.addGlue();

    mRefreshButton = new JButton(mLocalizer.msg("refresh", "Refresh channellist"));
    mRefreshButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            refreshChannelList();
        }
    });
    mRefreshButton.setIcon(TVBrowserIcons.refresh(TVBrowserIcons.SIZE_SMALL));
    mRefreshButton.setEnabled(mConfig.hasValidAddress());

    mDreamboxAddress.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void removeUpdate(DocumentEvent e) {
            check(e);
        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            check(e);
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            check(e);
        }

        private void check(DocumentEvent e) {
            mRefreshButton.setEnabled(!mDreamboxAddress.getText().trim().isEmpty());
        }
    });

    refresh.addButton(new JButton[] { mRefreshButton });

    basicPanel.addRow();
    basicPanel.add(refresh.getPanel(), cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("preTime", "Time before in minutes:")),
            cc.xy(2, basicPanel.getRow()));

    mBeforeModel = new SpinnerNumberModel(mConfig.getPreTime(), 0, 60, 1);
    JSpinner beforeSpinner = new JSpinner(mBeforeModel);
    basicPanel.add(beforeSpinner, cc.xy(4, basicPanel.getRow()));

    basicPanel.addRow();
    basicPanel.add(new JLabel(mLocalizer.msg("afterTime", "Time after in minutes:")),
            cc.xy(2, basicPanel.getRow()));

    mAfterModel = new SpinnerNumberModel(mConfig.getAfterTime(), 0, 60, 1);
    JSpinner afterSpinner = new JSpinner(mAfterModel);
    basicPanel.add(afterSpinner, cc.xy(4, basicPanel.getRow()));

    basicPanel.addParagraph(mLocalizer.msg("channel", "Channel assignment"));

    mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("dreambox", "Dreambox Channel")));
    mTable.getTableHeader().setReorderingAllowed(false);
    mTable.getColumnModel().getColumn(0).setCellRenderer(new util.ui.ChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig));

    basicPanel.addGrowingRow();
    basicPanel.add(new JScrollPane(mTable), cc.xyw(2, basicPanel.getRow(), basicPanel.getColumnCount() - 1));

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();

    builder.addGlue();

    JButton attach = new JButton(mLocalizer.msg("attach", "Attach"));
    attach.setToolTipText(mLocalizer.msg("attachHelp", "Attach channels"));
    attach.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            attachChannels();
        }
    });

    builder.addButton(attach);

    basicPanel.addRow();
    basicPanel.add(builder.getPanel(), cc.xyw(2, basicPanel.getRow(), basicPanel.getColumnCount() - 1));

    final EnhancedPanelBuilder extendedPanel = new EnhancedPanelBuilder(
            "2dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 5dlu");
    extendedPanel.setBorder(Borders.DLU4_BORDER);

    extendedPanel.addParagraph(mLocalizer.msg("misc", "Miscellanious"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("Timeout", "Timeout for connections in ms:")),
            cc.xy(2, extendedPanel.getRow()));

    mTimeoutModel = new SpinnerNumberModel(mConfig.getTimeout(), 0, 100000, 10);
    JSpinner timeoutSpinner = new JSpinner(mTimeoutModel);
    extendedPanel.add(timeoutSpinner, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("timeZoneSeparator", "Time zone"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("timeZone", "Time zone:")), cc.xy(2, extendedPanel.getRow()));

    String[] zoneIds = new String[0];
    try {
        zoneIds = TimeZone.getAvailableIDs();
    } catch (Exception e) {
        e.printStackTrace();
    }
    Arrays.sort(zoneIds);
    mTimezone = new JComboBox(zoneIds);

    String zone = mConfig.getTimeZoneAsString();
    for (int i = 0; i < zoneIds.length; i++) {
        if (zoneIds[i].equals(zone)) {
            mTimezone.setSelectedIndex(i);
            break;
        }
    }

    extendedPanel.add(mTimezone, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("security", "Security"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("userName", "User name :")), cc.xy(2, extendedPanel.getRow()));
    mUserName = new JTextField(mConfig.getUserName());
    extendedPanel.add(mUserName, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("password", "Password :")), cc.xy(2, extendedPanel.getRow()));
    mPasswordField = new JPasswordField(mConfig.getPassword());
    extendedPanel.add(mPasswordField, cc.xyw(4, extendedPanel.getRow(), 3));

    extendedPanel.addParagraph(mLocalizer.msg("streaming", "Streaming"));

    extendedPanel.addRow();
    extendedPanel.add(new JLabel(mLocalizer.msg("mediaplayer", "Mediaplayer :")),
            cc.xy(2, extendedPanel.getRow()));
    mMediaplayer = new JTextField(mConfig.getMediaplayer());
    extendedPanel.add(mMediaplayer, cc.xy(4, extendedPanel.getRow()));

    JButton select = new JButton(Localizer.getLocalization(Localizer.I18N_SELECT));
    select.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser mediaplayerChooser = new JFileChooser();
            int returnVal = mediaplayerChooser.showOpenDialog(extendedPanel.getPanel());
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                mMediaplayer.setText(mediaplayerChooser.getSelectedFile().getAbsolutePath());
            }
        }
    });
    extendedPanel.add(select, cc.xy(6, extendedPanel.getRow()));

    mProgramReceiveTargetSelection = new ProgramReceiveTargetSelectionPanel(
            UiUtilities.getLastModalChildOf(CapturePlugin.getInstance().getSuperFrame()),
            mConfig.getProgramReceiveTargets(), null, CapturePlugin.getInstance(), true,
            mLocalizer.msg("sendToTitle", "Send scheduled programs to:"));

    extendedPanel.addRow();
    extendedPanel.addRow();
    extendedPanel.add(mProgramReceiveTargetSelection, cc.xyw(1, extendedPanel.getRow(), 7));

    builder = new ButtonBarBuilder2();

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            okPressed();
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    builder.addGlue();
    builder.addButton(new JButton[] { ok, cancel });

    getRootPane().setDefaultButton(ok);

    JTabbedPane tabs = new JTabbedPane();
    tabs.add(mLocalizer.msg("basicTitle", "Basic settings"), basicPanel.getPanel());
    tabs.add(mLocalizer.msg("extendedTitle", "Extended settings"), extendedPanel.getPanel());

    JPanel content = (JPanel) getContentPane();
    content.setBorder(Borders.DLU4_BORDER);
    content.setLayout(new FormLayout("fill:pref:grow", "fill:pref:grow, 3dlu, pref"));
    content.add(tabs, cc.xy(1, 1));
    content.add(builder.getPanel(), cc.xy(1, 3));

    pack();
}

From source file:captureplugin.drivers.simpledevice.SimpleConfigDialog.java

License:Open Source License

/**
 * Create the Gui/*from ww  w .j  a  v a 2 s  .co m*/
 */
private void createGui() {
    JPanel panel = (JPanel) getContentPane();

    setTitle(mLocalizer.msg("title", "Device Settings"));

    panel.setLayout(new FormLayout("3dlu, pref, 3dlu, fill:pref:grow, 3dlu, pref, 3dlu",
            "pref, 5dlu, pref, 3dlu, pref, 5dlu, fill:min:grow, 3dlu, pref, 3dlu, pref"));
    panel.setBorder(Borders.DIALOG_BORDER);

    CellConstraints cc = new CellConstraints();

    panel.add(
            DefaultComponentFactory.getInstance().createSeparator(mLocalizer.msg("deviceName", "Device name")),
            cc.xyw(1, 1, 7));

    panel.add(new JLabel(mLocalizer.msg("deviceNameInput", "Name") + ":"), cc.xy(2, 3));
    mName = new JTextField(mDevice.getName());
    panel.add(mName, cc.xyw(4, 3, 3));

    panel.add(DefaultComponentFactory.getInstance()
            .createSeparator(mLocalizer.msg("channelAssignment", "Channel assignment")), cc.xyw(1, 5, 7));

    mTable = new JTable(new ConfigTableModel(mConfig, mLocalizer.msg("external", "external")));
    mTable.getTableHeader().setReorderingAllowed(false);
    mTable.getColumnModel().getColumn(0).setCellRenderer(new ChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellRenderer(new ExternalChannelTableCellRenderer());
    mTable.getColumnModel().getColumn(1).setCellEditor(new ExternalChannelTableCellEditor(mConfig));
    panel.add(new JScrollPane(mTable), cc.xyw(2, 7, 5));

    JButton fetch = new JButton(mLocalizer.msg("fetchChannels", "Fetch Channellist"));

    fetch.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    SimpleChannel[] lists = mConnection.getAvailableChannels();

                    if (lists == null) {
                        JOptionPane.showMessageDialog(SimpleConfigDialog.this,
                                mLocalizer.msg("errorChannels", "Could not load external channels"),
                                mLocalizer.msg("errorTitle", "Error"), JOptionPane.ERROR_MESSAGE);
                    } else {
                        mConfig.setExternalChannels(lists);
                    }

                    mTable.repaint();
                }
            });
        }
    });

    panel.add(fetch, cc.xy(6, 9));

    ButtonBarBuilder2 builder = new ButtonBarBuilder2();
    builder.addGlue();

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            if (mTable.isEditing()) {
                TableCellEditor editor = mTable.getCellEditor();
                if (editor != null) {
                    editor.stopCellEditing();
                }
            }
            mReturn = JOptionPane.OK_OPTION;
            setVisible(false);
        }
    });

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent e) {
            setVisible(false);
        }
    });

    builder.addButton(new JButton[] { ok, cancel });

    panel.add(builder.getPanel(), cc.xyw(1, 11, 7));

    getRootPane().setDefaultButton(ok);
    UiUtilities.registerForClosing(this);

    setSize(Sizes.dialogUnitXAsPixel(250, this), Sizes.dialogUnitXAsPixel(200, this));
}

From source file:captureplugin.drivers.utils.ProgramTimeDialog.java

License:Open Source License

/**
 * Create the GUI//from w w  w  . j ava2s  .c  o  m
 * @param titleEditable is the Title editable ?
 */
private void createGui(final boolean titleEditable, final String additionalText,
        final JComponent additionalComponent) {
    /* calculate the post time for selection with program selection panel */
    Calendar programEnd = mPrgTime.getProgram().getDate().getCalendar();

    programEnd.set(Calendar.HOUR_OF_DAY, mPrgTime.getProgram().getHours());
    programEnd.set(Calendar.MINUTE, mPrgTime.getProgram().getMinutes());

    if (mPrgTime.getProgram().getLength() <= 0) {
        programEnd.add(Calendar.MINUTE, 1);
    } else {
        programEnd.add(Calendar.MINUTE, mPrgTime.getProgram().getLength());
    }
    programEnd.set(Calendar.SECOND, 0);

    final int postTime = (int) ((mPrgTime.getEndAsCalendar().getTimeInMillis() - programEnd.getTimeInMillis()
            + 1000) / 60000);

    setTitle(mLocalizer.msg("SetTime", "Set Time"));

    JPanel content = (JPanel) getContentPane();
    content.setBorder(Borders.DIALOG_BORDER);
    content.setLayout(new BorderLayout());

    EnhancedPanelBuilder panel = new EnhancedPanelBuilder("2dlu,default,5dlu,default:grow");

    CellConstraints cc = new CellConstraints();

    if (titleEditable) {
        panel.addParagraph(mLocalizer.msg("Title", "Title"));
        mTitle = new JTextField(mPrgTime.getTitle());

        panel.addRow();
        panel.add(mTitle, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));
    }

    panel.addParagraph(mLocalizer.msg("Times", "Times"));
    panel.addRow();
    panel.add(new JLabel(mLocalizer.msg("StartTime", "Start time")), cc.xy(2, panel.getRow()));
    mStart = new TimeDateSpinner(mPrgTime.getStart());
    panel.add(mStart, cc.xy(4, panel.getRow()));

    panel.addRow();
    panel.add(new JLabel(mLocalizer.msg("EndTime", "End time")), cc.xy(2, panel.getRow()));
    mEnd = new TimeDateSpinner(mPrgTime.getEnd());
    panel.add(mEnd, cc.xy(4, panel.getRow()));

    if (mPrgTime.getProgram().getLength() <= 0) {
        mEnd.setSpinnerBackground(new Color(255, 153, 153));
    }

    if (additionalText != null) {
        panel.addParagraph(additionalText);
        panel.addRow();
        panel.add(additionalComponent, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));
    }

    final ProgramRangeSelectionPanel programSelection = ProgramRangeSelectionPanel
            .createPanel(mPrgTime.getProgram(), (short) 6);

    panel.addParagraph(mLocalizer.msg("programSelection", "Program selection"));
    panel.addRow();
    panel.add(programSelection, cc.xyw(2, panel.getRow(), panel.getColumnCount() - 1));

    programSelection.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                /* prevent concurrent changing of end date */
                if (!mEndDateChanging) {
                    mProgramSelectionChanging = true;

                    Program[] progs = ((ProgramList) e.getSource()).getSelectedPrograms();

                    if (progs != null) {
                        Program prog = progs[progs.length - 1];

                        Calendar c = Calendar.getInstance();

                        c.setTimeInMillis(prog.getDate().getCalendar().getTimeInMillis());
                        c.set(Calendar.HOUR_OF_DAY, prog.getHours());
                        c.set(Calendar.MINUTE, prog.getMinutes());

                        if (prog.getLength() <= 0) {
                            c.add(Calendar.MINUTE, 1);
                        } else {
                            c.add(Calendar.MINUTE, prog.getLength());
                        }
                        c.set(Calendar.SECOND, 0);

                        c.add(Calendar.MINUTE, postTime);

                        mEnd.setValue(c.getTime());
                        mProgramSelectionChanging = false;
                    }
                }
            }
        }
    });

    mEnd.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            try {
                /* prevent concurrent changing of end date */
                if (!mProgramSelectionChanging) {
                    mEndDateChanging = true;
                    programSelection.setEndDate(mEnd.getDate());
                    mEndDateChanging = false;
                }
            } catch (Throwable t) {
                t.printStackTrace();
            }
        }
    });

    content.add(panel.getPanel(), BorderLayout.CENTER);

    ButtonBarBuilder2 btPanel = new ButtonBarBuilder2();
    btPanel.setBorder(Borders.DLU4_BORDER);

    JButton ok = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mPrgTime.setStart(mStart.getDate());
            mPrgTime.setEnd(mEnd.getDate());
            if (titleEditable) {
                mPrgTime.setTitle(mTitle.getText());
            }
            setVisible(false);
        }
    });

    btPanel.addGlue();

    JButton cancel = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));

    cancel.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            mPrgTime = null;
            setVisible(false);
        }
    });

    btPanel.addButton(ok, cancel);

    getRootPane().setDefaultButton(ok);

    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            mPrgTime = null;
        }
    });

    content.add(btPanel.getPanel(), BorderLayout.SOUTH);

    CapturePlugin.getInstance().layoutWindow("programTimeDialog", this, new Dimension(300, 270));
}

From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();/*ww  w.j  a  va 2s.  com*/

    final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow");
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    layout.setRowGroups(new int[][] { { 3, 5, 7, 9 } });

    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xyw(1, 1, 3));

    builder.addLabel("Name", cc.xy(1, 3));
    builder.add(nameTextField, cc.xy(3, 3));

    builder.addLabel("Description", cc.xy(1, 5));
    builder.add(descTextField, cc.xy(3, 5));

    builder.addLabel("Type", cc.xy(1, 7));
    builder.add(locomotiveTypeComboBox, cc.xy(3, 7));

    builder.addLabel("Image", cc.xy(1, 9));
    builder.add(chooseImageButton, cc.xy(3, 9));

    builder.add(imageLabel, cc.xyw(1, 11, 3));

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

    builder.addLabel("Bus", cc.xy(5, 3));
    builder.add(busSpinner, cc.xy(7, 3));

    builder.addLabel("Address 1", cc.xy(5, 5));
    builder.add(address1Spinner, cc.xy(7, 5));

    builder.addLabel("Address 2", cc.xy(5, 7));
    builder.add(address2Spinner, cc.xy(7, 7));

    builder.add(functionsTable, cc.xywh(5, 9, 3, 3));

    builder.add(errorPanel, cc.xyw(1, 13, 3));

    builder.add(buildButtonBar(), cc.xyw(5, 13, 3));

    // add(builder.getPanel());

    setLayout(new MigLayout());

    add(new JLabel("Name"));
    add(nameTextField, "w 300!");

    add(new JLabel("Bus"), "gap unrelated");
    add(busSpinner, "w 150!, wrap");

    add(new JLabel("Description"));
    add(descTextField, "w 300!");

    add(new JLabel("Address 1"), "gap unrelated");
    add(address1Spinner, "w 150!, wrap");

    add(new JLabel("Type"));
    add(locomotiveTypeComboBox, "w 150!");

    add(new JLabel("Address 2"), "gap unrelated");
    add(address2Spinner, "w 150!, wrap");

    add(new JLabel("Image"));
    add(chooseImageButton, "w 150!");

    add(new JLabel("Functions"), "gap unrelated");
    add(new JScrollPane(functionsTable), "h 200!, w 300!, span 1 2, wrap");

    add(imageLabel, "align center, span 2, wrap");

    add(buildButtonBar(), "span 4, align right");

}

From source file:ch.fork.AdHocRailway.ui.PreferencesDialog.java

License:Open Source License

private void initGUI() {

    final FormLayout layout = new FormLayout("5dlu, pref, 10dlu, pref, 5dlu",
            "5dlu, pref, 3dlu, top:pref,3dlu, pref, 3dlu, top:pref, 3dlu, pref, 5dlu");

    layout.setColumnGroups(new int[][] { { 2, 4 } });

    final PanelBuilder builder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xy(2, 2));
    builder.add(createGUISettingsTab(), cc.xy(2, 4));

    builder.addSeparator("Digital", cc.xy(4, 2));
    builder.add(createDigitalDataTab(), cc.xy(4, 4));

    builder.addSeparator("SRCP-Server", cc.xy(2, 6));
    builder.add(createSrcpServerTab(), cc.xy(2, 8));

    builder.addSeparator("AdHoc-Server", cc.xy(4, 6));
    builder.add(createAdHocServerTab(), cc.xy(4, 8));

    final JButton okButton = new JButton("OK", ImageTools.createImageIconFromIconSet("dialog-ok-apply.png"));
    okButton.addActionListener(new ApplyChangesAction());
    final JButton cancelButton = new JButton("Cancel",
            ImageTools.createImageIconFromIconSet("dialog-cancel.png"));
    cancelPressed = false;//  w w w  .j  a  v a2 s.  c  om
    cancelButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(final ActionEvent e) {
            cancelPressed = true;
            PreferencesDialog.this.setVisible(false);
        }
    });

    builder.add(ButtonBarFactory.buildRightAlignedBar(okButton, cancelButton), cc.xyw(2, 10, 3));

    add(builder.getPanel());

    loadPreferences();
    pack();
    SwingUtils.addEscapeListener(this);
    setLocationRelativeTo(getParent());
    setVisible(true);
}

From source file:ch.fork.AdHocRailway.ui.routes.configuration.RouteGroupConfigPanel.java

License:Open Source License

private void buildPanel() {
    initComponents();/*from  w  ww  .  ja  v  a  2s.  co  m*/

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

    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addLabel("Name", cc.xy(1, 1));
    builder.add(routeGroupName, cc.xy(3, 1));

    add(builder.getPanel());
}

From source file:ch.fork.AdHocRailway.ui.routes.configuration.RoutesConfigurationDialog.java

License:Open Source License

private void buildPanel() {
    initComponents();/*ww  w .ja  v  a 2 s.co  m*/
    initEventHandling();

    final FormLayout layout = new FormLayout("pref, 5dlu, pref, 5dlu",
            "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref:grow, 3dlu, pref:grow, 3dlu, pref, 3dlu, pref");
    builder = new PanelBuilder(layout);
    layout.setColumnGroups(new int[][] { { 1, 3 } });
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("Route Groups", cc.xyw(1, 1, 1));

    builder.add(new JScrollPane(routeGroupList), cc.xy(1, 3));
    builder.add(routeGroupConfig, cc.xy(1, 5));
    builder.add(buildRouteGroupButtonBar(), cc.xy(1, 7));

    builder.addSeparator("Routes", cc.xyw(3, 1, 1));

    builder.add(new JScrollPane(routesList), cc.xywh(3, 3, 1, 3));
    builder.add(buildRouteButtonBar(), cc.xy(3, 7));

    builder.add(buildMainButtonBar(), cc.xyw(1, 9, 4));

    add(builder.getPanel());
}