blob: 621e0928a37a2353ac00bd13f1bd19bda83753c3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2006 IBM 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.common.snippets.internal.palette;
import org.eclipse.gef.palette.PaletteDrawer;
import org.eclipse.gef.palette.PaletteTemplateEntry;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.wst.common.snippets.core.ISnippetCategory;
import org.eclipse.wst.common.snippets.core.ISnippetItem;
public class SnippetPaletteDrawer extends PaletteDrawer implements ISnippetCategory {
protected String[] fFilters = new String[0];
protected String fIconName;
protected String fId;
protected String fLargeIconName;
protected Object fSourceDescriptor;
protected Object fSourceType = SNIPPET_SOURCE_USER;
/**
* @param label
*/
public SnippetPaletteDrawer(String label) {
super(label);
setDrawerType(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE);
setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
}
/**
* @param label
* @param icon
*/
public SnippetPaletteDrawer(String label, ImageDescriptor icon) {
super(label, icon);
setDrawerType(PaletteTemplateEntry.PALETTE_TYPE_TEMPLATE);
setType(PaletteDrawer.PALETTE_TYPE_DRAWER);
}
public void add(SnippetPaletteItem item) {
super.add(item);
item.setCategory(this);
item.setParent(this);
}
public String[] getFilters() {
return fFilters;
}
/**
* Gets the id.
*
* @return Returns a String
*/
public String getId() {
return fId;
}
public ISnippetItem[] getItems() {
return (ISnippetItem[]) getChildren().toArray(new ISnippetItem[0]);
}
public ImageDescriptor getLargeIcon() {
ImageDescriptor icon = super.getLargeIcon();
if (icon == null) {
icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this, true);
setLargeIcon(icon);
}
return icon;
}
/**
* @return String
*/
public String getLargeIconName() {
return fLargeIconName;
}
/**
* @see PaletteEntry#getSmallIcon()
*/
public ImageDescriptor getSmallIcon() {
ImageDescriptor icon = super.getSmallIcon();
if (icon == null) {
icon = SnippetImageDescriptorHelper.getInstance().getImageDescriptor(this);
setSmallIcon(icon);
}
return icon;
}
/**
* Gets the iconName.
*
* @return Returns a String
*/
public String getSmallIconName() {
return fIconName;
}
public Object getSourceDescriptor() {
return fSourceDescriptor;
}
public Object getSourceType() {
return fSourceType;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.wst.common.snippets.ui.ISnippetCategory#remove(org.eclipse.wst.common.snippets.ui.ISnippetItem)
*/
public void remove(SnippetPaletteItem item) {
super.remove(item);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.wst.common.snippets.ui.ISnippetsEntry#setFilters(java.lang.String[])
*/
public void setFilters(String[] filters) {
fFilters = filters;
}
/**
* Sets the iconName.
*
* @param iconName
* The iconName to set
*/
public void setIconName(String iconName) {
fIconName = iconName;
}
/**
* Sets the id.
*
* @param id
* The id to set
*/
public void setId(String id) {
fId = id;
}
/**
* Sets the largeIconName.
*
* @param largeIconName
* The largeIconName to set
*/
public void setLargeIconName(String largeIconName) {
fLargeIconName = largeIconName;
}
/**
* Sets the sourceDescriptor.
*
* @param sourceDescriptor
* The sourceDescriptor to set
*/
public void setSourceDescriptor(Object sourceDescriptor) {
fSourceDescriptor = sourceDescriptor;
}
/**
* Sets the sourceType.
*
* @param sourceType
* The sourceType to set
*/
public void setSourceType(Object sourceType) {
fSourceType = sourceType;
}
}