|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.jface.text.formatter.ContentFormatter
Standard implementation of IContentFormatter
.
The formatter supports two operation modi: partition aware and
partition unaware.
In the partition aware mode, the formatter determines the partitioning of the document region to be formatted. For each partition it determines all document positions which are affected when text changes are applied to the partition. Those which overlap with the partition are remembered as character positions. These character positions are passed over to the formatting strategy registered for the partition's content type. The formatting strategy returns a string containing the formatted document partition as well as the adapted character positions. The formatted partition replaces the old content of the partition. The remembered document postions are updated with the adapted character positions. In addition, all other document positions are accordingly adapted to the formatting changes.
In the partition unaware mode, the document's partitioning is ignored
and the document is considered consisting of only one partition of
the content type IDocument.DEFAULT_CONTENT_TYPE
. The
formatting process is similar to the partition aware mode, with the
exception of having only one partition.
Usually, clients instantiate this class and configure it before using it.
IContentFormatter
,
IDocument
,
ITypedRegion
,
Position
Constructor Summary | |
ContentFormatter()
Creates a new content formatter. |
Method Summary | |
void |
enablePartitionAwareFormatting(boolean enable)
Sets the formatter's operation mode. |
void |
format(IDocument document,
IRegion region)
Formats the given region of the specified document.The formatter may safely assume that it is the only subject that modifies the document at this point in time. |
IFormattingStrategy |
getFormattingStrategy(String contentType)
Returns the formatting strategy registered for the given content type. |
void |
setFormattingStrategy(IFormattingStrategy strategy,
String contentType)
Registers a strategy for a particular content type. |
void |
setPartitionManagingPositionCategories(String[] categories)
Informs this content formatter about the names of those position categories which are used to manage the document's partitioning information and thus should be ignored when this formatter updates positions. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ContentFormatter()
Method Detail |
public void setFormattingStrategy(IFormattingStrategy strategy, String contentType)
null
the given strategy is registered for
all content types as is called only once per formatting session.
strategy
- the formatting strategy to register, or null
to remove an existing onecontentType
- the content type under which to register, or null
for all content typespublic void setPartitionManagingPositionCategories(String[] categories)
categories
- the categories to be ignoredpublic void enablePartitionAwareFormatting(boolean enable)
enable
- indicates whether the formatting process should be partition warepublic IFormattingStrategy getFormattingStrategy(String contentType)
IContentFormatter
getFormattingStrategy
in interface IContentFormatter
contentType
- the content type for which to look up the formatting strategy
null
if there is no such strategypublic void format(IDocument document, IRegion region)
IContentFormatter
format
in interface IContentFormatter
document
- the document to be formattedregion
- the region within the document to be formatted
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |