| /******************************************************************************* |
| * Copyright (c) 2006 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.pagedesigner.editors.actions; |
| |
| import org.eclipse.jface.action.IAction; |
| import org.eclipse.jst.pagedesigner.IHTMLConstants; |
| import org.eclipse.jst.pagedesigner.PDPlugin; |
| import org.eclipse.jst.pagedesigner.actions.range.ChangeStyleAction; |
| import org.eclipse.jst.pagedesigner.actions.range.DesignerToolBarAction; |
| import org.eclipse.jst.pagedesigner.actions.range.HTagsInsertGroupAction; |
| |
| /** |
| * @author mengbo |
| */ |
| public class DesignActionBarFactory { |
| |
| private static final String TOOLBAR_PARAGRAPH_IMAGE_FILE = "PD_Toolbar_paragraph.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_LARGEFONT_DISABLED_IMAGE_FILE = "PD_Toolbar_largefont_disabled.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_LARGEFONT_IMAGE_FILE = "PD_Toolbar_largefont.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_SMALLFONT_DISABLED_IMAGE_FILE = "PD_Toolbar_smallfont_disabled.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_SMALLFONT_IMAGE_FILE = "PD_Toolbar_smallfont.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_BOLD_DISABLED_IMAGE_FILE = "PD_Toolbar_bold_disabled.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_BOLD_IMAGE_FILE = "PD_Toolbar_bold.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_ITALIC_DISABLED_IMAGE_FILE = "PD_Toolbar_italic_disabled.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_ITALIC_IMAGE_FILE = "PD_Toolbar_italic.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_UNDERLINE_DISABLED_IMAGE_FILE = "PD_Toolbar_underline_disabled.gif"; //$NON-NLS-1$ |
| private static final String TOOLBAR_UNDERLINE_IMAGE_FILE = "PD_Toolbar_underline.gif"; //$NON-NLS-1$ |
| |
| private static DesignActionBarFactory _instance; |
| |
| private DesignActionBarFactory() { |
| // no external instantiation |
| } |
| |
| /** |
| * @return get the factory singleton |
| */ |
| public static DesignActionBarFactory getInstance() { |
| if (_instance == null) { |
| _instance = new DesignActionBarFactory(); |
| } |
| return _instance; |
| } |
| |
| /** |
| * @param name |
| * @return the tool bar action |
| */ |
| public DesignerToolBarAction getStyleAction(String name) { |
| DesignerToolBarAction action = null; |
| |
| if (name.equals(IHTMLConstants.TAG_U)) { |
| action = new ChangeStyleAction(ActionsMessages |
| .getString("DesignActionBarFactory.Underline.Text"), name, //$NON-NLS-1$ |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_UNDERLINE_IMAGE_FILE), PDPlugin.getDefault() |
| .getImageDescriptor( |
| TOOLBAR_UNDERLINE_DISABLED_IMAGE_FILE), |
| IAction.AS_CHECK_BOX); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Underline")); //$NON-NLS-1$ |
| } else if (name.equals(IHTMLConstants.TAG_I)) { |
| action = new ChangeStyleAction(ActionsMessages |
| .getString("DesignActionBarFactory.Italic.Text"), name, //$NON-NLS-1$ |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_ITALIC_IMAGE_FILE), PDPlugin.getDefault() |
| .getImageDescriptor( |
| TOOLBAR_ITALIC_DISABLED_IMAGE_FILE), |
| IAction.AS_CHECK_BOX); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Italic")); //$NON-NLS-1$ |
| } else if (name.equals(IHTMLConstants.TAG_B)) { |
| action = new ChangeStyleAction(ActionsMessages |
| .getString("DesignActionBarFactory.Bold.Text"), name, //$NON-NLS-1$ |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_BOLD_IMAGE_FILE), |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_BOLD_DISABLED_IMAGE_FILE), |
| IAction.AS_CHECK_BOX); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Bold")); //$NON-NLS-1$ |
| } else if (name.equals(IHTMLConstants.TAG_SMALL)) { |
| action = new ChangeStyleAction(ActionsMessages |
| .getString("DesignActionBarFactory.Small.Text"), name, //$NON-NLS-1$ |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_SMALLFONT_IMAGE_FILE), PDPlugin.getDefault() |
| .getImageDescriptor( |
| TOOLBAR_SMALLFONT_DISABLED_IMAGE_FILE), |
| IAction.AS_CHECK_BOX); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Small")); //$NON-NLS-1$ |
| } else if (name.equals(IHTMLConstants.TAG_BIG)) { |
| action = new ChangeStyleAction(ActionsMessages |
| .getString("DesignActionBarFactory.Big.Text"), name, //$NON-NLS-1$ |
| PDPlugin.getDefault().getImageDescriptor( |
| TOOLBAR_LARGEFONT_IMAGE_FILE), PDPlugin.getDefault() |
| .getImageDescriptor( |
| TOOLBAR_LARGEFONT_DISABLED_IMAGE_FILE), |
| IAction.AS_CHECK_BOX); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Big")); //$NON-NLS-1$ |
| } else if (name |
| .equalsIgnoreCase(DesignPageActionContributor.PARAGRAPH_ACTION_ID)) { |
| action = new HTagsInsertGroupAction(PDPlugin.getDefault() |
| .getImageDescriptor(TOOLBAR_PARAGRAPH_IMAGE_FILE), |
| IAction.AS_DROP_DOWN_MENU); |
| action.setToolTipText(ActionsMessages |
| .getString("DesignActionBarFactory.Paragraph")); //$NON-NLS-1$ |
| } |
| |
| return action; |
| } |
| } |