001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU General
007: * Public License Version 2 only ("GPL") or the Common Development and Distribution
008: * License("CDDL") (collectively, the "License"). You may not use this file except in
009: * compliance with the License. You can obtain a copy of the License at
010: * http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the
011: * License for the specific language governing permissions and limitations under the
012: * License. When distributing the software, include this License Header Notice in
013: * each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Sun
014: * designates this particular file as subject to the "Classpath" exception as
015: * provided by Sun in the GPL Version 2 section of the License file that
016: * accompanied this code. If applicable, add the following below the License Header,
017: * with the fields enclosed by brackets [] replaced by your own identifying
018: * information: "Portions Copyrighted [year] [name of copyright owner]"
019: *
020: * Contributor(s):
021: *
022: * The Original Software is NetBeans. The Initial Developer of the Original Software
023: * is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun Microsystems, Inc. All
024: * Rights Reserved.
025: *
026: * If you wish your version of this file to be governed by only the CDDL or only the
027: * GPL Version 2, indicate your decision by adding "[Contributor] elects to include
028: * this software in this distribution under the [CDDL or GPL Version 2] license." If
029: * you do not indicate a single choice of license, a recipient has the option to
030: * distribute your version of this file under either the CDDL, the GPL Version 2 or
031: * to extend the choice of license to its licensees as provided above. However, if
032: * you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then
033: * the option applies only if the new code is made subject to such option by the
034: * copyright holder.
035: */
036:
037: package org.netbeans.installer.wizard.components.panels;
038:
039: import java.awt.GridBagConstraints;
040: import java.awt.Insets;
041: import org.netbeans.installer.utils.ResourceUtils;
042: import org.netbeans.installer.utils.helper.swing.NbiTextPane;
043: import org.netbeans.installer.wizard.ui.SwingUi;
044: import org.netbeans.installer.wizard.ui.WizardUi;
045: import org.netbeans.installer.wizard.components.WizardPanel;
046: import org.netbeans.installer.wizard.components.WizardPanel.WizardPanelUi;
047: import org.netbeans.installer.wizard.containers.SwingContainer;
048:
049: /**
050: *
051: * @author Kirill Sorokin
052: */
053: public class TextPanel extends WizardPanel {
054: /////////////////////////////////////////////////////////////////////////////////
055: // Constants
056: public static final String TEXT_PROPERTY = "text"; // NOI18N
057: public static final String CONTENT_TYPE_PROPERTY = "content.type"; // NOI18N
058:
059: public static final String DEFAULT_TEXT = ResourceUtils.getString(
060: TextPanel.class, "TP.text"); // NOI18N
061: public static final String DEFAULT_CONTENT_TYPE = ResourceUtils
062: .getString(TextPanel.class, "TP.content.type"); // NOI18N
063:
064: /////////////////////////////////////////////////////////////////////////////////
065: // Instance
066: public TextPanel() {
067: setProperty(TEXT_PROPERTY, DEFAULT_TEXT);
068: setProperty(CONTENT_TYPE_PROPERTY, DEFAULT_CONTENT_TYPE);
069: }
070:
071: @Override
072: public WizardUi getWizardUi() {
073: if (wizardUi == null) {
074: wizardUi = new TextPanelUi(this );
075: }
076:
077: return wizardUi;
078: }
079:
080: /////////////////////////////////////////////////////////////////////////////////
081: // Inner Classes
082: public static class TextPanelUi extends WizardPanelUi {
083: protected TextPanel component;
084:
085: public TextPanelUi(TextPanel component) {
086: super (component);
087:
088: this .component = component;
089: }
090:
091: public SwingUi getSwingUi(SwingContainer container) {
092: if (swingUi == null) {
093: swingUi = new TextPanelSwingUi(component, container);
094: }
095:
096: return super .getSwingUi(container);
097: }
098: }
099:
100: public static class TextPanelSwingUi extends WizardPanelSwingUi {
101: protected TextPanel component;
102:
103: private NbiTextPane textPane;
104:
105: public TextPanelSwingUi(final TextPanel component,
106: final SwingContainer container) {
107: super (component, container);
108:
109: this .component = component;
110:
111: initComponents();
112: }
113:
114: @Override
115: public String getTitle() {
116: return null; // text panels do not have a title
117: }
118:
119: @Override
120: protected void initialize() {
121: textPane.setContentType(component
122: .getProperty(CONTENT_TYPE_PROPERTY));
123: textPane.setText(component.getProperty(TEXT_PROPERTY));
124: }
125:
126: private void initComponents() {
127: // textPane /////////////////////////////////////////////////////////////
128: textPane = new NbiTextPane();
129:
130: // this /////////////////////////////////////////////////////////////////
131: add(textPane, new GridBagConstraints(0, 0, // x, y
132: 1, 1, // width, height
133: 1.0, 1.0, // weight-x, weight-y
134: GridBagConstraints.CENTER, // anchor
135: GridBagConstraints.BOTH, // fill
136: new Insets(11, 11, 11, 11), // padding
137: 0, 0)); // ??? (padx, pady)
138: }
139: }
140: }
|