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
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.spi.palette;
043:
044: import java.awt.Image;
045: import java.net.MalformedURLException;
046: import java.net.URL;
047: import org.openide.nodes.AbstractNode;
048: import org.openide.nodes.Children;
049: import org.openide.nodes.Node;
050: import org.openide.util.Utilities;
051:
052: /**
053: *
054: * @author Stanislav Aubrecht
055: */
056: class DummyPalette {
057:
058: private static final int CATEGORY_COUNT = 9;
059: private static final int ITEM_COUNT = 9;
060:
061: /** Creates a new instance of DummyPalette */
062: private DummyPalette() {
063: }
064:
065: public static Node createPaletteRoot() {
066: Children categories = new Children.Array();
067: categories.add(createCategories());
068: return new RootNode(categories);
069: }
070:
071: private static Node[] createCategories() {
072: Node[] categories = new Node[CATEGORY_COUNT];
073:
074: for (int i = 0; i < categories.length; i++) {
075: Children items = new Children.Array();
076: items.add(createItems());
077: categories[i] = new CategoryNode(items, i);
078: }
079: return categories;
080: }
081:
082: private static Node[] createItems() {
083: Node[] items = new Node[ITEM_COUNT];
084:
085: for (int i = 0; i < items.length; i++) {
086: items[i] = new ItemNode(i);
087: }
088: return items;
089: }
090:
091: private static class RootNode extends AbstractNode {
092: public RootNode(Children children) {
093: super (children);
094: setName("DummyPalette");
095: }
096: }
097:
098: private static class CategoryNode extends AbstractNode {
099: public CategoryNode(Children children, int index) {
100: super (children);
101: setName("Category_" + index);
102: setDisplayName("CategoryName_" + index);
103: setShortDescription("Short category description " + index);
104: }
105:
106: public Image getIcon(int type) {
107:
108: Image icon = null;
109: try {
110: URL url = new URL(
111: "nbres:/javax/swing/beaninfo/images/JTabbedPaneColor16.gif");
112: icon = java.awt.Toolkit.getDefaultToolkit().getImage(
113: url);
114: } catch (MalformedURLException murlE) {
115: }
116: return icon;
117: }
118: }
119:
120: private static class ItemNode extends AbstractNode {
121:
122: public ItemNode(int index) {
123: super (Children.LEAF);
124: setName("Item_" + index);
125: setDisplayName("ItemName_" + index);
126: setShortDescription("Short item description " + index);
127: }
128:
129: public Image getIcon(int type) {
130:
131: Image icon = null;
132: try {
133: URL url = new URL(
134: "nbres:/javax/swing/beaninfo/images/JTabbedPaneColor16.gif");
135: icon = java.awt.Toolkit.getDefaultToolkit().getImage(
136: url);
137: } catch (MalformedURLException murlE) {
138: }
139: return icon;
140: }
141: }
142: }
|