blob: 316da5f64a75c74641ccfd216ff621db11517f2b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2005 Sybase, Inc. 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:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.facesconfig.ui.pageflow;
import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
import org.eclipse.gef.palette.ConnectionCreationToolEntry;
import org.eclipse.gef.palette.MarqueeToolEntry;
import org.eclipse.gef.palette.PaletteDrawer;
import org.eclipse.gef.palette.PaletteGroup;
import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.palette.PaletteSeparator;
import org.eclipse.gef.palette.SelectionToolEntry;
import org.eclipse.gef.palette.ToolEntry;
import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
import org.eclipse.jst.jsf.facesconfig.ui.EditorResources;
import org.eclipse.jst.jsf.facesconfig.ui.IconResources;
import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFLink;
import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PFPage;
import org.eclipse.jst.jsf.facesconfig.ui.pageflow.util.ModelCreationFactory;
/**
* This is the root of the palette used by pageflow editors.
*/
public class PageflowPaletteRoot extends PaletteRoot {
/**
* Creates a new PageflowPaletteRoot instance.
*/
public PageflowPaletteRoot() {
// create root
super();
// a group of default control tools
// Pageflow.PaletteTool.Group.Controls = Controls
PaletteGroup controls = new PaletteGroup(EditorResources.getInstance()
.getString("Pageflow.PaletteTool.Group.Controls")); //$NON-NLS-1$
add(controls);
// the selection tool
// Pageflow.PaletteTool.Select.Label = Select
// Pageflow.PaletteTool.Select.Description = Select one or more items
ToolEntry tool = new SelectionToolEntry(EditorResources.getInstance()
.getString("Pageflow.PaletteTool.Select.Label"), //$NON-NLS-1$
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Select.Description")); //$NON-NLS-1$
controls.add(tool);
// use selection tool as default entry
setDefaultEntry(tool);
// the marquee selection tool
// Pageflow.PaletteTool.Marquee.Label = Marquee
// Pageflow.PaletteTool.Marquee.Description = Marquee one or more items
controls.add(new MarqueeToolEntry(EditorResources.getInstance()
.getString("Pageflow.PaletteTool.Marquee.Label"), //$NON-NLS-1$
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Marquee.Description"))); //$NON-NLS-1$
controls.add(new PaletteSeparator());
// conection creation
// Pageflow.PaletteTool.Link.Label = Link
// Pageflow.PaletteTool.Link.Description = Creates an link
ConnectionCreationToolEntry linkEntry = new ConnectionCreationToolEntry(
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Link.Label"), //$NON-NLS-1$
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Link.Description"), //$NON-NLS-1$
new ModelCreationFactory(PFLink.class),
EditorPlugin.getDefault().getImageDescriptor(
IconResources.getString("Pageflow.link.small")), //$NON-NLS-1$
EditorPlugin.getDefault().getImageDescriptor(
IconResources.getString("Pageflow.link.mid"))); //$NON-NLS-1$
linkEntry.setUserModificationPermission(PERMISSION_FULL_MODIFICATION);
controls.add(linkEntry);
controls.add(new PaletteSeparator());
// Pageflow.PaletteTool.Group.Nodes = Nodes
PaletteDrawer nodes = new PaletteDrawer(EditorResources.getInstance()
.getString("Pageflow.PaletteTool.Group.Nodes")); //$NON-NLS-1$
add(nodes);
// use CombinedTemplateCreationEntry which can be also dragged
CombinedTemplateCreationEntry entry;
// Pageflow.PaletteTool.Page.Label = Page
// Pageflow.PaletteTool.Page.Description = Creates a pageflow page
entry = new CombinedTemplateCreationEntry(
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Page.Label"), //$NON-NLS-1$
EditorResources.getInstance().getString(
"Pageflow.PaletteTool.Page.Description"), //$NON-NLS-1$
PFPage.class, new ModelCreationFactory(PFPage.class),
EditorPlugin.getDefault().getImageDescriptor(
IconResources.getString("Pageflow.page.small")), //$NON-NLS-1$
EditorPlugin.getDefault().getImageDescriptor(
IconResources.getString("Pageflow.page.mid"))); //$NON-NLS-1$
nodes.add(entry);
}
}