/*
* � Copyright IBM Corp. 2011
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.ibm.xsp.extlib.designer.xspprops;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import com.ibm.designer.domino.ide.resources.extensions.DesignerProject;
import com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension;
import com.ibm.designer.domino.ui.commons.extensions.DesignerFileEditorInput;
/**
* @author doconnor
*
*/
public class XSPPropertiesMetaModel extends IDesignElementExtension {
/**
*
*/
public XSPPropertiesMetaModel() {
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getLargeIcon()
*/
@Override
public String getLargeIcon() {
return "xspProp.png"; // $NON-NLS-1$
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getSmallIcon()
*/
@Override
public String getSmallIcon() {
return "xspProp.png"; // $NON-NLS-1$
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewDialogTitle()
*/
@Override
public String getNewDialogTitle() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewDialogMessage()
*/
@Override
public String getNewDialogMessage() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewDialogImageName()
*/
@Override
public String getNewDialogImageName() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getElementNameWithAccelerator()
*/
@Override
public String getElementNameWithAccelerator() {
return "Xsp Proper&ties"; // $NLX-XSPPropertiesMetaModel.XSPProperties-1$
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getTopContextNewMenuString()
*/
@Override
public String getTopContextNewMenuString() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewMenuStringWithAccelerator()
*/
@Override
public String getNewMenuStringWithAccelerator() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewActionButtonLabel()
*/
@Override
public String getNewActionButtonLabel() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewActionButtonTooltip()
*/
@Override
public String getNewActionButtonTooltip() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getNewActionButtonImage()
*/
@Override
public String getNewActionButtonImage() {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getImageDescriptor(java.lang.String)
*/
@Override
public ImageDescriptor getImageDescriptor(String imageName) {
return Activator.getImageDescriptor(imageName);
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getImage(java.lang.String)
*/
@Override
public Image getImage(String imageName) {
return null;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#openDesign(com.ibm.designer.domino.ide.resources.extensions.DesignerProject)
*/
@Override
public boolean openDesign(DesignerProject designerProject) {
if(designerProject != null){
IProject project = designerProject.getProject();
if(project != null){
IFile xspDotProps = project.getFile("WebContent/WEB-INF/xsp.properties"); // $NON-NLS-1$
if(xspDotProps != null && xspDotProps.exists()){
if(PlatformUI.getWorkbench() != null && PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null){
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
if(page != null){
try {
page.openEditor(new DesignerFileEditorInput(xspDotProps), "com.ibm.xsp.extlib.designer.xspprops.editor"); // $NON-NLS-1$
return true;
} catch (PartInitException e) {
e.printStackTrace();
}
}
}
}
}
}
return false;
}
/* (non-Javadoc)
* @see com.ibm.designer.domino.ide.resources.metamodel.IDesignElementExtension#getSupportedPerspectives()
*/
@Override
public String[] getSupportedPerspectives() {
return new String[] {DD_PERSPECTIVE, XPAGES_PERSPECTIVE};
}
}