Used several places
[jalview.git] / src / jalview / appletgui / JVDialog.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer\r
3  * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  *\r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  *\r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  *\r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 \r
20 package jalview.appletgui;\r
21 \r
22 import java.awt.*;\r
23 import java.awt.event.*;\r
24 \r
25 public class JVDialog extends Dialog implements ActionListener\r
26 {\r
27   AlignmentPanel ap;\r
28   Panel buttonPanel;\r
29   Button ok = new Button("Accept");\r
30   Button cancel = new Button("Cancel");\r
31   boolean accept = false;\r
32   Frame owner;\r
33 \r
34   public JVDialog(Frame owner,\r
35                   String title,\r
36                   boolean modal,\r
37                   int width, int height)\r
38   {\r
39       super(owner, title, modal);\r
40       this.owner = owner;\r
41 \r
42       height += owner.getInsets().top + getInsets().bottom;\r
43 \r
44       setBounds(owner.getBounds().x\r
45                 + (owner.getSize().width - width) / 2,\r
46                 owner.getBounds().y\r
47                 + (owner.getSize().height - height) / 2,\r
48                 width, height);\r
49   }\r
50 \r
51   void setMainPanel(Panel panel)\r
52   {\r
53     add(panel, BorderLayout.NORTH);\r
54 \r
55     buttonPanel = new Panel(new FlowLayout());\r
56 \r
57     buttonPanel.add(ok);\r
58     buttonPanel.add(cancel);\r
59     ok.addActionListener(this);\r
60     cancel.addActionListener(this);\r
61 \r
62     add(buttonPanel, BorderLayout.SOUTH);\r
63 \r
64     pack();\r
65 \r
66   }\r
67 \r
68   public void actionPerformed(ActionEvent evt)\r
69   {\r
70     if (evt.getSource() == ok)\r
71     {\r
72       accept = true;\r
73     }\r
74 \r
75     setVisible(false);\r
76   }\r
77 \r
78 \r
79 }\r