|
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.cvsclient.commands.annotate;
/**
*
* @author Milos Kleint
*
*/
import org.netbeans.modules.cvsclient.commands.*;
import org.netbeans.modules.cvsclient.FsCommandFactory;
import org.netbeans.modules.javacvs.commands.*;
import org.netbeans.lib.cvsclient.command.annotate.*;
import java.io.File;
import java.lang.reflect.Method;
import org.openide.util.NbBundle;
import javax.swing.JComponent;
import javax.swing.table.*;
import org.netbeans.modules.vcscore.ui.*;
import org.netbeans.modules.vcscore.util.table.*;
public class AnnotateInfoPanel implements PersistentCommandDisplayer {
private AnnotatePanel panel;
private CvsAnnotate annCommand;
private AnnotateInformation info;
/** Creates new AnnotateInfoPanel */
public AnnotateInfoPanel(CvsAnnotate ann) {
annCommand = ann;
panel = new AnnotatePanel();
createTableDefinition();
}
public void setData(AnnotateInformation info) {
this.info = info;
panel.clearAllLines();
panel.setFileName(info.getFile().getAbsolutePath());
AnnotateLine line = info.getFirstLine();
if (line != null) {
do {
panel.addLine(line);
line = info.getNextLine();
} while (line != null);
}
panel.doRepaintAndSort();
}
private void createTableDefinition() {
// setting the model....
Class classa = AnnotateLine.class;
try {
Method method0 = classa.getMethod("getLineNumInteger", null); //NOI18N
Method method1 = classa.getMethod("getRevision", null); //NOI18N
Method method2 = classa.getMethod("getAuthor", null); //NOI18N
Method method3 = classa.getMethod("getDateString", null); //NOI18N
Method method4 = classa.getMethod("getContent", null); //NOI18N
panel.addLineNumColumnDefinition(method0, new IntegerComparator());
panel.addRevisionColumnDefinition(method1, new RevisionComparator());
panel.addAuthorColumnDefinition(method2, null);
panel.addDateColumnDefinition(method3, new DateComparator());
panel.addContentColumnDefinition(method4, null);
} catch (NoSuchMethodException exc) {
Thread.dumpStack();
} catch (SecurityException exc2) {
Thread.dumpStack();
}
}
/** Does the actual display - docking into the javacvs Mode,
* displaying as single Dialog.. whatever.
*/
public void displayOutputData() {
String title = NbBundle.getMessage(AnnotateInfoPanel.class, "CvsAnnotate.dialogTitle", info.getFile().getName()); //NOI18N
FsCommandFactory.displayOutputPanel(title, this);
}
public File getFileDisplayed() {
if (info == null) return null;
return info.getFile();
}
public Object getComparisonData() {
return info;
}
public JComponent getComponent() {
return panel;
}
// --------------------------------------------
// persistantDisplayer stuff..
// --------------------------------------------
public boolean equalDisplayedData(File file, Class type, Object comparisonData) {
if (!getClass().equals(type)) return false;
if (info == null || info.getFile() == null
|| !info.getFile().equals(file)) {
return false;
}
return true;
}
public FileSystemCommand getFileSystemCommand() {
return annCommand;
}
public String getCommandSwitches() {
return annCommand.getCVSArguments();
}
public void closeNotify() {
}
}
|
| ... 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.