|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.form.palette; import java.beans.*; import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.util.*; import org.openide.nodes.*; import org.openide.util.HelpCtx; import org.netbeans.modules.form.FormLoaderSettings; /** * Tabbed pane mode of Component palette. * * @author Josef Kozak, Jan Rojcek, Tomas Pavek, Jan Stola */ public class CPComponentLarge extends JPanel { /** The instance of CPComponentLarge (singleton). */ protected static CPComponentLarge instance; /** The manager of Component Palette that serves functionality*/ protected CPManager manager; /** Toolbar-like component allowing to select one category. */ private CategorySelectPanel categorySelector; /** Panel showing list of items of selected category. */ private CategoryPresentPanel categoryPresenter; /** Listener for various types of events */ private Listener listener; //::::::::::::::::::::::::::::::::::::: /** Create new instance (implementation is in superclass) */ CPComponentLarge(CPManager mgr) { manager = mgr; setLayout(new BorderLayout()); setFocusCycleRoot(true); HelpCtx.setHelpIDString(this, "gui.components.palette"); // NOI18N } public void addNotify() { super.addNotify(); manager.setSelectedItem(null); if (categorySelector == null) { // GUI components not created yet listener = new Listener(); // listener for everything // create CategorySelectPanel - on the top categorySelector = new CategorySelectPanel(listener, listener); categorySelector.getAccessibleContext().setAccessibleName( PaletteUtils.getBundleString("ACS_PaletteTabbedPane")); // NOI18N categorySelector.getAccessibleContext().setAccessibleDescription( PaletteUtils.getBundleString("ACSD_PaletteTabbedPane")); // NOI18N add(categorySelector, BorderLayout.NORTH); // create CategoryPresentPanel - in the middle categoryPresenter = new CategoryPresentPanel(listener, listener); categoryPresenter.setShowNames(manager.getShowComponentsNames()); add(categoryPresenter, BorderLayout.CENTER); fillCategories(); // listeners to environment after GUI is created manager.addPropertyChangeListener(listener); } } private void fillCategories() { if (categorySelector.getCategoryCount() > 0) { categorySelector.clearCategories(); categoryPresenter.clearCategories(); } Node[] nodes = manager.getCategoryNodes(); for (int i=0; i < nodes.length; i++) addCategory(nodes[i], i); } private void addCategory(Node node, int index) { categoryPresenter.addCategory(node, index); String description = // accessibility description for the category java.text.MessageFormat.format( PaletteUtils.getBundleString("ACSD_PaletteCategory"), // NOI18N new Object[] { node.getDisplayName() }); categorySelector.addCategory(node.getDisplayName(), description, index); } private void setSelectedItem(PaletteItem item) { if (item == null) for (int i=0, n=categoryPresenter.getCategoryCount(); i < n; i++) categoryPresenter.getCategoryList(i).clearSelection(); else { Node[] categoryNodes = manager.getCategoryNodes(); for (int i=0; i < categoryNodes.length; i++) { Node[] itemNodes = manager.getItemNodes(categoryNodes[i]); for (int j=0; j < itemNodes.length; j++) if (itemNodes[j].getCookie(PaletteItem.class) == item) { if (i != categorySelector.getSelectedIndex()) categorySelector.setSelectedIndex(i); categoryPresenter.getCategoryList(i).setSelectedValue( itemNodes[j], true); break; } } } } private void restoreSelectedCategory(Node node) { Node[] nodes = manager.getCategoryNodes(); int i, index; for (i=0; i |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.