package org.basex.gui.dialog; import static org.basex.core.Text.*; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.Box; import javax.swing.SwingConstants; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.EtchedBorder; import org.basex.core.MainProp; import org.basex.gui.GUI; import org.basex.gui.GUIConstants; import org.basex.gui.GUIConstants.Fill; import org.basex.gui.layout.BaseXBack; import org.basex.gui.layout.BaseXLabel; import org.basex.gui.layout.BaseXLayout; import org.basex.gui.layout.TableLayout; /** * Dialog window for displaying information about the project. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public final class DialogAbout extends Dialog { /** * Default constructor. * @param main reference to the main window */ public DialogAbout(final GUI main) { super(main, ABOUT); BaseXBack p = new BaseXBack(new BorderLayout(12, 0)); p.setBackground(Color.white); p.setBorder(new CompoundBorder(new EtchedBorder(), new EmptyBorder(10, 10, 15, 22))); final BaseXLabel label = new BaseXLabel(); label.setIcon(BaseXLayout.icon("logo")); label.setVerticalAlignment(SwingConstants.TOP); p.add(label, BorderLayout.WEST); final BaseXBack pp = new BaseXBack(Fill.NONE).layout( new TableLayout(16, 1)); pp.add(new BaseXLabel(TITLE, false, true)); final BaseXLabel url = new BaseXLabel("<html><u>" + URL + "</u></html>"); url.setForeground(GUIConstants.BLUE); url.setCursor(GUIConstants.CURSORHAND); url.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(final MouseEvent e) { Dialog.browse(gui, URL); } }); pp.add(url); pp.add(Box.createVerticalStrut(7)); pp.add(new BaseXLabel(COPYRIGHT)); pp.add(new BaseXLabel(LICENSE)); pp.add(Box.createVerticalStrut(7)); pp.add(new BaseXLabel(CHIEF_ARCHITECT)); pp.add(Box.createVerticalStrut(7)); pp.add(new BaseXLabel(TEAM1)); pp.add(new BaseXLabel(TEAM2)); pp.add(new BaseXLabel(TEAM3)); pp.add(Box.createVerticalStrut(7)); final String lang = main.context.mprop.get(MainProp.LANG); pp.add(new BaseXLabel(TRANSLATION + " (" + lang + "): " + DialogPrefs.creds(lang))); p.add(pp, BorderLayout.EAST); add(p, BorderLayout.NORTH); p = new BaseXBack(); p.add(newButtons(B_OK)); add(p, BorderLayout.EAST); finish(null); } }