|
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-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.vcs.advanced; import java.awt.*; import javax.swing.*; import javax.swing.border.*; import java.util.*; import java.text.MessageFormat; import org.openide.util.NbBundle; import org.openide.nodes.Children; import org.openide.nodes.Index; import org.openide.nodes.Node; import org.openide.explorer.*; import org.openide.explorer.propertysheet.*; import org.openide.explorer.propertysheet.editors.EnhancedCustomPropertyEditor; import org.openide.util.HelpCtx; import org.netbeans.modules.vcscore.commands.VcsCommand; import org.netbeans.modules.vcscore.cmdline.UserCommand; import org.netbeans.modules.vcs.advanced.commands.*; import org.netbeans.modules.vcscore.VcsFileSystem; import org.netbeans.modules.vcscore.cmdline.UserCommandSupport; import org.netbeans.modules.vcscore.commands.CommandExecutionContext; import org.netbeans.modules.vcscore.commands.CommandsTree; import org.netbeans.spi.vcs.commands.CommandSupport; /** User commands panel. * * @author Martin Entlicher */ //------------------------------------------- public class UserCommandsPanel extends JPanel implements ExplorerManager.Provider { private UserCommandsEditor editor; //private Vector commands=null; //private CommandList commandList = null; private CommandNode commandsNode = null; private ExplorerManager manager = null; private transient CommandExecutionContext executionContext; static final long serialVersionUID =-5546375234297504708L; /** * The panel of user commands. * @param editor The editor of UserCommand instances passed through CommandNodes */ public UserCommandsPanel(UserCommandsEditor editor) { this.editor = editor; CommandsTree commands = (CommandsTree) editor.getValue(); CommandSupport supp = commands.getCommandSupport(); UserCommand oldcmd = null; if (supp != null && supp instanceof UserCommandSupport) { oldcmd = ((UserCommandSupport) supp).getVcsCommand(); executionContext = ((UserCommandSupport) supp).getExecutionContext(); } //VcsCommand oldcmd = (VcsCommand) commands.getCookie(VcsCommand.class); UserCommand newcmd = null; if (oldcmd != null) { newcmd = new UserCommand(); newcmd.copyFrom(oldcmd); } commandsNode = createCommandNodes(commands, newcmd); initComponents(); getExplorerManager().setRootContext(commandsNode/*createNodes()*/); ExplorerActions actions = new ExplorerActions(); actions.attach(getExplorerManager()); getAccessibleContext().setAccessibleName(g("ACS_UserCommandsPanelA11yName")); // NOI18N getAccessibleContext().setAccessibleDescription(g("ACS_UserCommandsPanelA11yDesc")); // NOI18N } private CommandNode createCommandNodes(CommandsTree oldCommands, UserCommand cmd) { Children newChildren = new Index.ArrayChildren(); CommandNode newCommands = new CommandNode(newChildren, cmd); newCommands.setReadOnly(true); CommandsTree[] oldNodes = oldCommands.children(); for(int i = 0; i < oldNodes.length; i++) { CommandSupport supp = oldNodes[i].getCommandSupport(); UserCommand newcmd = null;//oldcmd; if (supp != null && (supp instanceof UserCommandSupport)) { newcmd = new UserCommand(); newcmd.copyFrom(((UserCommandSupport) supp).getVcsCommand()); } CommandNode newNode; if (!oldNodes[i].hasChildren()) { newNode = new CommandNode(Children.LEAF, newcmd); newNode.setReadOnly(true); } else { newNode = createCommandNodes(oldNodes[i], newcmd); } newChildren.add(new Node[] { newNode }); } return newCommands; } public void initComponents(){ GridBagLayout gb=new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); setLayout(gb); //setBorder(new TitledBorder(g("CTL_Commands"))); setBorder(new EmptyBorder (12, 12, 0, 11)); javax.swing.JTextArea descriptionArea = new javax.swing.JTextArea(); descriptionArea.getAccessibleContext().setAccessibleName(g("ACS_LBL_DescAreaCommandsView"));// NOI18N descriptionArea.getAccessibleContext().setAccessibleDescription(g("ACSD_LBL_DescAreaCommandsView"));// NOI18N String profileDisplayName = null; if (executionContext instanceof CommandLineVcsFileSystem) { Profile profile = ((CommandLineVcsFileSystem) executionContext).getProfile(); if (profile != null) { profileDisplayName = profile.getDisplayName(); } } descriptionArea.setText(g("LBL_ReadOnlyCommandsView", profileDisplayName)); descriptionArea.setEditable(false); descriptionArea.setLineWrap(true); descriptionArea.setWrapStyleWord(true); descriptionArea.setBackground(new javax.swing.JLabel().getBackground()); c.fill = GridBagConstraints.BOTH; c.weightx = 1.0; c.insets = new java.awt.Insets(0, 0, 11, 0); add(descriptionArea, c); c = new GridBagConstraints(); PropertySheetView propertySheetView = new PropertySheetView(); try { propertySheetView.setSortingMode(org.openide.explorer.propertysheet.PropertySheet.UNSORTED); } catch (java.beans.PropertyVetoException exc) { // The change was vetoed } org.openide.awt.SplittedPanel split = new org.openide.awt.SplittedPanel(); split.setSplitType(org.openide.awt.SplittedPanel.HORIZONTAL); //split.add(new CommandTreeView(), org.openide.awt.SplittedPanel.ADD_LEFT); org.openide.explorer.view.BeanTreeView beanTreeView = new org.openide.explorer.view.BeanTreeView(); beanTreeView.getAccessibleContext().setAccessibleName(g("ACS_UserCommandsTreeViewA11yName")); // NOI18N beanTreeView.getAccessibleContext().setAccessibleDescription(g("ACS_UserCommandsTreeViewA11yDesc")); // NOI18N ExplorerPanel explPanel = new ExplorerPanel(); explPanel.add(beanTreeView); manager = explPanel.getExplorerManager(); split.add(explPanel, org.openide.awt.SplittedPanel.ADD_LEFT); split.add(propertySheetView, org.openide.awt.SplittedPanel.ADD_RIGHT); //JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new CommandTreeView(), propertySheetView); c.fill = GridBagConstraints.BOTH; c.weightx = 1.0; c.weighty = 1.0; c.gridy = 1; add(split, c); } public ExplorerManager getExplorerManager() { synchronized(this) { if (manager == null) { manager = new ExplorerManager(); } } return manager; } //------------------------------------------- private String g(String s) { return NbBundle.getMessage(UserCommandsPanel.class, s); } private String g(String s, Object obj) { return NbBundle.getMessage(UserCommandsPanel.class, s, obj); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 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.