blob: 7483504f524216c71a9abea3b1f669fae0d4395b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2007 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner.editors.palette;
import org.eclipse.gef.Tool;
import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jst.pagedesigner.itemcreation.ItemCreationTool;
/**
* Represents a tag palette item entry in the web page designer palette
*
*/
public class TagToolPaletteEntry extends CombinedTemplateCreationEntry
implements IDropSourceDataProvider
{
/**
* Constructor
*
* @param template
* the template item for the drop
* @param label
* @param shortDescription
* @param iconSmall
* @param iconLarge
*/
public TagToolPaletteEntry(final ITagDropSourceData template,
final String label, final String shortDescription,
final ImageDescriptor iconSmall, final ImageDescriptor iconLarge)
{
super(label, shortDescription, template, NOOP_FACTORY, iconSmall,
iconLarge);
}
/**
* @return tagName
*/
public String getTagName()
{
return getTemplate().getTagName();
}
/**
* Convenience method returning the tag libraries default prefix, if
* applicable
*
* @return default prefix
*/
public String getDefaultPrefix()
{
return getTemplate().getDefaultPrefix();
}
/**
* @return uri of the tag's library
*/
public String getURI()
{
return getTemplate().getNamespace();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.palette.ToolEntry#createTool()
*/
@Override
public Tool createTool()
{
return new ItemCreationTool(getTemplate());
}
private final static CreationFactory NOOP_FACTORY = new CreationFactory()
{
public Object getNewObject()
{
// should never get called
throw new UnsupportedOperationException(
"createTool should be overriden, so this should never be called"); //$NON-NLS-1$
}
public Object getObjectType()
{
// should never get called
throw new UnsupportedOperationException(
"createTool should be overriden, so this should never be called"); //$NON-NLS-1$
}
};
@Override
public ITagDropSourceData getTemplate()
{
return (ITagDropSourceData) super.getTemplate();
}
public IDropSourceData getDropSourceData()
{
return getTemplate();
}
}