/*
* Indoorhelper is a JOSM plug-in to support users when creating their own indoor maps.
* Copyright (C) 2016 Erik Gruschka
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package views;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
/**
* The view for the pop-up hint that tells the user, that he has to start the fitting
* of his indoor building plans.
*
* @author egru
*/
@SuppressWarnings("serial")
public class FittingView extends JFrame {
private JPanel dialogPane;
private JPanel contentPanel;
private JLabel label1;
private JPanel buttonBar;
private JButton okButton;
public FittingView() {
initComponents();
}
private void initComponents() {
dialogPane = new JPanel();
contentPanel = new JPanel();
label1 = new JLabel();
buttonBar = new JPanel();
okButton = new JButton();
//======== this ========
setTitle(tr("Fitting"));
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
//======== dialogPane ========
{
dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));
dialogPane.setLayout(new BorderLayout());
//======== contentPanel ========
{
contentPanel.setLayout(new FlowLayout());
//---- label1 ----
label1.setText(tr("<html>Please mind to start fitting your building-plans now.<br>" +
"To do so, use the PicLayer plug-in, which you can install<br>" +
"using the JOSM plug-in management.</html>"));
contentPanel.add(label1);
}
dialogPane.add(contentPanel, BorderLayout.CENTER);
//======== buttonBar ========
{
buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
buttonBar.setLayout(new GridBagLayout());
((GridBagLayout) buttonBar.getLayout()).columnWidths = new int[] {0, 80};
((GridBagLayout) buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0};
//---- okButton ----
okButton.setText(tr("OK"));
buttonBar.add(okButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
GridBagConstraints.CENTER, GridBagConstraints.BOTH,
new Insets(0, 0, 0, 0), 0, 0));
}
dialogPane.add(buttonBar, BorderLayout.SOUTH);
}
contentPane.add(dialogPane, BorderLayout.CENTER);
pack();
setLocationRelativeTo(getOwner());
}
/**
* Set the given {@link ActionListener} to the OK-Button of the {@link FittingView}.
*
* @param l the listener which should be set
*/
public void setOkButtonListener(ActionListener l) {
this.okButton.addActionListener(l);
}
}