/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2006-2008 Sun Microsystems, Inc. */ package org.opends.quicksetup.installer.ui; import org.opends.messages.Message; import static org.opends.messages.QuickSetupMessages.*; import java.awt.Component; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; 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.util.Utils; import org.opends.quicksetup.Installation; 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); } /** * {@inheritDoc} */ protected Message getTitle() { return INFO_LICENSE_PANEL_TITLE.get(); } /** * {@inheritDoc} */ protected Message getInstructions() { /* * We can use org.opends.server.util.DynamicConstants without problems as it * has been added to quicksetup.jar during build time. */ Message message; if (Utils.isWebStart()) { String cmd = Utils.isWindows()? Installation.WINDOWS_SETUP_FILE_NAME: Installation.UNIX_SETUP_FILE_NAME; message = INFO_LICENSE_PANEL_WEBSTART_INSTRUCTIONS.get(); } else { message = INFO_LICENSE_PANEL_OFFLINE_INSTRUCTIONS.get(); } return message; } private TextArea detailsTextArea; private JCheckBox acceptCheck; /** * {@inheritDoc} */ 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(); panel.add(l, gbc); detailsTextArea = new TextArea(); detailsTextArea.setBackground( UIFactory.CURRENT_STEP_PANEL_BACKGROUND); detailsTextArea.setText(LicenseFile.getText()); gbc.insets = UIFactory.getEmptyInsets(); gbc.fill = GridBagConstraints.BOTH; gbc.weighty = 1.0; panel.add(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.fill = GridBagConstraints.BOTH; gbc.weighty = 0.0; panel.add(acceptCheck, gbc); addActionListeners(); return panel; } /** * Adds the required action listeners to the fields. */ private void addActionListeners() { final ActionListener l = new ActionListener() { 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); } }