package org.xmind.ui.richtext; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.xmind.ui.internal.ToolkitImages; public class NumberAction extends Action implements IRichTextAction { private IRichTextEditViewer viewer; public NumberAction(IRichTextEditViewer viewer) { this(viewer, "&Number", ToolkitImages.get(ToolkitImages.NUMBER), //$NON-NLS-1$ "Number"); //$NON-NLS-1$ } public NumberAction(IRichTextEditViewer viewer, String text, ImageDescriptor image, String toolTip) { super(text, IAction.AS_CHECK_BOX); this.viewer = viewer; setId(TextActionConstants.NUMBER_ID); setImageDescriptor(image); setToolTipText(toolTip); } public void run() { if (viewer == null || viewer.getControl().isDisposed()) return; viewer.getRenderer().numberSelectionParagraph(isChecked()); } public void selectionChanged(IRichTextEditViewer viewer, ISelection selection) { setChecked(viewer.getRenderer().getNumberSelectionParagraph()); } public void dispose() { viewer = null; } }