|
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.project.ui.actions;
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JMenuItem;
import org.netbeans.api.project.Project;
import org.netbeans.spi.project.ui.CustomizerProvider;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.openide.util.Utilities;
import org.openide.util.actions.Presenter;
/** Action for invoking project customizer
*/
public class CustomizeProject extends ProjectAction implements Presenter.Popup {
private static final String namePattern = NbBundle.getMessage( CustomizeProject.class, "LBL_CustomizeProjectAction_Name" ); // NOI18N
private static final String namePatternPopup = NbBundle.getMessage( CustomizeProject.class, "LBL_CustomizeProjectAction_Popup_Name" ); // NOI18N
public CustomizeProject() {
this( null );
}
public CustomizeProject( Lookup context ) {
super( (String)null, namePattern, null, context );
refresh( getLookup() );
}
protected void refresh( Lookup context ) {
Project[] projects = ActionsUtil.getProjectsFromLookup( context, null );
if ( projects.length != 1 || projects[0].getLookup().lookup( CustomizerProvider.class ) == null ) {
setEnabled( false );
setDisplayName( ActionsUtil.formatProjectSensitiveName( namePattern, new Project[0] ) );
}
else {
setEnabled( true );
setDisplayName( ActionsUtil.formatProjectSensitiveName( namePattern, projects ) );
}
}
public void actionPerformed( Lookup context ) {
Project[] projects = ActionsUtil.getProjectsFromLookup( context, null );
if ( projects.length == 1 ) {
CustomizerProvider cp = (CustomizerProvider)projects[0].getLookup().lookup( CustomizerProvider.class );
if ( cp != null ) {
cp.showCustomizer();
}
}
}
public Action createContextAwareInstance( Lookup actionContext ) {
return new CustomizeProject( actionContext );
}
// Implementation of Presenter.Popup ---------------------------------------
public JMenuItem getPopupPresenter() {
JMenuItem popupPresenter = new JMenuItem( this );
popupPresenter.setText( namePatternPopup );
popupPresenter.setIcon( null );;
return popupPresenter;
}
}
|
| ... 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.