package org.jabref.gui;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.BorderFactory;
import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JPanel;
import org.jabref.Globals;
import org.jabref.gui.keyboard.KeyBinding;
import org.jabref.logic.l10n.Localization;
/**
* <p>Title: MergeDialog</p>
* <p>Description: Asks for details about merge database operation.</p>
* <p>Copyright: Copyright (c) 2003</p>
* @author Morten O. Alver
*/
public class MergeDialog extends JabRefDialog {
private final JPanel panel1 = new JPanel();
private final BorderLayout borderLayout1 = new BorderLayout();
private final JPanel jPanel1 = new JPanel();
private final JPanel jPanel2 = new JPanel();
private final JButton ok = new JButton();
private final JButton cancel = new JButton();
private final JCheckBox entries = new JCheckBox();
private final JCheckBox strings = new JCheckBox();
private final GridBagLayout gridBagLayout1 = new GridBagLayout();
private final JCheckBox groups = new JCheckBox();
private final JCheckBox selector = new JCheckBox();
private boolean okPressed;
public MergeDialog(JabRefFrame frame, String title, boolean modal) {
super(frame, title, modal, MergeDialog.class);
jbInit();
pack();
}
public boolean isOkPressed() {
return okPressed;
}
private void jbInit() {
panel1.setLayout(borderLayout1);
ok.setText(Localization.lang("OK"));
ok.addActionListener(e -> {
okPressed = true;
dispose();
});
cancel.setText(Localization.lang("Cancel"));
cancel.addActionListener(e -> dispose());
jPanel1.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
jPanel1.setLayout(gridBagLayout1);
entries.setSelected(true);
entries.setText(Localization.lang("Import entries"));
strings.setSelected(true);
strings.setText(Localization.lang("Import strings"));
groups.setText(Localization.lang("Import group definitions"));
selector.setText(Localization.lang("Import word selector definitions"));
this.setModal(true);
this.setResizable(false);
getContentPane().add(panel1);
panel1.add(jPanel2, BorderLayout.SOUTH);
jPanel2.add(ok, null);
jPanel2.add(cancel, null);
panel1.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(entries, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(strings, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(groups, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
jPanel1.add(selector, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST,
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
// Key bindings:
ActionMap am = jPanel1.getActionMap();
InputMap im = jPanel1.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
im.put(Globals.getKeyPrefs().getKey(KeyBinding.CLOSE_DIALOG), "close");
am.put("close", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
}
public boolean importEntries() {
return entries.isSelected();
}
public boolean importGroups() {
return groups.isSelected();
}
public boolean importStrings() {
return strings.isSelected();
}
public boolean importSelectorWords() {
return selector.isSelected();
}
}