TaskRulerAction.java :  » IDE-Eclipse » ui » org » eclipse » ui » texteditor » Java Open Source

Java Open Source » IDE Eclipse » ui 
ui » org » eclipse » ui » texteditor » TaskRulerAction.java
/*******************************************************************************
 * Copyright (c) 2000, 2005 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.ui.texteditor;


import java.util.ResourceBundle;

import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.text.source.IVerticalRulerInfo;

import org.eclipse.ui.views.tasklist.TaskPropertiesDialog;



/**
 * Adapter for the marker ruler action creating/removing tasks.
 *
 * @since 2.0
 */
public class TaskRulerAction extends AbstractRulerActionDelegate {

  /**
   * Adds a task marker over the ruler context menu. Uses the Workbench's Task properties dialog.
   */
  static class TaskMarkerRulerAction extends MarkerRulerAction {

    /**
     * Creates a new action for the given ruler and editor. The action configures
     * its visual representation from the given resource bundle.
     *
     * @param bundle the resource bundle
     * @param prefix a prefix to be prepended to the various resource keys
     *   (described in <code>ResourceAction</code> constructor), or
     *   <code>null</code> if none
     * @param editor the text editor
     * @param ruler the vertical ruler info
     * @see MarkerRulerAction#MarkerRulerAction(ResourceBundle, String, ITextEditor, IVerticalRulerInfo, String, boolean)
     */
    public TaskMarkerRulerAction(ResourceBundle bundle, String prefix, ITextEditor editor, IVerticalRulerInfo ruler) {
      super(bundle, prefix, editor, ruler, IMarker.TASK, false);
    }

    /*
     * @see MarkerRulerAction#addMarker()
     */
    protected void addMarker() {
      IResource resource= getResource();
      if (resource == null)
        return;

           TaskPropertiesDialog dialog = new TaskPropertiesDialog(getTextEditor().getSite().getShell());
            dialog.setResource(resource);
            dialog.setInitialAttributes(getInitialAttributes());
            dialog.open();
    }
  }

  /*
   * @see AbstractRulerActionDelegate#createAction(ITextEditor, IVerticalRulerInfo)
   */
  protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
    return new TaskMarkerRulerAction(TextEditorMessages.getBundleForConstructedKeys(), "Editor.ManageTasks.", editor, rulerInfo); //$NON-NLS-1$
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.