|
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-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.web.debug.breakpoints;
import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.util.List;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComponent;
import org.netbeans.api.debugger.*;
import org.netbeans.api.debugger.jpda.*;
import org.netbeans.spi.debugger.ui.*;
import org.netbeans.spi.viewmodel.*;
import org.netbeans.modules.web.debug.*;
import org.openide.*;
import org.openide.util.*;
/**
* @author Martin Grebac
*/
public class JspBreakpointActionsProvider implements NodeActionsProviderFilter {
private static final Action GO_TO_SOURCE_ACTION = Models.createAction (
"Go to Source",
new Models.ActionPerformer () {
public boolean isEnabled (Object node) {
return true;
}
public void perform (Object[] nodes) {
goToSource ((JspLineBreakpoint) nodes [0]);
}
},
Models.MULTISELECTION_TYPE_EXACTLY_ONE
);
private static final Action CUSTOMIZE_ACTION = Models.createAction (
"Customize",
new Models.ActionPerformer () {
public boolean isEnabled (Object node) {
return true;
}
public void perform (Object[] nodes) {
customize ((Breakpoint) nodes [0]);
}
},
Models.MULTISELECTION_TYPE_EXACTLY_ONE
);
public Action[] getActions (NodeActionsProvider original, Object node) throws UnknownTypeException {
if (!(node instanceof JspLineBreakpoint))
return original.getActions (node);
Action[] oas = original.getActions (node);
if (node instanceof JspLineBreakpoint) {
Action[] as = new Action [oas.length + 3];
as [0] = GO_TO_SOURCE_ACTION;
as [1] = null;
System.arraycopy (oas, 0, as, 2, oas.length);
as [as.length - 1] = CUSTOMIZE_ACTION;
return as;
}
Action[] as = new Action [oas.length + 1];
System.arraycopy (oas, 0, as, 0, oas.length);
as [as.length - 1] = CUSTOMIZE_ACTION;
return as;
}
public void performDefaultAction (NodeActionsProvider original, Object node) throws UnknownTypeException {
if (node instanceof JspLineBreakpoint)
goToSource ((JspLineBreakpoint) node);
else
original.performDefaultAction (node);
}
public void addTreeModelListener (TreeModelListener l) {
}
public void removeTreeModelListener (TreeModelListener l) {
}
private static void customize (Breakpoint b) {
JComponent c = null;
if (b instanceof JspLineBreakpoint) {
c = new JspBreakpointPanel((JspLineBreakpoint) b);
}
DialogDescriptor descriptor = new DialogDescriptor (
c,
NbBundle.getMessage (
JspBreakpointActionsProvider.class,
"CTL_Breakpoint_Customizer_Title" // NOI18N
)
);
JButton bOk = null;
JButton bClose = null;
descriptor.setOptions (new JButton[] {
bOk = new JButton (NbBundle.getMessage (
JspBreakpointActionsProvider.class,
"CTL_Ok" // NOI18N
)),
bClose = new JButton (NbBundle.getMessage (
JspBreakpointActionsProvider.class,
"CTL_Close" // NOI18N
))
});
HelpCtx helpCtx = HelpCtx.findHelp (c);
if (helpCtx == null)
helpCtx = new HelpCtx ("debug.add.breakpoint");;
descriptor.setHelpCtx (helpCtx);
bOk.getAccessibleContext ().setAccessibleDescription (
NbBundle.getMessage (
JspBreakpointActionsProvider.class,
"ACSD_CTL_Ok" // NOI18N
)
);
bOk.setMnemonic(NbBundle.getMessage(JspBreakpointActionsProvider.class, "CTL_Ok_MNEM").charAt(0)); // NOI18N
bClose.getAccessibleContext ().setAccessibleDescription (
NbBundle.getMessage (
JspBreakpointActionsProvider.class,
"ACSD_CTL_Close" // NOI18N
)
);
bClose.setMnemonic(NbBundle.getMessage(JspBreakpointActionsProvider.class, "CTL_Close_MNEM").charAt(0)); // NOI18N
descriptor.setClosingOptions (null);
Dialog d = DialogDisplayer.getDefault ().createDialog (descriptor);
d.pack ();
d.setVisible (true);
if (descriptor.getValue () == bOk) {
((Controller) c).ok ();
}
}
private static void goToSource (JspLineBreakpoint b) {
Context.showSource (b);
}
}
|
| ... 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.