com.alveole.studio.web.designer
Class ProjectEditor

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 com.alveole.studio.web.designer.ProjectEditor
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.ui.IEditorPart, org.eclipse.ui.ISaveablePart, org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.IWorkbenchPart2, org.eclipse.ui.IWorkbenchPart3, org.eclipse.ui.part.IWorkbenchPartOrientation

public class ProjectEditor
extends org.eclipse.ui.part.MultiPageEditorPart

This class is the main editor that displays all tabs for the project. There are 3 tabs by default: - the navigation tab (that displays tree), - the source tab (that displays XML data), - the properties tab (that displays project's properties).

Author:
sylvain

Field Summary
protected  java.lang.String encoding
          The default charset.
protected  java.util.HashMap<java.lang.String,org.eclipse.swt.widgets.Control> extensionsMapping
          Contains the mapping for extension panels.
protected  ProjectEditorInput input
          The project editor input, that gets a reference on the project.
protected  boolean packageNavChanged
          Check if graph changed.
protected  PackageNavigatorEditor packageNavigator
          The package navigator, that displays graph.
protected  ProjectContext pContext
          The project context.
protected  ProjectPropertiesEditor projectProperties
          The properties editor panel.
protected  org.eclipse.jface.text.IDocument xmlDocument
          The XML document for xml view.
protected  XMLEditor xmlEditor
          The XML view.
protected  boolean xmlEditorChanged
          Check if XML editor changed.
 
Fields inherited from interface org.eclipse.ui.IEditorPart
PROP_DIRTY, PROP_INPUT
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
ProjectEditor()
           
 
Method Summary
 org.eclipse.swt.widgets.Control activateExtensionPanel(java.lang.String nodeid)
          Activates an extension panel, given its nodeid.
 void activatePackageNavigator()
          Activates tree view.
 void addControl(org.eclipse.swt.widgets.Control control, java.lang.String title)
          Add a tab page on editor.
protected  void createPages()
          Called to create our panels.
 void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
          Perform saving of the project.
 void doSaveAs()
          Not implemented.
 void featureAdded(java.lang.String feature)
          Called when a feature has been added.
 org.eclipse.swt.widgets.Composite getContainer()
          Get container for adding tabs.
 org.eclipse.swt.widgets.Control getControl(int page)
          Get the page by number.
 int getPageCount()
          Gets page count.
 ProjectContext getPContext()
           
 boolean isSaveAsAllowed()
           
 void removeControl(org.eclipse.swt.widgets.Control control)
          Remove a tab page.
 void setActiveControl(org.eclipse.swt.widgets.Control c)
          Set the active page.
 void setContentDescription(java.lang.String description)
          Changes this editor title.
 void setPartName(java.lang.String partName)
          Changes this editor title.
protected  void transfertFromEditor()
          Transfer data from XMLEditor to PackageNavigator.
 
Methods inherited from class org.eclipse.ui.part.MultiPageEditorPart
addPage, addPage, addPage, addPage, createPageContainer, createPartControl, createSite, dispose, findEditors, getActiveEditor, getActivePage, getAdapter, getEditor, getPageImage, getPageText, handlePropertyChange, init, isDirty, pageChange, removePage, setActiveEditor, setActivePage, setControl, setFocus, setPageImage, setPageText
 
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setInitializationData, setInput, setInputWithNotify
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, 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

pContext

protected ProjectContext pContext
The project context.


packageNavigator

protected PackageNavigatorEditor packageNavigator
The package navigator, that displays graph.


input

protected ProjectEditorInput input
The project editor input, that gets a reference on the project.


projectProperties

protected ProjectPropertiesEditor projectProperties
The properties editor panel.


xmlEditor

protected XMLEditor xmlEditor
The XML view.


xmlEditorChanged

protected boolean xmlEditorChanged
Check if XML editor changed.


packageNavChanged

protected boolean packageNavChanged
Check if graph changed.


xmlDocument

protected org.eclipse.jface.text.IDocument xmlDocument
The XML document for xml view.


encoding

protected java.lang.String encoding
The default charset.


extensionsMapping

protected java.util.HashMap<java.lang.String,org.eclipse.swt.widgets.Control> extensionsMapping
Contains the mapping for extension panels. Key = Extension ID, Value = Extension Control.

Constructor Detail

ProjectEditor

public ProjectEditor()
Method Detail

doSave

public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Perform saving of the project.

Specified by:
doSave in interface org.eclipse.ui.ISaveablePart
Specified by:
doSave in class org.eclipse.ui.part.EditorPart
Parameters:
monitor - A monitor.

doSaveAs

public void doSaveAs()
Not implemented.

Specified by:
doSaveAs in interface org.eclipse.ui.ISaveablePart
Specified by:
doSaveAs in class org.eclipse.ui.part.EditorPart

transfertFromEditor

protected void transfertFromEditor()
Transfer data from XMLEditor to PackageNavigator.

Throws:
java.lang.Exception

removeControl

public void removeControl(org.eclipse.swt.widgets.Control control)
Remove a tab page.

Parameters:
control - The tab page to remove.

addControl

public void addControl(org.eclipse.swt.widgets.Control control,
                       java.lang.String title)
Add a tab page on editor.

Parameters:
control - The control contents.
title - The tab title.

getPageCount

public int getPageCount()
Gets page count.

Overrides:
getPageCount in class org.eclipse.ui.part.MultiPageEditorPart
Returns:
The page count.

getControl

public org.eclipse.swt.widgets.Control getControl(int page)
Get the page by number.

Overrides:
getControl in class org.eclipse.ui.part.MultiPageEditorPart
Parameters:
page - The page num.
Returns:
The page panel.

getContainer

public org.eclipse.swt.widgets.Composite getContainer()
Get container for adding tabs.

Overrides:
getContainer in class org.eclipse.ui.part.MultiPageEditorPart
Returns:
The container for tabs.

setActiveControl

public void setActiveControl(org.eclipse.swt.widgets.Control c)
Set the active page.

Parameters:
c - The page reference.

setPartName

public void setPartName(java.lang.String partName)
Changes this editor title.

Overrides:
setPartName in class org.eclipse.ui.part.EditorPart

setContentDescription

public void setContentDescription(java.lang.String description)
Changes this editor title.

Overrides:
setContentDescription in class org.eclipse.ui.part.EditorPart

activateExtensionPanel

public org.eclipse.swt.widgets.Control activateExtensionPanel(java.lang.String nodeid)
Activates an extension panel, given its nodeid.


activatePackageNavigator

public void activatePackageNavigator()
Activates tree view.


createPages

protected void createPages()
Called to create our panels.

Specified by:
createPages in class org.eclipse.ui.part.MultiPageEditorPart

featureAdded

public void featureAdded(java.lang.String feature)
Called when a feature has been added.


isSaveAsAllowed

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

getPContext

public ProjectContext getPContext()
Returns:
the pContext