|
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.netbeans.modules.javacvs.events.CommandDisplayerListener;
import org.netbeans.lib.cvsclient.event.MessageEvent;
import javax.swing.*;
import java.awt.*;
import org.openide.util.NbBundle;
import org.openide.*;
import javax.accessibility.*;
import java.util.*;
import org.openide.DialogDisplayer;
import org.openide.util.actions.SystemAction;
import org.openide.windows.WindowManager;
/**
*
* @author mk104111
*/
public class DefaultInfoPanel extends org.openide.windows.TopComponent
implements CommandDisplayerListener,
RuntimeCommandDisplayer {
public static final String JAVACVS_LIMITED_MODE = "LIMITED JavaCvs mode- for output of update, commit, add, remove etc."; // NOI18N
private StringBuffer buff;
private boolean runsFromRuntime;
/** Creates new form DefaultInfoPanel */
public DefaultInfoPanel() {
super();
buff = new StringBuffer();
runsFromRuntime = false;
putClientProperty("PersistenceType", "Never"); //NOI18N
// http://www.netbeans.org/issues/show_bug.cgi?id=24199
// the TabPolicy property's value makes sure that the tab is not shown
// for the topcomponent when it is alone in the mode.
putClientProperty("TabPolicy", "HideWhenAlone");
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
setLayout(new java.awt.BorderLayout());
}//GEN-END:initComponents
/**
* this one is called when the command's execution fails for any reason.
*/
public void showExecutionFailed(Exception exception) {
}
/**
* When the server generates a line of output/error, the displayer is notified.
* @param message - the string to be displayed, be it error/message (E/M response)
*/
public void messageGenerated(MessageEvent e) {
if (e.isTagged()) {
String line = e.getMessage();
if (line.charAt(0) == '+' || line.charAt(0) == '-') {
return;
}
if (line.equals("newline")) { // NOI18N
buff.append("\n"); // NOI18N
return;
}
int index = line.indexOf(' ');
if (index > 0) {
buff.append(line.substring(index + 1));
}
}
else {
if (e.getMessage().length() > 0) {
buff.append(e.getMessage() + "\n"); // NOI18N
}
}
if (buff.length() > 36000) { // just approx. constants, tuneup possible..
buff.delete(0, 8000);
int index = 0;
while (index < buff.length() && buff.charAt(index) != '\n') {
index = index + 1;
}
buff.delete(0, index);
buff.insert(0, NbBundle.getBundle(DefaultInfoPanel.class).getString("DefaultInfoPanel.logCut") + "\n");
}
}
/**
* this method is called before any of the library's commands
* that is stored in the queue in FileSystemCommand, is run.
* @param currentCommand shows the command that will be executed.
*/
public void showBeforeEachExecute(org.netbeans.lib.cvsclient.command.Command currentCommand) {
}
/**
* This is the last method to be called in the displayer.
* Is called when the execution finishes. Any filan touchups can be made here.
*/
public void showFinishedCommand() {
}
/**
* This method is the first one that is called during execution.
* Here any initial setup of the displayer can be made.
*/
public void showStartCommand() {
}
/**
* this method is called after library's commands execution
*/
public void showAfterEachExecute() {
}
/**
* When the library command's builder generates a FileInfoContainer object, the
* Displayer is notified.
* @param info - the generated information object
*/
public void showFileInfoGenerated(org.netbeans.lib.cvsclient.command.FileInfoContainer info) {
}
protected String getCurrentCommandLog() {
return buff.toString();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
// End of variables declaration//GEN-END:variables
protected void doShowCommandLog(final JButton button) {
// begin visual stuff --------------
JPanel toReturn = new JPanel();
toReturn.setLayout(new BorderLayout());
JScrollPane pane = new JScrollPane();
JTextArea area = new JTextArea();
//accessibility stuff..
ResourceBundle bundle = NbBundle.getBundle(DefaultInfoPanel.class); //NOI18N
AccessibleContext context = toReturn.getAccessibleContext();
context.setAccessibleDescription(bundle.getString("ACSD_ShowComandLog"));
context = area.getAccessibleContext();
context.setAccessibleDescription(bundle.getString("ACSD_ShowCommandLog.area"));
context.setAccessibleName(bundle.getString("ACSN_ShowCommandLog.area"));
area.setLineWrap(false);
if (buff != null) {
area.setText(getCurrentCommandLog());
}
area.setEditable(false);
javax.swing.KeyStroke enter = javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ENTER, 0);
javax.swing.text.Keymap map = area.getKeymap ();
map.removeKeyStrokeBinding (enter);
pane.setPreferredSize(new Dimension(400, 100));
pane.setViewportView(area);
toReturn.add(pane, BorderLayout.CENTER);
// - end visual stuff -------------------
String title = NbBundle.getBundle(DefaultInfoPanel.class).getString("DefaultInfoPanel.commandLogTitle"); // NOI18N
toReturn.setSize(new Dimension(450, 200));
toReturn.setMinimumSize(new Dimension(250, 100));
DialogDescriptor dd = new DialogDescriptor(toReturn, title);
JButton btnClose = new JButton();
btnClose.setText(org.openide.util.NbBundle.getBundle(DefaultInfoPanel.class).getString("DefaultInfoPanel.closeButton")); // NOI18N
btnClose.setMnemonic(org.openide.util.NbBundle.getBundle(DefaultInfoPanel.class).getString("DefaultInfoPanel.closeButton.mnemonic").charAt(0)); // NOI18N
btnClose.setDefaultCapable(true);
dd.setValue(btnClose);
Object[] options = { btnClose };
dd.setOptions(options);
/* dd.setButtonListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent actionEvent) {
}
});
*/
dd.setClosingOptions(options);
dd.setModal(false);
Dialog dial = DialogDisplayer.getDefault().createDialog(dd);
dial.setModal(true);
dial.show();
button.setEnabled(true);
}
public void setRunInRuntime(boolean runtime) {
runsFromRuntime = runtime;
}
protected boolean isRunningFromRuntime() {
return runsFromRuntime;
}
protected void closeNotify() {
super.closeNotify();
}
protected void openNotify() {
super.openNotify();
}
public boolean canClose(org.openide.windows.Workspace workspace, boolean param) {
return true;
}
/**
* Disable serialization.
* @return null
*/
protected Object writeReplace () throws java.io.ObjectStreamException {
return null;
}
/** Get the system actions which will appear in
* the popup menu of this component.
*
|
| ... 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.