added svn:ignores
[debian/openrocket] / src / net / sf / openrocket / gui / dialogs / AboutDialog.java
1 package net.sf.openrocket.gui.dialogs;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5
6 import javax.swing.JButton;
7 import javax.swing.JDialog;
8 import javax.swing.JFrame;
9 import javax.swing.JLabel;
10 import javax.swing.JPanel;
11
12 import net.miginfocom.swing.MigLayout;
13 import net.sf.openrocket.gui.components.DescriptionArea;
14 import net.sf.openrocket.gui.components.StyledLabel;
15 import net.sf.openrocket.gui.components.URLLabel;
16 import net.sf.openrocket.util.Chars;
17 import net.sf.openrocket.util.GUIUtil;
18 import net.sf.openrocket.util.Icons;
19 import net.sf.openrocket.util.Prefs;
20
21 public class AboutDialog extends JDialog {
22         
23         public static final String OPENROCKET_URL = "http://openrocket.sourceforge.net/";
24         
25         private static final String CREDITS = "<html><center>" +
26                         "<font size=\"+1\"><b>OpenRocket has been developed by:</b></font><br><br>" +
27                         "Sampo Niskanen (main developer)<br>" +
28                         "Doug Pedrick (RockSim file format, printing)<br><br>" +
29                         "<b>OpenRocket utilizes the following libraries:</b><br><br>" +
30                         "MiG Layout (http://www.miglayout.com/)<br>" +
31                         "JFreeChart (http://www.jfree.org/jfreechart/)<br>" +
32                         "iText (http://www.itextpdf.com/)";
33         
34         
35         public AboutDialog(JFrame parent) {
36                 super(parent, true);
37                 
38                 final String version = Prefs.getVersion();
39                 
40                 JPanel panel = new JPanel(new MigLayout("fill"));
41                 
42                 panel.add(new JLabel(Icons.loadImageIcon("pix/icon/icon-about.png", "OpenRocket")),
43                                 "spany 4, top");
44                 
45                 panel.add(new StyledLabel("OpenRocket", 20), "ax 50%, growy, wrap para");
46                 panel.add(new StyledLabel("Version " + version, 3), "ax 50%, growy, wrap rel");
47                 
48                 //              String source = Prefs.getBuildSource();
49                 //              if (!Prefs.DEFAULT_BUILD_SOURCE.equalsIgnoreCase(source)) {
50                 //                      panel.add(new StyledLabel("Distributed by " + source, -1), 
51                 //                                      "ax 50%, growy, wrap para");
52                 //              } else {
53                 //                      panel.add(new StyledLabel(" ", -1), "ax 50%, growy, wrap para");
54                 //              }
55                 
56                 panel.add(new StyledLabel("Copyright " + Chars.COPY + " 2007-2011 Sampo Niskanen"),
57                                 "ax 50%, growy, wrap para");
58                 
59                 panel.add(new URLLabel(OPENROCKET_URL), "ax 50%, growy, wrap para");
60                 
61
62                 DescriptionArea info = new DescriptionArea(5);
63                 info.setText(CREDITS);
64                 panel.add(info, "width 10px, height 100lp, grow, spanx, wrap para");
65                 
66                 //              JTextArea area = new JTextArea(CREATORS);
67                 //              area.setEditable(false);
68                 //              area.setLineWrap(true);
69                 //              area.setWrapStyleWord(true);
70                 //              panel.add(new JScrollPane(area), "width 10px, height 100lp, grow, spanx, wrap para");
71                 
72
73                 JButton close = new JButton("Close");
74                 close.addActionListener(new ActionListener() {
75                         @Override
76                         public void actionPerformed(ActionEvent e) {
77                                 AboutDialog.this.dispose();
78                         }
79                 });
80                 panel.add(close, "spanx, right");
81                 
82                 this.add(panel);
83                 this.setTitle("OpenRocket " + version);
84                 this.pack();
85                 this.setResizable(false);
86                 this.setLocationRelativeTo(parent);
87                 
88                 GUIUtil.setDisposableDialogOptions(this, close);
89         }
90         
91
92 }