99d3fd29497f36c803023df39d186ffcbeb031c9
[debian/jabref.git] / src / java / net / sf / jabref / MergeDialog.java
1 package net.sf.jabref;
2
3 import java.awt.*;
4 import javax.swing.*;
5 import javax.swing.border.*;
6 import java.awt.event.*;
7
8 /**
9  * <p>Title: MergeDialog</p>
10  * <p>Description: Asks for details about merge database operation.</p>
11  * <p>Copyright: Copyright (c) 2003</p>
12  * @author Morten O. Alver
13  */
14
15 public class MergeDialog extends JDialog {
16   JPanel panel1 = new JPanel();
17   BorderLayout borderLayout1 = new BorderLayout();
18   JPanel jPanel1 = new JPanel();
19   JPanel jPanel2 = new JPanel();
20   JButton ok = new JButton();
21   JButton Cancel = new JButton();
22   TitledBorder titledBorder1;
23   JCheckBox entries = new JCheckBox();
24   JCheckBox strings = new JCheckBox();
25   GridBagLayout gridBagLayout1 = new GridBagLayout();
26   JCheckBox groups = new JCheckBox();
27   JCheckBox selector = new JCheckBox();
28
29   boolean okPressed = false;
30
31   public MergeDialog(JabRefFrame frame, String title, boolean modal) {
32     super(frame, title, modal);
33     try {
34       jbInit(frame);
35       pack();
36     }
37     catch(Exception ex) {
38       ex.printStackTrace();
39     }
40   }
41
42   public MergeDialog() {
43     this(null, "", false);
44   }
45
46   private void jbInit(JabRefFrame parent) {
47       titledBorder1 = new TitledBorder(BorderFactory.createLineBorder(new Color(153, 153, 153),2),Globals.lang("Options"));
48     panel1.setLayout(borderLayout1);
49     ok.setText(Globals.lang("Ok"));
50     ok.addActionListener(new MergeDialog_ok_actionAdapter(this));
51     Cancel.setText(Globals.lang("Cancel"));
52     Cancel.addActionListener(new MergeDialog_Cancel_actionAdapter(this));
53     jPanel1.setBorder(titledBorder1);
54     jPanel1.setLayout(gridBagLayout1);
55     entries.setToolTipText("");
56     entries.setSelected(true);
57     entries.setText(Globals.lang("Import entries"));
58     strings.setSelected(true);
59     strings.setText(Globals.lang("Import strings"));
60     groups.setText(Globals.lang("Import group definitions"));
61     selector.setText(Globals.lang("Import word selector definitions"));
62     this.setModal(true);
63     this.setResizable(false);
64     this.setTitle("Import database");
65     getContentPane().add(panel1);
66     panel1.add(jPanel2, BorderLayout.SOUTH);
67     jPanel2.add(ok, null);
68     jPanel2.add(Cancel, null);
69     panel1.add(jPanel1, BorderLayout.CENTER);
70     jPanel1.add(entries,     new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
71             ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
72     jPanel1.add(strings,     new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
73             ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
74     jPanel1.add(groups,  new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
75             ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
76     jPanel1.add(selector,  new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0
77             ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
78
79     // Key bindings:
80     ActionMap am = jPanel1.getActionMap();
81     InputMap im = jPanel1.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
82     im.put(parent.prefs.getKey("Close dialog"), "close");
83     am.put("close", new AbstractAction() {
84       public void actionPerformed(ActionEvent e) {
85         dispose();
86       }
87     });
88
89   }
90
91   void ok_actionPerformed(ActionEvent e) {
92     okPressed = true;
93     dispose();
94   }
95
96   void Cancel_actionPerformed(ActionEvent e) {
97     dispose();
98   }
99
100   public boolean okPressed() {
101     return okPressed;
102   }
103
104   public boolean importEntries() { return entries.isSelected(); }
105   public boolean importGroups() { return groups.isSelected(); }
106   public boolean importStrings() { return strings.isSelected(); }
107   public boolean importSelectorWords() { return selector.isSelected(); }
108 }
109
110 class MergeDialog_ok_actionAdapter implements java.awt.event.ActionListener {
111   MergeDialog adaptee;
112
113   MergeDialog_ok_actionAdapter(MergeDialog adaptee) {
114     this.adaptee = adaptee;
115   }
116   public void actionPerformed(ActionEvent e) {
117     adaptee.ok_actionPerformed(e);
118   }
119 }
120
121 class MergeDialog_Cancel_actionAdapter implements java.awt.event.ActionListener {
122   MergeDialog adaptee;
123
124   MergeDialog_Cancel_actionAdapter(MergeDialog adaptee) {
125     this.adaptee = adaptee;
126   }
127   public void actionPerformed(ActionEvent e) {
128     adaptee.Cancel_actionPerformed(e);
129   }
130 }