org.eclipse.mylar.internal.tasks.ui.editors
Class MylarTaskEditor

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.EditorPart
              extended by org.eclipse.ui.part.MultiPageEditorPart
                  extended by org.eclipse.ui.forms.editor.FormEditor
                      extended by org.eclipse.mylar.internal.tasks.ui.editors.MylarTaskEditor
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.jface.dialogs.IPageChangeProvider, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.part.IWorkbenchPartOrientation

public class MylarTaskEditor
extends org.eclipse.ui.forms.editor.FormEditor

Author:
Mik Kersten, Eric Booth (initial prototype)

Nested Class Summary
private  class MylarTaskEditor.TaskEditorListener
           
 
Field Summary
private  int browserPageIndex
           
private  org.eclipse.ui.IEditorPart contentOutlineProvider
           
private  org.eclipse.swt.widgets.Menu contextMenu
           
private  java.util.List<org.eclipse.ui.IEditorPart> editors
           
private static java.lang.String ISSUE_WEB_PAGE_LABEL
           
private  MylarTaskEditor.TaskEditorListener partListener
           
protected  ITask task
           
private  TaskEditorInput taskEditorInput
           
private  TaskPlanningEditor taskPlanningEditor
           
private  org.eclipse.swt.browser.Browser webBrowser
           
 
Fields inherited from class org.eclipse.ui.forms.editor.FormEditor
pages
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
MylarTaskEditor()
           
 
Method Summary
protected  void addPages()
           
 void changeTitle()
          Updates the tab title
protected  void contextMenuAboutToShow(org.eclipse.jface.action.IMenuManager manager)
           
private  int createBrowserPage(java.lang.String url)
           
protected  org.eclipse.ui.forms.widgets.FormToolkit createToolkit(org.eclipse.swt.widgets.Display display)
           
 void displayInBrowser(java.lang.String url)
           
 void dispose()
           
 void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
           
 void doSaveAs()
          Saves the multi-page editor's document as another file.
 org.eclipse.ui.IEditorPart getActiveEditor()
           
 java.lang.Object getAdapter(java.lang.Class adapter)
           
 java.lang.Object getAdapterDelgate(java.lang.Class<?> adapter)
           
 TaskEditorActionContributor getContributor()
           
(package private)  org.eclipse.ui.forms.editor.IFormPage[] getPages()
           
 org.eclipse.jface.viewers.ISelection getSelection()
           
 TaskEditorInput getTaskEditorInput()
           
private  java.lang.String getUrl()
          HACK: perform real check
 org.eclipse.swt.browser.Browser getWebBrowser()
           
 void init(org.eclipse.ui.IEditorSite site, org.eclipse.ui.IEditorInput input)
           
 boolean isDirty()
           
 boolean isSaveAsAllowed()
           
 void markDirty()
           
 void notifyTaskChanged()
           
protected  void pageChange(int newPageIndex)
           
 void revealBrowser()
           
 void setFocus()
           
 
Methods inherited from class org.eclipse.ui.forms.editor.FormEditor
addPage, addPage, addPage, addPage, addPage, addPage, addPageChangedListener, close, configurePage, createPageContainer, createPages, editorDirtyStateChanged, findPage, getActivePageInstance, getCurrentPage, getSelectedPage, getToolkit, removePage, removePageChangedListener, selectReveal, setActivePage, setActivePage, setActivePage, updateActionBarContributor
 
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
createPartControl, createSite, getActivePage, getContainer, getControl, getEditor, getPageCount, getPageImage, getPageText, handlePropertyChange, setControl, setPageImage, setPageText
 
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setInputWithNotify, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPropertyListener, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getSite, getTitle, getTitleImage, removePropertyListener, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, removePropertyListener
 

Field Detail

ISSUE_WEB_PAGE_LABEL

private static final java.lang.String ISSUE_WEB_PAGE_LABEL
See Also:
Constant Field Values

task

protected ITask task

taskPlanningEditor

private TaskPlanningEditor taskPlanningEditor

webBrowser

private org.eclipse.swt.browser.Browser webBrowser

taskEditorInput

private TaskEditorInput taskEditorInput

partListener

private MylarTaskEditor.TaskEditorListener partListener

editors

private java.util.List<org.eclipse.ui.IEditorPart> editors

contextMenu

private org.eclipse.swt.widgets.Menu contextMenu

contentOutlineProvider

private org.eclipse.ui.IEditorPart contentOutlineProvider

browserPageIndex

private int browserPageIndex
Constructor Detail

MylarTaskEditor

public MylarTaskEditor()
Method Detail

contextMenuAboutToShow

protected void contextMenuAboutToShow(org.eclipse.jface.action.IMenuManager manager)

getContributor

public TaskEditorActionContributor getContributor()

getAdapter

public java.lang.Object getAdapter(java.lang.Class adapter)
Specified by:
getAdapter in interface org.eclipse.core.runtime.IAdaptable
Overrides:
getAdapter in class org.eclipse.ui.part.MultiPageEditorPart

getAdapterDelgate

public java.lang.Object getAdapterDelgate(java.lang.Class<?> adapter)

getActiveEditor

public org.eclipse.ui.IEditorPart getActiveEditor()
Overrides:
getActiveEditor in class org.eclipse.ui.forms.editor.FormEditor

createBrowserPage

private int createBrowserPage(java.lang.String url)

doSave

public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Specified by:
doSave in interface org.eclipse.ui.ISaveablePart
Specified by:
doSave in class org.eclipse.ui.part.EditorPart

getPages

org.eclipse.ui.forms.editor.IFormPage[] getPages()

getUrl

private java.lang.String getUrl()
HACK: perform real check


doSaveAs

public void doSaveAs()
Saves the multi-page editor's document as another file. Also updates the text for page 0's tab, and updates this multi-page editor's input to correspond to the nested editor's.

Specified by:
doSaveAs in interface org.eclipse.ui.ISaveablePart
Specified by:
doSaveAs in class org.eclipse.ui.part.EditorPart
See Also:
ISaveablePart.doSaveAs()

init

public void init(org.eclipse.ui.IEditorSite site,
                 org.eclipse.ui.IEditorInput input)
          throws org.eclipse.ui.PartInitException
Specified by:
init in interface org.eclipse.ui.IEditorPart
Overrides:
init in class org.eclipse.ui.forms.editor.FormEditor
Throws:
org.eclipse.ui.PartInitException

notifyTaskChanged

public void notifyTaskChanged()

isSaveAsAllowed

public boolean isSaveAsAllowed()
Specified by:
isSaveAsAllowed in interface org.eclipse.ui.ISaveablePart
Specified by:
isSaveAsAllowed in class org.eclipse.ui.part.EditorPart

isDirty

public boolean isDirty()
Specified by:
isDirty in interface org.eclipse.ui.ISaveablePart
Overrides:
isDirty in class org.eclipse.ui.forms.editor.FormEditor

changeTitle

public void changeTitle()
Updates the tab title


markDirty

public void markDirty()

setFocus

public void setFocus()
Specified by:
setFocus in interface org.eclipse.ui.IWorkbenchPart
Overrides:
setFocus in class org.eclipse.ui.part.MultiPageEditorPart

getWebBrowser

public org.eclipse.swt.browser.Browser getWebBrowser()

revealBrowser

public void revealBrowser()

displayInBrowser

public void displayInBrowser(java.lang.String url)

pageChange

protected void pageChange(int newPageIndex)
Overrides:
pageChange in class org.eclipse.ui.forms.editor.FormEditor

dispose

public void dispose()
Specified by:
dispose in interface org.eclipse.ui.IWorkbenchPart
Overrides:
dispose in class org.eclipse.ui.forms.editor.FormEditor

getTaskEditorInput

public TaskEditorInput getTaskEditorInput()

addPages

protected void addPages()
Specified by:
addPages in class org.eclipse.ui.forms.editor.FormEditor

createToolkit

protected org.eclipse.ui.forms.widgets.FormToolkit createToolkit(org.eclipse.swt.widgets.Display display)
Overrides:
createToolkit in class org.eclipse.ui.forms.editor.FormEditor

getSelection

public org.eclipse.jface.viewers.ISelection getSelection()