org.eclipse.mylyn.tasks.ui_3.7.1.v20120425-0100

ributeEditorFactory paramAttributeEditorFactory, TaskDataModel $anonymous0, TaskRepository $anonymous1, TaskAttribute $anonymous2, int $anonymous3)
  {
    super($anonymous0, $anonymous1, $anonymous2, $anonymous3);
  }
  
  public String getValue()
  {
    return getAttributeMapper().getValueLabel(getTaskAttribute());
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.AttributeEditorFactory.1
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import org.eclipse.swt.events.ControlAdapter;

class TaskEditor$1
  extends ControlAdapter
{
  private boolean ignoreResizeEvents;
  
  TaskEditor$1(TaskEditor paramTaskEditor) {}
  
  /* Error */
  public void controlResized(org.eclipse.swt.events.ControlEvent e)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 30	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:ignoreResizeEvents	Z
    //   4: ifeq +4 -> 8
    //   7: return
    //   8: aload_0
    //   9: iconst_1
    //   10: putfield 30	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:ignoreResizeEvents	Z
    //   13: aload_0
    //   14: getfield 31	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:this$0	Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;
    //   17: invokestatic 32	org/eclipse/mylyn/tasks/ui/editors/TaskEditor:access$0	(Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;)V
    //   20: aload_0
    //   21: getfield 31	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:this$0	Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;
    //   24: invokestatic 33	org/eclipse/mylyn/tasks/ui/editors/TaskEditor:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;)V
    //   27: goto +11 -> 38
    //   30: astore_2
    //   31: aload_0
    //   32: iconst_0
    //   33: putfield 30	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:ignoreResizeEvents	Z
    //   36: aload_2
    //   37: athrow
    //   38: aload_0
    //   39: iconst_0
    //   40: putfield 30	org/eclipse/mylyn/tasks/ui/editors/TaskEditor$1:ignoreResizeEvents	Z
    //   43: return
    // Line number table:
    //   Java source line #223	-> byte code offset #0
    //   Java source line #224	-> byte code offset #7
    //   Java source line #226	-> byte code offset #8
    //   Java source line #229	-> byte code offset #13
    //   Java source line #230	-> byte code offset #20
    //   Java source line #231	-> byte code offset #30
    //   Java source line #232	-> byte code offset #31
    //   Java source line #233	-> byte code offset #36
    //   Java source line #232	-> byte code offset #38
    //   Java source line #234	-> byte code offset #43
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	44	0	this	1
    //   0	44	1	e	org.eclipse.swt.events.ControlEvent
    //   30	7	2	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   13	30	30	finally
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.TaskEditor.1
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import org.eclipse.core.runtime.IStatus;
import org.eclipse.mylyn.internal.tasks.ui.editors.Messages;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;

class AbstractTaskEditorPage$24
  extends HyperlinkAdapter
{
  AbstractTaskEditorPage$24(AbstractTaskEditorPage paramAbstractTaskEditorPage, IStatus paramIStatus) {}
  
  public void linkActivated(HyperlinkEvent e)
  {
    TasksUiInternal.displayStatus(Messages.AbstractTaskEditorPage_Submit_failed, val$status);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.24
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;

class TaskEditor$8
  implements IMenuListener
{
  TaskEditor$8(TaskEditor paramTaskEditor) {}
  
  public void menuAboutToShow(IMenuManager manager)
  {
    this$0.contextMenuAboutToShow(manager);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.TaskEditor.8
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.ScrolledForm;

class AbstractTaskEditorPage$ParentResizeHandler$1
  implements Runnable
{
  int scheduledGeneration;
  
  AbstractTaskEditorPage$ParentResizeHandler$1(AbstractTaskEditorPage.ParentResizeHandler paramParentResizeHandler)
  {
    scheduledGeneration = AbstractTaskEditorPage.ParentResizeHandler.access$0(paramParentResizeHandler);
  }
  
  public void run()
  {
    if (AbstractTaskEditorPage.ParentResizeHandler.access$2(this$1).getManagedForm().getForm().isDisposed()) {
      return;
    }
    if (scheduledGeneration == AbstractTaskEditorPage.ParentResizeHandler.access$0(this$1)) {
      AbstractTaskEditorPage.ParentResizeHandler.access$2(this$1).getManagedForm().reflow(true);
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.ParentResizeHandler.1
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

public enum LayoutHint$ColumnSpan
{
  MULTIPLE,  SINGLE;
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.LayoutHint.ColumnSpan
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import org.eclipse.jface.dialogs.IInputValidator;
import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskDataModelEvent;
import org.eclipse.mylyn.tasks.core.data.TaskDataModelListener;

class AttributeEditorToolkit$2
  extends TaskDataModelListener
{
  AttributeEditorToolkit$2(AbstractAttributeEditor paramAbstractAttributeEditor, IInputValidator paramIInputValidator, ControlDecoration paramControlDecoration) {}
  
  public void attributeChanged(TaskDataModelEvent event)
  {
    if (event.getTaskAttribute().equals(val$attributeEditor.getTaskAttribute()))
    {
      String validationMessage = val$validator.isValid(val$attributeEditor.getTaskAttribute().getValue());
      if (validationMessage == null)
      {
        val$decoration.hide();
      }
      else
      {
        val$decoration.setDescriptionText(validationMessage);
        val$decoration.show();
      }
    }
  }
}

/* Location:
 * Qualified Name:     org.eclipse.mylyn.tasks.ui.editors.AttributeEditorToolkit.2
 * Java Class Version: 5 (49.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.mylyn.tasks.ui.editors;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.ISafeRunnable;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuCreator;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.text.TextSelection;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.mylyn.commons.core.StatusHandler;
import org.eclipse.mylyn.commons.ui.CommonImages;
import org.eclipse.mylyn.commons.ui.CommonUiUtil;
import org.eclipse.mylyn.commons.ui.GradientCanvas;
import org.eclipse.mylyn.commons.workbench.editors.CommonTextSupport;
import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.ITaskJobFactory;
import org.eclipse.mylyn.internal.tasks.core.ITaskList;
import org.eclipse.mylyn.internal.tasks.core.ITaskListChangeListener;
import org.eclipse.mylyn.internal.tasks.core.ITaskListRunnable;
import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta;
import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta.Kind;
import org.eclipse.mylyn.internal.tasks.core.TaskList;
import org.eclipse.mylyn.internal.tasks.core.data.ITaskDataManagerListener;
import org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager;
import org.eclipse.mylyn.internal.tasks.core.data.TaskDataManagerEvent;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
import org.eclipse.mylyn.internal.tasks.ui.actions.ClearOutgoingAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.DeleteTaskEditorAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.NewSubTaskAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.OpenWithBrowserAction;
import org.eclipse.mylyn.internal.tasks.ui.actions.SynchronizeEditorAction;
import org.eclipse.mylyn.internal.tasks.ui.editors.AbstractTaskEditorSection;
import org.eclipse.mylyn.internal.tasks.ui.editors.EditorUtil;
import org.eclipse.mylyn.internal.tasks.ui.editors.FocusTracker;
import org.eclipse.mylyn.internal.tasks.ui.editors.Messages;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskAttachmentDropListener;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorActionContributor;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorActionPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorAttachmentPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorAttributePart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorCommentPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorContributionExtensionReader;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorDescriptionPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorNewCommentPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorOutlineNode;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorOutlinePage;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPeoplePart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorPlanningPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorRichTextPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorSummaryPart;
import org.eclipse.mylyn.internal.tasks.ui.editors.ToolBarButtonContribution;
import org.eclipse.mylyn.internal.tasks.ui.util.AttachmentUtil;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.IRepositoryManager;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState;
import org.eclipse.mylyn.tasks.core.ITaskMapping;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.ITaskDataManager;
import org.eclipse.mylyn.tasks.core.data.ITaskDataWorkingCopy;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper;
import org.eclipse.mylyn.tasks.core.data.TaskData;
import org.eclipse.mylyn.tasks.core.data.TaskDataModel;
import org.eclipse.mylyn.tasks.core.data.TaskDataModelEvent;
import org.eclipse.mylyn.tasks.core.data.TaskDataModelListener;
import org.eclipse.mylyn.tasks.core.data.TaskRelation;
import org.eclipse.mylyn.tasks.core.sync.SubmitJob;
import org.eclipse.mylyn.tasks.core.sync.SubmitJobEvent;
import org.eclipse.mylyn.tasks.core.sync.SubmitJobListener;
import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
import org.eclipse.mylyn.tasks.ui.TasksUi;
import org.eclipse.mylyn.tasks.ui.TasksUiImages;
import org.eclipse.mylyn.tasks.ui.TasksUiUtil;
import org.eclipse.swt.dnd.DropTarget;
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.FormColors;
import org.eclipse.ui.forms.IFormPart;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.services.IDisposable;
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;

public abstract class AbstractTaskEditorPage
  extends TaskFormPage
  implements ISelectionProvider, ISelectionChangedListener
{
  private final class ParentResizeHandler
    implements Listener
  {
    private int generation;
    
    private ParentResizeHandler() {}
    
    public void handleEvent(Event event)
    {
      generation += 1;
      
      Display.getCurrent().timerExec(300, new Runnable()
      {
        int scheduledGeneration = generation;
        
        public void run()
        {
          if (getManagedForm().getForm().isDisposed()) {
            return;
          }
          if (scheduledGeneration == generation) {
            getManagedForm().reflow(true);
          }
        }
      });
    }
  }
  
  private class SubmitTaskJobListener
    extends SubmitJobListener
  {
    private final boolean attachContext;
    private final boolean expandLastComment;
    
    public SubmitTaskJobListener(boolean attachContext, boolean expandLastComment)
    {
      this.attachContext = attachContext;
      this.expandLastComment = expandLastComment;
    }
    
    public void done(SubmitJobEvent event)
    {
      final SubmitJob job = event.getJob();
      PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
      {
        private void addTask(ITask newTask)
        {
          AbstractTaskContainer parent = null;
          AbstractTaskEditorPart actionPart = getPart("org.eclipse.mylyn.tasks.ui.editors.parts.actions");
          if ((actionPart instanceof TaskEditorActionPart)) {
            parent = ((TaskEditorActionPart)actionPart).getCategory();
          }
          TasksUiInternal.getTaskList().addTask(newTask, parent);
        }
        
        /* Error */
        public void run()
        {
          // Byte code:
          //   0: aload_0
          //   1: getfield 120	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:val$job	Lorg/eclipse/mylyn/tasks/core/sync/SubmitJob;
          //   4: invokevirtual 133	org/eclipse/mylyn/tasks/core/sync/SubmitJob:getStatus	()Lorg/eclipse/core/runtime/IStatus;
          //   7: ifnonnull +175 -> 182
          //   10: aload_0
          //   11: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   14: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   17: invokevirtual 140	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:getTaskRepository	()Lorg/eclipse/mylyn/tasks/core/TaskRepository;
          //   20: invokestatic 131	org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal:synchronizeRepositoryInBackground	(Lorg/eclipse/mylyn/tasks/core/TaskRepository;)V
          //   23: aload_0
          //   24: getfield 120	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:val$job	Lorg/eclipse/mylyn/tasks/core/sync/SubmitJob;
          //   27: invokevirtual 134	org/eclipse/mylyn/tasks/core/sync/SubmitJob:getTask	()Lorg/eclipse/mylyn/tasks/core/ITask;
          //   30: aload_0
          //   31: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   34: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   37: invokevirtual 139	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:getTask	()Lorg/eclipse/mylyn/tasks/core/ITask;
          //   40: invokevirtual 123	java/lang/Object:equals	(Ljava/lang/Object;)Z
          //   43: ifeq +16 -> 59
          //   46: aload_0
          //   47: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   50: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   53: invokevirtual 137	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:refresh	()V
          //   56: goto +106 -> 162
          //   59: aload_0
          //   60: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   63: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   66: invokevirtual 139	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:getTask	()Lorg/eclipse/mylyn/tasks/core/ITask;
          //   69: astore_1
          //   70: aload_0
          //   71: getfield 120	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:val$job	Lorg/eclipse/mylyn/tasks/core/sync/SubmitJob;
          //   74: invokevirtual 134	org/eclipse/mylyn/tasks/core/sync/SubmitJob:getTask	()Lorg/eclipse/mylyn/tasks/core/ITask;
          //   77: astore_2
          //   78: aload_0
          //   79: aload_2
          //   80: invokespecial 148	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:addTask	(Lorg/eclipse/mylyn/tasks/core/ITask;)V
          //   83: new 55	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator
          //   86: dup
          //   87: aload_1
          //   88: invokespecial 127	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator:<init>	(Lorg/eclipse/mylyn/tasks/core/ITask;)V
          //   91: astore_3
          //   92: aload_3
          //   93: iconst_1
          //   94: invokevirtual 125	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator:setDelete	(Z)V
          //   97: aload_3
          //   98: aload_0
          //   99: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   102: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   105: invokevirtual 142	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:getTaskEditor	()Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;
          //   108: invokevirtual 129	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator:setEditor	(Lorg/eclipse/mylyn/tasks/ui/editors/TaskEditor;)V
          //   111: aload_3
          //   112: aload_0
          //   113: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   116: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   119: invokestatic 143	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:access$4	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;)Lorg/eclipse/mylyn/tasks/core/AbstractRepositoryConnector;
          //   122: aload_0
          //   123: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   126: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   129: invokevirtual 140	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:getTaskRepository	()Lorg/eclipse/mylyn/tasks/core/TaskRepository;
          //   132: aload_2
          //   133: aload_0
          //   134: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   137: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   140: invokestatic 144	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:access$5	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;)Lorg/eclipse/mylyn/tasks/core/data/TaskData;
          //   143: invokevirtual 132	org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector:hasRepositoryDueDate	(Lorg/eclipse/mylyn/tasks/core/TaskRepository;Lorg/eclipse/mylyn/tasks/core/ITask;Lorg/eclipse/mylyn/tasks/core/data/TaskData;)Z
          //   146: ifeq +7 -> 153
          //   149: iconst_0
          //   150: goto +4 -> 154
          //   153: iconst_1
          //   154: invokevirtual 126	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator:setMigrateDueDate	(Z)V
          //   157: aload_3
          //   158: aload_2
          //   159: invokevirtual 128	org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator:execute	(Lorg/eclipse/mylyn/tasks/core/ITask;)V
          //   162: aload_0
          //   163: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   166: invokestatic 146	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$0	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Z
          //   169: ifeq +13 -> 182
          //   172: aload_0
          //   173: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   176: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   179: invokevirtual 136	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:expandLastComment	()V
          //   182: aload_0
          //   183: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   186: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   189: new 59	org/eclipse/mylyn/tasks/core/sync/SubmitJobEvent
          //   192: dup
          //   193: aload_0
          //   194: getfield 120	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:val$job	Lorg/eclipse/mylyn/tasks/core/sync/SubmitJob;
          //   197: invokespecial 135	org/eclipse/mylyn/tasks/core/sync/SubmitJobEvent:<init>	(Lorg/eclipse/mylyn/tasks/core/sync/SubmitJob;)V
          //   200: invokevirtual 141	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:handleTaskSubmitted	(Lorg/eclipse/mylyn/tasks/core/sync/SubmitJobEvent;)V
          //   203: goto +19 -> 222
          //   206: astore 4
          //   208: aload_0
          //   209: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   212: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   215: iconst_0
          //   216: invokevirtual 138	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:showEditorBusy	(Z)V
          //   219: aload 4
          //   221: athrow
          //   222: aload_0
          //   223: getfield 121	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener$1:this$1	Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;
          //   226: invokestatic 147	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener:access$1	(Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage$SubmitTaskJobListener;)Lorg/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage;
          //   229: iconst_0
          //   230: invokevirtual 138	org/eclipse/mylyn/tasks/ui/editors/AbstractTaskEditorPage:showEditorBusy	(Z)V
          //   233: return
          // Line number table:
          //   Java source line #214	-> byte code offset #0
          //   Java source line #215	-> byte code offset #10
          //   Java source line #216	-> byte code offset #23
          //   Java source line #217	-> byte code offset #46
          //   Java source line #219	-> byte code offset #59
          //   Java source line #220	-> byte code offset #70
          //   Java source line #221	-> byte code offset #78
          //   Java source line #223	-> byte code offset #83
          //   Java source line #224	-> byte code offset #92
          //   Java source line #225	-> byte code offset #97
          //   Java source line #226	-> byte code offset #111
          //   Java source line #227	-> byte code offset #132
          //   Java source line #226	-> byte code offset #143
          //   Java source line #228	-> byte code offset #157
          //   Java source line #230	-> byte code offset #162
          //   Java source line #231	-> byte code offset #172
          //   Java source line #234	-> byte code offset #182
          //   Java source line #235	-> byte code offset #206
          //   Java source line #236	-> byte code offset #208
          //   Java source line #237	-> byte code offset #219
          //   Java source line #236	-> byte code offset #222
          //   Java source line #238	-> byte code offset #233
          // Local variable table:
          //   start	length	slot	name	signature
          //   0	234	0	this	1
          //   69	19	1	oldTask	ITask
          //   77	82	2	newTask	ITask
          //   91	67	3	migrator	org.eclipse.mylyn.internal.tasks.ui.editors.TaskMigrator
          //   206	14	4	localObject	Object
          // Exception table:
          //   from	to	target	type
          //   0	206	206	finally
        }
      });
    }
    
    public void taskSubmitted(SubmitJobEvent event, IProgressMonitor monitor)
      throws CoreException
    {
      if ((!getModel().getTaskData().isNew()) && (attachContext)) {
        AttachmentUtil.postContext(connector, getModel().getTaskRepository(), task, "", null, monitor);
      }
    }
    
    public void taskSynchronized(SubmitJobEvent event, IProgressMonitor monitor) {}
  }
  
  private final ITaskDataManagerListener TASK_DATA_LISTENER = new ITaskDataManagerListener()
  {
    public void taskDataUpdated(TaskDataManagerEvent event)
    {
      ITask task = event.getTask();
      if ((task.equals(getTask())) && (event.getTaskDataUpdated())) {
        refresh(task);
      }
    }
    
    private void refresh(final ITask task)
    {
      PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
      {
        public void run()
        {
          if ((refreshDisabled) || (busy)) {
            return;
          }
          if ((!isDirty()) && (task.getSynchronizationState() == ITask.SynchronizationState.SYNCHRONIZED))
          {
            refresh();
          }
          else
          {
            getTaskEditor().setMessage(Messages.AbstractTaskEditorPage_Task_has_incoming_changes, 
              2, new HyperlinkAdapter()
              {
                public void linkActivated(HyperlinkEvent e)
                {
                  refresh();
                }
              });
            AbstractTaskEditorPage.this.setSubmitEnabled(false);
          }
        }
      });
    }
    
    public void editsDiscarded(TaskDataManagerEvent event)
    {
      if (event.getTask().equals(getTask())) {
        refresh(event.getTask());
      }
    }
  };
  
  private class NotInTaskListListener
    extends HyperlinkAdapter
    implements ITaskListChangeListener, IDisposable
  {
    public NotInTaskListListener()
    {
      TasksUiPlugin.getTaskList().addChangeListener(this);
    }
    
    public void linkActivated(HyperlinkEvent e)
    {
      TasksUiPlugin.getTaskList().addTaskIfAbsent(task);
      getTaskEditor().setMessage(null, 0);
    }
    
    public void containersChanged(Set<TaskContainerDelta> containers)
    {
      for (TaskContainerDelta taskContainerDelta : containers) {
        if ((task.equals(taskContainerDelta.getElement())) && 
          (taskContainerDelta.getKind().equals(TaskContainerDelta.Kind.ADDED))) {
          PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
          {
            public void run()
            {
              getTaskEditor().setMessage(null, 0);
            }
          });
        }
      }
    }
    
    public void dispose()
    {
      TasksUiPlugin.getTaskList().removeChangeListener(this);
    }
  }
  
  private class MenuCreator
    implements IMenuCreator
  {
    private MenuManager menuManager;
    private Menu menu;
    
    public MenuCreator() {}
    
    public void dispose()
    {
      if (menu != null)
      {
        menu.dispose();
        menu = null;
      }
      if (menuManager != null)
      {
        menuManager.dispose();
        menuManager = null;
      }
    }
    
    public Menu getMenu(Control parent)
    {
      if (menuManager == null)
      {
        menuManager = new MenuManager();
        initialize(menuManager);
      }
      return menuManager.createContextMenu(parent);
    }
    
    public Menu getMenu(Menu parent)
    {
      return null;
    }
    
    protected void initialize(MenuManager menuManager) {}
  }
  
  private static final String ERROR_NOCONNECTIVITY = Messages.AbstractTaskEditorPage_Unable_to_submit_at_this_time;
  public static final String ID_PART_ACTIONS = "org.eclipse.mylyn.tasks.ui.editors.parts.actions";
  public static final String ID_PART_ATTACHMENTS = "org.eclipse.mylyn.tasks.ui.editors.parts.attachments";
  public static final String ID_PART_ATTRIBUTES = "org.eclipse.mylyn.tasks.ui.editors.parts.attributes";
  public static final String ID_PART_COMMENTS = "org.eclipse.mylyn.tasks.ui.editors.parts.comments";
  public static final String ID_PART_DESCRIPTION = "org.eclipse.mylyn.tasks.ui.editors.parts.descriptions";
  public static final String ID_PART_NEW_COMMENT = "org.eclipse.mylyn.tasks.ui.editors.parts.newComment";
  public static final String ID_PART_PEOPLE = "org.eclipse.mylyn.tasks.ui.editors.parts.people";
  public static final String ID_PART_PLANNING = "org.eclipse.mylyn.tasks.ui.editors.parts.planning";
  public static final String ID_PART_SUMMARY = "org.eclipse.mylyn.tasks.ui.editors.parts.summary";
  public static final String PATH_ACTIONS = "actions";
  public static final String PATH_ASSOCIATIONS = "associations";
  public static final String PATH_ATTACHMENTS = "attachments";
  public static final String PATH_ATTRIBUTES = "attributes";
  public static final String PATH_COMMENTS = "comments";
  public static final String PATH_HEADER = "header";
  public static final String PATH_PEOPLE = "people";
  public static final String PATH_PLANNING = "planning";
  private AttributeEditorFactory attributeEditorFactory;
  private AttributeEditorToolkit attributeEditorToolkit;
  private AbstractRepositoryConnector connector;
  private final String connectorKind;
  private StructuredSelection defaultSelection;
  private Composite editorComposite;
  private ScrolledForm form;
  private boolean busy;
  private ISelection lastSelection;
  private TaskDataModel model;
  private boolean needsAddToCategory;
  private boolean reflow;
  private volatile boolean refreshDisabled;
  private final ListenerList selectionChangedListeners;
  private SynchronizeEditorAction synchronizeEditorAction;
  private ITask task;
  private TaskData taskData;
  private FormToolkit toolkit;
  private TaskEditorOutlinePage outlinePage;
  private TaskAttachmentDropListener defaultDropListener;
  private CommonTextSupport textSupport;
  private Composite partControl;
  private GradientCanvas footerComposite;
  private boolean needsFooter;
  private Button submitButton;
  private boolean submitEnabled;
  private boolean needsSubmit;
  private boolean needsSubmitButton;
  private boolean needsPrivateSection;
  private FocusTracker focusTracker;
  
  public AbstractTaskEditorPage(TaskEditor editor, String id, String label, String connectorKind)
  {
    super(editor, id, label);
    Assert.isNotNull(connectorKind);
    this.connectorKind = connectorKind;
    reflow = true;
    selectionChangedListeners = new ListenerList();
    submitEnabled = true;
    needsSubmit = true;
  }
  
  public AbstractTaskEditorPage(TaskEditor editor, String connectorKind)
  {
    this(editor, "id", "label", connectorKind);
  }
  
  public TaskEditor getEditor()
  {
    return (TaskEditor)super.getEditor();
  }
  
  public void addSelectionChangedListener(ISelectionChangedListener listener)
  {
    selectionChangedListeners.add(listener);
  }
  
  public void appendTextToNewComment(String text)
  {
    AbstractTaskEditorPart newCommentPart = getPart("org.eclipse.mylyn.tasks.ui.editors.parts.newComment");
    if ((newCommentPart instanceof TaskEditorRichTextPart))
    {
      ((TaskEditorRichTextPart)newCommentPart).appendText(text);
      newCommentPart.setFocus();
    }
  }
  
  public boolean canPerformAction(String actionId)
  {
    return CommonTextSupport.canPerformAction(actionId, EditorUtil.getFocusControl(this));
  }
  
  public void close()
  {
    if (Display.getCurrent() != null)
    {
      getSite().getPage().closeEditor(getTaskEditor(), false);
    }
    else
    {
      Display activeDisplay = getSite().getShell().getDisplay();
      activeDisplay.asyncExec(new Runnable()
      {
        public void run()
        {
          if ((getSite() != null) && (getSite().getPage() != null) && (!getManagedForm().getForm().isDisposed())) {
            if (getTaskEditor() != null) {
              getSite().getPage().closeEditor(getTaskEditor(), false);
            } else {
              getSite().getPage().closeEditor(AbstractTaskEditorPage.this, false);
            }
          }
        }
      });
    }
  }
  
  protected AttributeEditorFactory createAttributeEditorFactory()
  {
    return new AttributeEditorFactory(getModel(), getTaskRepository(), getEditorSite());
  }
  
  AttributeEditorToolkit createAttributeEditorToolkit()
  {
    return new AttributeEditorToolkit(textSupport);
  }
  
  public void createPartControl(Composite parent)
  {
    parent.addListener(11, new ParentResizeHandler(null));
    if (needsFooter())
    {
      partControl = getEditor().getToolkit().createComposite(parent);
      GridLayout partControlLayout = new GridLayout(1, false);
      marginWidth = 0;
      marginHeight = 0;
      verticalSpacing = 0;
      partControl.setLayout(partControlLayout);
      
      super.createPartControl(partControl);
      getManagedForm().getForm().setLayoutData(new GridData(4, 4, true, true));
      
      footerComposite = new GradientCanvas(partControl, 0);
      footerComposite.setSeparatorVisible(true);
      footerComposite.setSeparatorAlignment(128);
      GridLayout headLayout = new GridLayout();
      marginHeight = 0;
      marginWidth = 0;
      horizontalSpacing = 0;
      verticalSpacing = 0;
      numColumns = 1;
      footerComposite.setLayout(headLayout);
      footerComposite.setLayoutData(new GridData(4, 4, true, false));
      
      FormColors colors = getEditor().getToolkit().getColors();
      Color top = colors.getColor("org.eclipse.ui.forms.H_GRADIENT_END");
      Color bottom = colors.getColor("org.eclipse.ui.forms.H_GRADIENT_START");
      footerComposite.setBackgroundGradient(new Color[] { bottom, top }, new int[] { 100 }, true);
      
      footerComposite.putColor("org.eclipse.ui.forms.H_BOTTOM_KEYLINE1", colors.getColor("org.eclipse.ui.forms.H_BOTTOM_KEYLINE1"));
      footerComposite.putColor("org.eclipse.ui.forms.H_BOTTOM_KEYLINE2", colors.getColor("org.eclipse.ui.forms.H_BOTTOM_KEYLINE2"));
      footerComposite.putColor("org.eclipse.ui.forms.H_H_HOVER_LIGHT", colors.getColor("org.eclipse.ui.forms.H_H_HOVER_LIGHT"));
      footerComposite.putColor("org.eclipse.ui.forms.H_H_HOVER_FULL", colors.getColor("org.eclipse.ui.forms.H_H_HOVER_FULL"));
      footerComposite.putColor("org.eclipse.ui.forms.TB_TOGGLE", colors.getColor("org.eclipse.ui.forms.TB_TOGGLE"));
      footerComposite.putColor("org.eclipse.ui.forms.TB_TOGGLE_HOVER", colors.getColor("org.eclipse.ui.forms.TB_TOGGLE_HOVER"));
      footerComposite.setLayoutData(new GridData(4, 1024, true, false));
      
      createFooterContent(footerComposite);
    }
    else
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd