|
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.cvsclient.commands; import org.openide.DialogDisplayer; import java.util.*; import java.io.IOException; import java.io.File; import javax.swing.*; import javax.swing.table.*; import javax.swing.text.StyledDocument; import java.awt.*; import java.awt.event.*; import org.netbeans.lib.cvsclient.command.update.*; import org.netbeans.lib.cvsclient.event.MessageEvent; import org.netbeans.modules.javacvs.events.*; import org.netbeans.modules.vcscore.util.Debug; import org.netbeans.modules.vcscore.commands.*; import org.netbeans.modules.vcscore.util.TopComponentCloseListener; import org.netbeans.modules.cvsclient.NbJavaCvsFileSystem; import org.netbeans.modules.javacvs.commands.*; import org.openide.util.NbBundle; import org.openide.filesystems.*; import org.openide.*; import javax.accessibility.*; public class CommandLineInfoPanel implements CommandDisplayerListener { // DialogDescriptor dd; private StringBuffer toAdd; boolean wasShown; private FileSystemCommand command; private CommandOutputVisualizer panel; private ArrayList closeListeners = new ArrayList(); private java.awt.event.ActionListener killListener = null; /** Creates new form UpdateInfoPanel */ public CommandLineInfoPanel(FileSystemCommand fscommand) { // initComponents (); command = fscommand; killListener = new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent event) { String name = command.getName(); NotifyDescriptor.Confirmation nd = new NotifyDescriptor.Confirmation ( java.text.MessageFormat.format(NbBundle.getBundle(CommandOutputPanel.class).getString("CommandOutputVisualizer.killCommand"), // NOI18N new Object[] { name }), NotifyDescriptor.Confirmation.OK_CANCEL_OPTION); if (NotifyDescriptor.Confirmation.OK_OPTION.equals (DialogDisplayer.getDefault().notify (nd))) { shutDownCommand(); } } }; String name = fscommand.getName(); String viewName = NbBundle.getMessage(CommandOutputPanel.class, "CommandOutputVisualizer.name", // NOI18N new Object[] { name }); File[] files = fscommand.getFiles(); StringBuffer filesString = new StringBuffer(" "); // NOI18N if (files != null && (!fscommand.getClass().equals(CvsCheckout.class))) { for (int i = 0; i < files.length; i++) { if (files[i] != null) { filesString.append(files[i].getName()); filesString.append(" "); // NOI18N } } } String execString = "cvs " + fscommand.getGlobalOptions().getCVSCommand() + " " + fscommand.getCVSCommand() + filesString.toString(); // NOI18N panel = new CommandOutputVisualizer(killListener, execString, viewName); wasShown = false; } /** this method should be used with Choosers to display the dialog.. * then later the displayOutputData will just present the datat gotten from server * Reason: to have something displayer right away.. * This method is to be called when creating the command and Chooser. */ public void displayFrameWork() { panel.open((org.openide.windows.Workspace) null); wasShown = true; } private void shutDownCommand() { // we can do that because it's running from other thread then command and won't kill itself command.hardCommandStop(); panel.setExitStatus(VcsCommandExecutor.INTERRUPTED); } public void showExecutionFailed(Exception exception) { // do change the buttons. if (!wasShown) { displayFrameWork(); } panel.setExitStatus(VcsCommandExecutor.FAILED); } public void messageGenerated(MessageEvent e) { if (!wasShown) { displayFrameWork(); } if (e.getMessage().equals("")) { // NOI18N return; } if (e.isTagged()) { String line = e.getMessage(); if (line.charAt(0) == '+' || line.charAt(0) == '-') { return; } if (toAdd == null) { toAdd = new StringBuffer(); } if (line.equals("newline")) { // NOI18N panel.stdOutputLine(toAdd.toString()); toAdd = null; // NOI18N } else { int index = line.indexOf(' '); if (index > 0) { toAdd = toAdd.append(line.substring(index + 1)); } } } else { if (toAdd != null) { panel.stdOutputLine(toAdd.toString()); toAdd = null; } if (e.isError()) { panel.errOutputLine(e.getMessage()); // NOI18N } else { panel.stdOutputLine(e.getMessage()); // NOI18N } } // JScrollBar bar = spCentral.getVerticalScrollBar(); // bar.setValue(bar.getMaximum()); } public void showBeforeEachExecute(org.netbeans.lib.cvsclient.command.Command currentCommand) { } public void showFinishedCommand() { // do change the buttons. if (!wasShown) { displayFrameWork(); } panel.setExitStatus(VcsCommandExecutor.SUCCEEDED); } public void showStartCommand() { displayFrameWork(); } public void showAfterEachExecute() { } public void showFileInfoGenerated(org.netbeans.lib.cvsclient.command.FileInfoContainer info) { } } |
... 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.