/*
|
* The contents of this file are subject to the terms of the Common Development and
|
* Distribution License (the License). You may not use this file except in compliance with the
|
* License.
|
*
|
* You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
|
* specific language governing permission and limitations under the License.
|
*
|
* When distributing Covered Software, include this CDDL Header Notice in each file and include
|
* the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
|
* Header, with the fields enclosed by brackets [] replaced by your own identifying
|
* information: "Portions Copyright [year] [name of copyright owner]".
|
*
|
* Copyright 2006-2009 Sun Microsystems, Inc.
|
* Portions Copyright 2013-2016 ForgeRock AS.
|
*/
|
package org.opends.quicksetup.installer.ui;
|
|
import org.forgerock.i18n.LocalizableMessage;
|
import static org.opends.messages.QuickSetupMessages.*;
|
|
import java.awt.Component;
|
import java.awt.GridBagConstraints;
|
import java.awt.GridBagLayout;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import javax.swing.*;
|
|
import org.opends.quicksetup.ui.GuiApplication;
|
import org.opends.quicksetup.ui.QuickSetupStepPanel;
|
import org.opends.quicksetup.ui.UIFactory;
|
import org.opends.quicksetup.LicenseFile;
|
import org.opends.quicksetup.ButtonName;
|
|
/** This panel is used to show a welcome message. */
|
public class InstallLicensePanel extends QuickSetupStepPanel
|
{
|
private static final long serialVersionUID = 6209217138897900860L;
|
|
/**
|
* Default constructor.
|
* @param app Application this panel represents
|
*/
|
public InstallLicensePanel(GuiApplication app)
|
{
|
super(app);
|
}
|
|
@Override
|
protected LocalizableMessage getTitle()
|
{
|
return INFO_LICENSE_PANEL_TITLE.get();
|
}
|
|
@Override
|
protected LocalizableMessage getInstructions()
|
{
|
return null;
|
}
|
|
private JCheckBox acceptCheck;
|
|
@Override
|
protected Component createInputPanel()
|
{
|
// No input in this panel
|
JPanel panel = new JPanel(new GridBagLayout());
|
panel.setOpaque(false);
|
|
GridBagConstraints gbc = new GridBagConstraints();
|
|
gbc.insets = UIFactory.getEmptyInsets();
|
gbc.anchor = GridBagConstraints.NORTHWEST;
|
gbc.gridwidth = GridBagConstraints.REMAINDER;
|
gbc.weightx = 1.0;
|
gbc.fill = GridBagConstraints.HORIZONTAL;
|
|
JLabel l =
|
UIFactory.makeJLabel(UIFactory.IconType.NO_ICON,
|
INFO_LICENSE_DETAILS_LABEL.get(),
|
UIFactory.TextStyle.SECONDARY_FIELD_VALID);
|
|
gbc.insets = UIFactory.getEmptyInsets();
|
gbc.insets.bottom = 3;
|
panel.add(l, gbc);
|
|
JTextArea detailsTextArea = new JTextArea(10, 50);
|
detailsTextArea.setBackground(
|
UIFactory.CURRENT_STEP_PANEL_BACKGROUND);
|
detailsTextArea.setFont(UIFactory.TEXTFIELD_FONT);
|
detailsTextArea.setText(LicenseFile.getText());
|
|
gbc.insets = UIFactory.getEmptyInsets();
|
gbc.fill = GridBagConstraints.BOTH;
|
gbc.weighty = 1.0;
|
panel.add(new JScrollPane(detailsTextArea), gbc);
|
|
acceptCheck = UIFactory.makeJCheckBox(INFO_LICENSE_CLICK_LABEL.get(),
|
null,
|
UIFactory.TextStyle.SECONDARY_FIELD_VALID);
|
acceptCheck.setOpaque(false);
|
acceptCheck.setSelected(false);
|
|
gbc.insets = UIFactory.getEmptyInsets();
|
gbc.insets.top = UIFactory.TOP_INSET_RADIO_SUBORDINATE;
|
gbc.fill = GridBagConstraints.BOTH;
|
gbc.weighty = 0.0;
|
panel.add(acceptCheck, gbc);
|
|
addActionListeners();
|
|
return panel;
|
}
|
|
@Override
|
protected boolean requiresScroll()
|
{
|
return false;
|
}
|
|
/** Adds the required action listeners to the fields. */
|
private void addActionListeners()
|
{
|
final ActionListener l = new ActionListener()
|
{
|
@Override
|
public void actionPerformed(ActionEvent e)
|
{
|
// Enable or disable Next button as user clicks approval button
|
getQuickSetup().getDialog().setButtonEnabled(
|
ButtonName.NEXT, acceptCheck.isSelected());
|
|
// Save approval status for navigation
|
LicenseFile.setApproval(acceptCheck.isSelected());
|
}
|
};
|
|
acceptCheck.addActionListener(l);
|
}
|
}
|