org.eclipse.jface.text.projection
Class ProjectionDocumentManager
java.lang.Object
org.eclipse.jface.text.projection.ProjectionDocumentManager
-
All Implemented Interfaces:
-
IDocumentListener,
ISlaveDocumentManager,
ISlaveDocumentManagerExtension
-
Direct Known Subclasses:
-
ChildDocumentManager
-
public class ProjectionDocumentManager
- extends
Object
- implements
IDocumentListener,
ISlaveDocumentManager,
ISlaveDocumentManagerExtension
A ProjectionDocumentManager
is one particular implementation
of
ISlaveDocumentManager
. This manager
creates so called projection documents (see
ProjectionDocument
as slave
documents for given master documents.
A projection document represents a particular projection of the master
document and is accordingly adapted to changes of the master document. Vice
versa, the master document is accordingly adapted to changes of its slave
documents. The manager does not maintain any particular management structure
but utilizes mechanisms given by
IDocument
such as position categories and position updaters.
Clients can instantiate this class. This class is not intended to be
subclassed.
-
Since:
- 3.0
-
Restriction:
- This class is not intended to be subclassed by clients.
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
ProjectionDocumentManager
public ProjectionDocumentManager()
fireDocumentEvent
protected void fireDocumentEvent(boolean about,
DocumentEvent masterEvent)
- Informs all projection documents of the master document that issued the given document event.
-
-
-
Parameters:
-
about
- indicates whether the change is about to happen or happened already -
masterEvent
- the document event which will be processed to inform the projection documents
documentChanged
public void documentChanged(
DocumentEvent event)
-
Description copied from interface:
IDocumentListener
- The manipulation described by the document event has been performed.
-
-
Specified by:
-
documentChanged
in interface
IDocumentListener
-
-
Parameters:
-
event
- the document event describing the document change
documentAboutToBeChanged
public void documentAboutToBeChanged(
DocumentEvent event)
-
Description copied from interface:
IDocumentListener
- The manipulation described by the document event will be performed.
-
-
Specified by:
-
documentAboutToBeChanged
in interface
IDocumentListener
-
-
Parameters:
-
event
- the document event describing the document change
createMasterSlaveMapping
public
IDocumentInformationMapping createMasterSlaveMapping(
IDocument slave)
-
Description copied from interface:
ISlaveDocumentManager
- Creates a new document information mapping between the given slave document and
its master document. Returns
null
if the given document is unknown
to this slave document manager.
-
-
Specified by:
-
createMasterSlaveMapping
in interface
ISlaveDocumentManager
-
-
Parameters:
-
slave
- the slave document
-
Returns:
- a document information mapping between the slave document and its master document or
null
createSlaveDocument
public
IDocument createSlaveDocument(
IDocument master)
-
Description copied from interface:
ISlaveDocumentManager
- Creates a new slave document for the given master document. The slave document
is causally connected to its master document until
freeSlaveDocument
is called. The connection between the newly created slave document and the master
document is managed by this slave document manager.
-
-
Specified by:
-
createSlaveDocument
in interface
ISlaveDocumentManager
-
-
Parameters:
-
master
- the master document
-
Returns:
- the newly created slave document
-
See Also:
-
ISlaveDocumentManager.freeSlaveDocument(IDocument)
createProjectionDocument
protected
ProjectionDocument createProjectionDocument(
IDocument master)
- Factory method for projection documents.
-
-
-
Parameters:
-
master
- the master document
-
Returns:
- the newly created projection document
freeSlaveDocument
public void freeSlaveDocument(
IDocument slave)
-
Description copied from interface:
ISlaveDocumentManager
- Frees the given slave document. If the given document is not a slave document known
to this slave document manager, this call does not have any effect. A slave
document is known to this slave document manager if it has been created by
this manager using
createSlaveDocument
.
-
-
Specified by:
-
freeSlaveDocument
in interface
ISlaveDocumentManager
-
-
Parameters:
-
slave
- the slave document to be freed -
See Also:
-
ISlaveDocumentManager.createSlaveDocument(IDocument)
getMasterDocument
public
IDocument getMasterDocument(
IDocument slave)
-
Description copied from interface:
ISlaveDocumentManager
- Returns the master document of the given slave document or
null
if the
given document is unknown to this slave document manager.
-
-
Specified by:
-
getMasterDocument
in interface
ISlaveDocumentManager
-
-
Parameters:
-
slave
- the slave document
-
Returns:
- the master document of the given slave document or
null
isSlaveDocument
public boolean isSlaveDocument(
IDocument document)
-
Description copied from interface:
ISlaveDocumentManager
- Returns whether the given document is a slave document known to this slave document manager. A slave document
is known to this slave document manager, if the document has been created by this manager.
-
-
Specified by:
-
isSlaveDocument
in interface
ISlaveDocumentManager
-
-
Parameters:
-
document
- the document to be checked whether it is a slave document known to this manager
-
Returns:
-
true
if the document is a slave document, false
otherwise
setAutoExpandMode
public void setAutoExpandMode(
IDocument slave,
boolean autoExpanding)
-
Description copied from interface:
ISlaveDocumentManager
- Sets the given slave document's auto expand mode. In auto expand mode, a
slave document is automatically adapted to reflect all changes applied to it's master document.
Assume a master document contains 30 lines and the slave is defined to contain the lines 11-20.
In auto expand mode, when the master document is changed at line 8, the slave document is expanded
to contain the lines 8-20.
This call is without effect if the given document is unknown to this slave document manager.
-
-
Specified by:
-
setAutoExpandMode
in interface
ISlaveDocumentManager
-
-
Parameters:
-
slave
- the slave whose auto expand mode should be set -
autoExpanding
- true
for auto expand, false
otherwise
getSlaveDocuments
public
IDocument[] getSlaveDocuments(
IDocument master)
-
Description copied from interface:
ISlaveDocumentManagerExtension
- Returns the list of slave documents for the given master document or
null
if there are no such slave document.
-
-
Specified by:
-
getSlaveDocuments
in interface
ISlaveDocumentManagerExtension
-
-
Parameters:
-
master
- the master document
-
Returns:
- the list of slave documents or
null
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.