|
SWT LPEX v3.0.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jface.viewers.Viewer
com.ibm.lpex.alef.LpexTextViewer
A line-oriented, LPEX-based partial implementation of org.eclipse.jface.text.ITextViewer.
This viewer supports a split window of several views on the document. Its main control is an LpexMultiWindow. The first LpexWindow opened is the primary window, and its associated LpexView is the primary view. Additional windows opened in this viewer are secondary windows, and their associated LpexViews are secondary views. The active window is the one which has the input focus. Views on the same document external to this viewer are not managed in here.
Like TextViewer, once this viewer and its text widget have been created, the viewer can only indirectly be disposed by disposing its primary SWT control (the LpexWindow). Clients are supposed to instantiate a text viewer and subsequently to communicate with it exclusively using the ITextViewer interface or any of the implemented extension interfaces. A text viewer serves as text operation target. It only partially supports the external control of the enable state of its text operations.
A text viewer is also a widget token owner. Anything that wants to display an overlay window on top of a text viewer should implement the IWidgetTokenKeeper interface, and participate in the widget token negotiation between the text viewer and all its potential widget token keepers.
Clients should not subclass this class as it is likely that subclasses will be broken by future releases.
Several TextViewer classes, methods, and fields are not available in LpexTextViewer. Most programming of the underlying LPEX widget should be done directly via its LpexView and LpexWindow.
Always use LpexView to set the text of the edited document. For example:
IEditorPart editor = IWorkbenchPage.getActiveEditor(); // (a) Using LPEX if (editor instanceof LpexTextEditor) { LpexTextEditor lpexEditor = (LpexTextEditor)editor; LpexView lpexView = lpexEditor.getLpexView(); if (lpexView != null) { lpexView.doDefaultCommand("insertText " + text); // insert text at cursor LpexView.doGlobalCommand("screenShow"); // refresh display } } // (b) Using the Eclipse editor else { // . . . get DocumentProvider, get IDocument, do replace() } |
TextViewer classes, methods, and fields which are not available, not implemented, or whose function differs significantly in LpexTextViewer are listed below, along with explanations and any LPEX alternatives. While the list is rather long, it should be noted that several (such as those geared towards specific Eclipse solutions, like the shift-string operations, or those specific to the underlying StyledText) are indicated for completness, even if their visibility is package or private.
Nested Class Summary | |
---|---|
protected class | LpexTextViewer.TextHoverKey
Value object used as a key in the text hover configuration table. |
Field Summary | |
---|---|
protected org.eclipse.jface.text.IInformationControlCreator | fHoverControlCreator
The creator of the text hover control |
protected org.eclipse.jface.text.IDocumentInformationMapping | fInformationMapping
The mapping between model and visible document. |
protected int | fLastTopPixel
The last visible vertical position of the top line. |
protected String | fPartitioning
The viewers partitioning, i.e., the partitioning name the viewer uses to access partitioning information of its input document. |
protected boolean | fReplaceTextPresentation
Indicates whether the viewer's text presentation should be replaced are modified. |
protected Map | fTextHovers
The text viewer's text hovers. |
protected List | fTextInputListeners
All registered text input listeners. |
protected List | fViewportListeners
All registered viewport listeners. |
protected static int | INTERNAL
Id for originator of a view port change. |
protected static int | KEY
Id for originator of a view port change. |
protected static int | MOUSE
Id for originator of a view port change. |
protected static int | MOUSE_END
Id for originator of a view port change. |
protected static int | RESIZE
Id for originator of a view port change. |
protected static int | SCROLLER
Id for originator of a view port change. |
static boolean | TRACE_ERRORS
|
Fields inherited from class org.eclipse.jface.viewers.Viewer |
---|
WIDGET_DATA_KEY |
Fields inherited from interface org.eclipse.jface.text.ITextOperationTarget |
---|
COPY, CUT, DELETE, PASTE, PREFIX, PRINT, REDO, SELECT_ALL, SHIFT_LEFT, SHIFT_RIGHT, STRIP_PREFIX, UNDO |
Constructor Summary | |
---|---|
protected | LpexTextViewer()
Internal-use constructor. |
LpexTextViewer(org.eclipse.swt.widgets.Composite parent,
int styles)
Create an LpexTextViewer with the given SWT style bits. |
Method Summary | |
---|---|
protected int | _getVisibleRegionOffset()
This method always returns 0. |
protected org.eclipse.jface.text.IRegion | _internalGetVisibleRegion()
This method returns null. |
void | activatePlugins()
Activate the installed TextViewer 'plugins' (text hover, etc.). |
void | addTextInputListener(org.eclipse.jface.text.ITextInputListener listener)
Add a text input listener to the ITextViewer. |
void | addTextListener(org.eclipse.jface.text.ITextListener listener)
The implementation of this method does nothing. |
void | addViewportListener(org.eclipse.jface.text.IViewportListener listener)
|
boolean | canDoOperation(int operation)
Check whether the action specified by the operation id can be performed. |
void | changeTextPresentation(org.eclipse.jface.text.TextPresentation presentation,
boolean controlRedraw)
This method does nothing. |
protected void | createControl(org.eclipse.swt.widgets.Composite parent,
int styles)
Creates the viewer's SWT control. |
protected com.ibm.lpex.alef.DocumentAdapter | createDocumentAdapter()
Factory method to create the document adapter to be used by this viewer. |
protected org.eclipse.jface.text.IDocument | createSlaveDocument(org.eclipse.jface.text.IDocument document)
Creates a slave document for the given document if there is a slave document manager associated with this viewer. |
protected org.eclipse.jface.text.ISlaveDocumentManager | createSlaveDocumentManager()
Creates a new slave document manager. |
void | doOperation(int operation)
Performs the action specified by the operation id. |
void | enableOperation(int operation,
boolean enable)
|
protected void | fireInputDocumentAboutToBeChanged(org.eclipse.jface.text.IDocument oldInput,
org.eclipse.jface.text.IDocument newInput)
Informs all registered text input listeners about the forthcoming input change. |
protected void | fireInputDocumentChanged(org.eclipse.jface.text.IDocument oldInput,
org.eclipse.jface.text.IDocument newInput)
Informs all registered text input listeners about the successful input change. |
protected void | freeSlaveDocument(org.eclipse.jface.text.IDocument slave)
Frees the given document if it is a slave document. |
protected int | getAverageCharWidth()
Deprecated. Use getAverageCharWidth(LpexWindow). |
protected int | getAverageCharWidth(LpexWindow lpexWindow)
Return the average character width in the specified text window of this viewer's widget. |
int | getBottomIndex()
Return the ZERO-based index of the visible document-section line with the highest line number. |
int | getBottomIndexEndOffset()
Return the character position which is at the lower-right corner of the widget's viewport, i.e., the visible character with the highest character position. |
protected int | getClosestWidgetLineForModelLine(int modelLine)
Returns the line of the widget whose corresponding line in the viewer's document is closest to the given line in the viewer's document or -1. |
org.eclipse.swt.widgets.Control | getControl()
Return the primary SWT Control (an LpexMultiWindow) associated with this viewer. |
int | getCurrentOffset()
Return the cursor offset in the active view, in coordinates of this viewer's document. |
org.eclipse.jface.text.ITextHover | getCurrentTextHover()
|
org.eclipse.jface.text.IDocument | getDocument()
Return this text viewer's stream-oriented IDocument. |
protected String | getDocumentPartitioning()
Returns the document partitioning for this viewer. |
String | getEOL()
Return the line delimiter used by the document currently handled by this text viewer. |
org.eclipse.jface.text.IFindReplaceTarget | getFindReplaceTarget()
This method returns null. |
LpexView | getFirstLpexView()
Retrieve the primary view of the underlying LPEX text widget. |
LpexWindow | getFirstLpexWindow()
Retrieve the primary window of the underlying LPEX text widget. |
org.eclipse.swt.graphics.Point | getHoverEventLocation()
|
Object | getInput()
Return the input (IDocument) of this viewer. |
LpexView | getLpexView()
Retrieve the active view of the underlying LPEX text widget, or the primary view if none. |
LpexWindow | getLpexWindow()
Retrieve the window of the underlying LPEX text widget that has the focus, or else the primary window. |
org.eclipse.jface.text.IRegion | getModelCoverage()
Implements the contract of ITextViewerExtension5.getModelCoverage(). |
org.eclipse.swt.graphics.Point | getSelectedRange()
Return the range of the current selection in the active view, in coordinates of this viewer's document. |
org.eclipse.jface.viewers.ISelection | getSelection()
Return the current selection in the active view of this viewer. |
org.eclipse.jface.viewers.ISelectionProvider | getSelectionProvider()
|
protected org.eclipse.jface.text.ISlaveDocumentManager | getSlaveDocumentManager()
Returns the slave document manager |
protected org.eclipse.jface.text.ITextHover | getTextHover(int offset)
Return the text hover for a given offset in the IDocument, according to the document content type / document-parser language at that offset. |
protected org.eclipse.jface.text.ITextHover | getTextHover(int offset,
int stateMask)
Returns the text hover for a given offset and a given state mask. |
protected org.eclipse.jface.text.AbstractInformationControlManager | getTextHoveringController()
Return the text hovering controller of this viewer. |
org.eclipse.jface.text.ITextOperationTarget | getTextOperationTarget()
Return the text-operations target of this viewer. |
org.eclipse.swt.custom.StyledText | getTextWidget()
This method returns null. |
int | getTopIndex()
Return the ZERO-based index of the visible document-section line with the smallest line number. |
int | getTopIndexStartOffset()
This method returns -1. |
int | getTopInset()
Return the vertical offset, in pixels, of the text-widget screen's primary window. |
org.eclipse.jface.text.IDocument | getVisibleDocument()
Returns the viewer's visible document. |
protected int | getVisibleLinesInViewport()
Return the number of rows displayable in the viewport. |
org.eclipse.jface.text.IRegion | getVisibleRegion()
This method returns the region of this viewer's input document. |
protected void | handleDispose()
Free all the resources allocated by this viewer. |
protected void | handleVisibleDocumentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent event)
Hook method called when the visible document is about to be changed. |
protected void | handleVisibleDocumentChanged(org.eclipse.jface.text.DocumentEvent event)
Hook method called when the visible document has been changed. |
protected void | initializeDocumentInformationMapping(org.eclipse.jface.text.IDocument visibleDocument)
Initializes the document information mapping between the given slave document and its master document. |
protected void | initializeLpexView(LpexView lpexView)
Hook to initialize a newly instantiated primary or secondary LpexView. |
void | invalidateTextPresentation()
This method does nothing. |
void | invalidateTextPresentation(int offset,
int length)
This method does nothing. |
boolean | isEditable()
Query whether the shown text can be manipulated. |
int | modelLine2WidgetLine(int modelLine)
Implements the contract of ITextViewerExtension5.modelLine2WidgetLine(int). |
int | modelOffset2WidgetOffset(int modelOffset)
Implements the contract of ITextViewerExtension5.modelOffset2WidgetOffset(int). |
org.eclipse.jface.text.IRegion | modelRange2WidgetRange(org.eclipse.jface.text.IRegion modelRange)
Implements the contract of ITextViewerExtension5.modelRange2WidgetRange(IRegion). |
protected org.eclipse.jface.text.IRegion | modelRange2WidgetRange(org.eclipse.jface.text.Position modelPosition)
Same as modelRange2WidgetRange(IRegion) but for a Position. |
protected org.eclipse.swt.graphics.Point | modelSelection2WidgetSelection(org.eclipse.swt.graphics.Point modelSelection)
Translates the given selection range of the viewer's document into the corresponding widget range or returns null of this fails. |
boolean | moveFocusToWidgetToken()
|
boolean | overlapsWithVisibleRegion(int start,
int length)
This method always returns true. |
void | prependAutoEditStrategy(org.eclipse.jface.text.IAutoEditStrategy strategy,
String contentType)
This method does nothing. |
void | refresh()
Refresh this viewer completely with information freshly obtained from this viewer's model (its IDocument). |
void | releaseWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper tokenKeeper)
|
void | removeAutoEditStrategy(org.eclipse.jface.text.IAutoEditStrategy strategy,
String contentType)
This method does nothing. |
void | removeTextHovers(String contentType)
Removes all text hovers for the given content type independent from their state mask. |
void | removeTextInputListener(org.eclipse.jface.text.ITextInputListener listener)
Remove the text input listener from the ITextViewer. |
void | removeTextListener(org.eclipse.jface.text.ITextListener listener)
The implementation of this method does nothing. |
void | removeViewportListener(org.eclipse.jface.text.IViewportListener listener)
|
boolean | requestWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper requester)
|
boolean | requestWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper requester,
int priority)
|
void | resetPlugins()
Reset the installed plugins. |
void | resetVisibleRegion()
This method does nothing. |
void | revealRange(int start,
int len)
This method is not currently implemented. |
protected Object | selectContentTypePlugin(int offset,
Map plugins)
Select from the given map the plugin which is registered under the content type at the given document offset. |
protected void | selectionChanged(int offset,
int len)
Sends out a text selection-changed event to all registered listeners. |
void | setAutoIndentStrategy(org.eclipse.jface.text.IAutoIndentStrategy strategy,
String contentType)
This method does nothing. |
void | setDefaultPrefixes(String[] defaultPrefixes,
String contentType)
This method does nothing in LpexTextViewer. |
void | setDocument(org.eclipse.jface.text.IDocument document)
Set the given IDocument as the text viewer's model, and update the presentation accordingly. |
void | setDocument(org.eclipse.jface.text.IDocument document,
int modelRangeOffset,
int modelRangeLength)
Sets the given document as this viewer's model and exposes the specified region. |
void | setDocumentPartitioning(String partitioning)
Sets the document partitioning of this viewer. |
void | setEditable(boolean editable)
Set the editable mode. |
protected void | setEditorInput(org.eclipse.ui.IEditorInput editorInput)
Indicate which is the editor-input resource for this text viewer. |
void | setEventConsumer(org.eclipse.jface.text.IEventConsumer consumer)
This method does nothing. |
void | setHoverControlCreator(org.eclipse.jface.text.IInformationControlCreator creator)
Set the creator for the hover controls. |
void | setIndentPrefixes(String[] indentPrefixes,
String contentType)
This method does nothing. |
void | setInput(Object input)
Set or clear the input (IDocument) for this viewer. |
void | setSelectedRange(int selectionOffset,
int selectionLength)
Set the selection to the specified range in the active view. |
void | setSelection(org.eclipse.jface.viewers.ISelection selection,
boolean reveal)
Set a new selection for this viewer. |
void | setTextColor(org.eclipse.swt.graphics.Color color)
This method does nothing. |
void | setTextColor(org.eclipse.swt.graphics.Color color,
int start,
int length,
boolean controlRedraw)
This method does nothing. |
void | setTextDoubleClickStrategy(org.eclipse.jface.text.ITextDoubleClickStrategy strategy,
String contentType)
This method does nothing in LpexTextViewer. |
void | setTextHover(org.eclipse.jface.text.ITextHover hover,
String contentType)
Sets this viewer's text hover for the given content type. |
void | setTextHover(org.eclipse.jface.text.ITextHover hover,
String contentType,
int stateMask)
Sets this viewer's text hover for the given content type and the given state mask. |
void | setTopIndex(int index)
Scrolls the edit window so that ZERO-based index is the smallest document-section line number of all visible lines. |
void | setUndoManager(org.eclipse.jface.text.IUndoManager undoManager)
This method does nothing in LpexTextViewer. |
protected void | setVisibleDocument(org.eclipse.jface.text.IDocument document)
Sets this viewer's visible document. |
void | setVisibleRegion(int start,
int len)
This method does nothing. |
LpexView | splitView(LpexView lpexView)
Create a new view of the document in this text viewer's window. |
protected void | updateProfile()
Deprecated. Will be removed! You must extend updateProfile(LpexView) instead. |
protected void | updateProfile(LpexView lpexView)
Hook for post-updateProfile command processing. |
protected boolean | updateSlaveDocument(org.eclipse.jface.text.IDocument slaveDocument,
int modelRangeOffset,
int modelRangeLength)
Updates the given slave document to show the specified range of its master document. |
protected void | updateViewportListeners(int origin)
This method does nothing. |
protected boolean | updateVisibleDocument(org.eclipse.jface.text.IDocument visibleDocument,
int visibleRegionOffset,
int visibleRegionLength)
Deprecated. use updateSlaveDocument instead |
protected void | validateSelectionRange(int[] selectionRange)
Validates and adapts the given selection range if it is not a valid widget selection. |
int | widgetLine2ModelLine(int widgetLine)
Implements the contract of ITextViewerExtension5.widgetLine2ModelLine(int). |
int | widgetLineOfWidgetOffset(int widgetOffset)
Implements the contract of ITextViewerExtension5.widgetLineOfWidgetOffset(int). |
int | widgetlLine2ModelLine(int widgetLine)
Implements the contract of ITextViewerExtension5.widgetLine2ModelLine(int). |
int | widgetOffset2ModelOffset(int widgetOffset)
Implements the contract of ITextViewerExtension5.widgetOffset2ModelOffset(int). |
org.eclipse.jface.text.IRegion | widgetRange2ModelRange(org.eclipse.jface.text.IRegion widgetRange)
Implements the contract of ITextViewerExtension5.widgetRange2ModelRange(IRegion). |
protected org.eclipse.swt.graphics.Point | widgetSelection2ModelSelection(org.eclipse.swt.graphics.Point widgetSelection)
Translates the given widget selection into the corresponding region of the viewer's document or returns null if this fails. |
Methods inherited from class org.eclipse.jface.viewers.Viewer |
---|
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, inputChanged, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static boolean TRACE_ERRORS
protected static final int SCROLLER
protected static final int MOUSE
protected static final int MOUSE_END
protected static final int KEY
protected static final int RESIZE
protected static final int INTERNAL
protected Map fTextHovers
protected org.eclipse.jface.text.IInformationControlCreator fHoverControlCreator
protected List fViewportListeners
protected int fLastTopPixel
protected List fTextInputListeners
protected boolean fReplaceTextPresentation
protected org.eclipse.jface.text.IDocumentInformationMapping fInformationMapping
protected String fPartitioning
Constructor Detail |
protected LpexTextViewer()
public LpexTextViewer(org.eclipse.swt.widgets.Composite parent, int styles)
Method Detail |
protected com.ibm.lpex.alef.DocumentAdapter createDocumentAdapter()
LpexTextViewer uses a com.ibm.lpex.alef.DocumentAdapter, which is used to translate IDocument changes into LPEX document text changes, and vice versa. TextViewer's DefaultDocumentAdapter adapts an IDocument to the StyledTextContent interface.
protected void createControl(org.eclipse.swt.widgets.Composite parent, int styles)
Here are the steps carried out by this method:
The user must add their own LPEX actions and commands by extending updateProfile(LpexView), which is called when we are notified of the completion of the updateProfile command.
public LpexView splitView(LpexView lpexView)
public org.eclipse.swt.widgets.Control getControl()
public void activatePlugins()
Defined by ITextViewer, as part of its plugins support.
public void resetPlugins()
protected void handleDispose()
public org.eclipse.swt.custom.StyledText getTextWidget()
Note: Do not use this method in LpexTextViewer. LpexTextViewer uses an LPEX text widget, which consists of an LpexMultiWindow (an SWT SashForm) and its LpexWindow(s) and LpexView(s), rather than a StyledText widget.
public void setAutoIndentStrategy(org.eclipse.jface.text.IAutoIndentStrategy strategy, String contentType)
public void prependAutoEditStrategy(org.eclipse.jface.text.IAutoEditStrategy strategy, String contentType)
public void removeAutoEditStrategy(org.eclipse.jface.text.IAutoEditStrategy strategy, String contentType)
public void setEventConsumer(org.eclipse.jface.text.IEventConsumer consumer)
In TextViewer, implementers can register and receive VerifyEvents before the text viewer touches them. If the IEventConsumer marks an event as processed, the text viewer will ignore it. For example, keys consumed by a content-assist popup should not be again processed by us (this is not quite AWT's e.consume(), but that's the way Eclipse operates).
public void setIndentPrefixes(String[] indentPrefixes, String contentType)
In TextViewer, this method sets the strings that are used as prefixes when lines of the given content type are shifted using the shift operations. Defined by ITextViewer, as part of its plugins support.
public int getTopInset()
public boolean isEditable()
public void setEditable(boolean editable)
public void setDefaultPrefixes(String[] defaultPrefixes, String contentType)
Defined by ITextViewer, as part of its plugins support.
public void setUndoManager(org.eclipse.jface.text.IUndoManager undoManager)
Defined by ITextViewer, as part of its plugins support.
public void setTextHover(org.eclipse.jface.text.ITextHover hover, String contentType)
public void setTextHover(org.eclipse.jface.text.ITextHover hover, String contentType, int stateMask)
public void removeTextHovers(String contentType)
protected org.eclipse.jface.text.ITextHover getTextHover(int offset)
protected org.eclipse.jface.text.ITextHover getTextHover(int offset, int stateMask)
protected org.eclipse.jface.text.AbstractInformationControlManager getTextHoveringController()
public void setHoverControlCreator(org.eclipse.jface.text.IInformationControlCreator creator)
public boolean requestWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper requester)
public boolean requestWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper requester, int priority)
public void releaseWidgetToken(org.eclipse.jface.text.IWidgetTokenKeeper tokenKeeper)
public org.eclipse.swt.graphics.Point getSelectedRange()
This method adjusts positions which are outside the current IDocument text (in LPEX the cursor, character/element/rectangle block positions, etc. can be located outside the actual line text).
Note that the cursor position in LPEX is not necessarily a boundary of the current selection, unless the selection is of type stream. Use getCurrentOffset() to retrieve the cursor position for this viewer.
public void setSelectedRange(int selectionOffset, int selectionLength)
Preferred method: use the block command or blockMark___ actions. To reposition the cursor, use the locate command and the position parameter.
public int getCurrentOffset()
In LPEX the cursor can be located outside the actual line text. This method adjusts a position which is outside the current IDocument text.
protected void validateSelectionRange(int[] selectionRange)
public void setSelection(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
To set selections in LPEX, use the block command or blockMark___ actions. To reposition the cursor, use the locate command and the position parameter.
public org.eclipse.jface.viewers.ISelection getSelection()
In LPEX, this stream-oriented method is inefficient, and should be avoided.
public org.eclipse.jface.viewers.ISelectionProvider getSelectionProvider()
protected void selectionChanged(int offset, int len)
public void addTextListener(org.eclipse.jface.text.ITextListener listener)
In TextViewer, this method adds a text listener to the text widget. A listener is registered only once, subsequent calls are without effect.
public void removeTextListener(org.eclipse.jface.text.ITextListener listener)
In TextViewer, this method removes the text listener from the text widget. If the listener is not registered with the widget, the call is without effect.
public void addTextInputListener(org.eclipse.jface.text.ITextInputListener listener)
Text input listeners registered with a text viewer are informed when the document serving as the text viewer's model is replaced.
public void removeTextInputListener(org.eclipse.jface.text.ITextInputListener listener)
protected void fireInputDocumentAboutToBeChanged(org.eclipse.jface.text.IDocument oldInput, org.eclipse.jface.text.IDocument newInput)
protected void fireInputDocumentChanged(org.eclipse.jface.text.IDocument oldInput, org.eclipse.jface.text.IDocument newInput)
public Object getInput()
public org.eclipse.jface.text.IDocument getDocument()
Defined by ITextViewer, as part of its model-manipulation support.
public void setInput(Object input)
public void setDocument(org.eclipse.jface.text.IDocument document)
Defined by ITextViewer, as part of its model-manipulation support.
public void setDocument(org.eclipse.jface.text.IDocument document, int modelRangeOffset, int modelRangeLength)
setDocument(document); setVisibleRegion(offset, length)
Defined by ITextViewer as part of its visible-region support.
protected org.eclipse.jface.text.IDocument createSlaveDocument(org.eclipse.jface.text.IDocument document)
protected boolean updateVisibleDocument(org.eclipse.jface.text.IDocument visibleDocument, int visibleRegionOffset, int visibleRegionLength) throws org.eclipse.jface.text.BadLocationException
protected boolean updateSlaveDocument(org.eclipse.jface.text.IDocument slaveDocument, int modelRangeOffset, int modelRangeLength) throws org.eclipse.jface.text.BadLocationException
public void addViewportListener(org.eclipse.jface.text.IViewportListener listener)
public void removeViewportListener(org.eclipse.jface.text.IViewportListener listener)
protected void updateViewportListeners(int origin)
In TextViewer, this method checks whether the viewport changed and, if so, informs all registered listeners about the change.
public int getTopIndex()
public void setTopIndex(int index)
Preferred method: in LPEX you may consider various options, depending on the intended usage. For example, to set the cursor in the edit window on a certain line in the document:
LpexView lpexView = getLpexView(); lpexView.doCommand("locate emphasis line " + (index + 1 + lpexView.linesBeforeStart())); lpexView.triggerAction(lpexView.actionId("textWindow"));To position the line that contains the cursor on a certain screen row:
LpexView lpexView = getLpexView(); lpexView.doCommand("set cursorRow " + row); lpexView.doDefaultCommand("screenShow");
You must consider certain characteristics of the LPEX edit window, such as:
protected int getVisibleLinesInViewport()
Preferred method: use getLpexView().queryInt("rows").
public int getBottomIndex()
public int getTopIndexStartOffset()
In TextViewer, this method returns the character position which is at the upper-left corner of the widget's viewport.
public int getBottomIndexEndOffset()
public void revealRange(int start, int len)
protected final int getAverageCharWidth()
protected final int getAverageCharWidth(LpexWindow lpexWindow)
public void refresh()
protected org.eclipse.jface.text.ISlaveDocumentManager getSlaveDocumentManager()
protected org.eclipse.jface.text.ISlaveDocumentManager createSlaveDocumentManager()
public final void invalidateTextPresentation()
public final void invalidateTextPresentation(int offset, int length)
protected void freeSlaveDocument(org.eclipse.jface.text.IDocument slave)
protected void setVisibleDocument(org.eclipse.jface.text.IDocument document)
protected void handleVisibleDocumentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent event)
protected void handleVisibleDocumentChanged(org.eclipse.jface.text.DocumentEvent event)
protected void initializeDocumentInformationMapping(org.eclipse.jface.text.IDocument visibleDocument)
public org.eclipse.jface.text.IDocument getVisibleDocument()
protected int _getVisibleRegionOffset()
In TextViewer, this method returns the offset of the visible region.
public org.eclipse.jface.text.IRegion getVisibleRegion()
In TextViewer, this method returns the current visible region of this viewer's document. Defined by ITextViewer as part of its visible-region support.
public void setVisibleRegion(int start, int len)
In TextViewer, this method sets the region of this viewer's document which will be visible in the presentation. It does this by defining a child document for this region, and setting it as the visible document for the text widget (i.e., reloading the text widgets with the contents of this child document). It is defined by ITextViewer as part of its visible-region support.
public void resetVisibleRegion()
In TextViewer, this method resets the region of this viewer's document which is visible in the presentation, so that the whole document is presented again. It is defined by ITextViewer, as part of its visible-region support.
public boolean overlapsWithVisibleRegion(int start, int length)
In TextViewer, this method returns whether a given range overlaps with the visible region of this viewer's document. It is defined by ITextViewer, as part of its visible-region support.
public void setTextDoubleClickStrategy(org.eclipse.jface.text.ITextDoubleClickStrategy strategy, String contentType)
Defined by ITextViewer, as part of its plugins support.
protected Object selectContentTypePlugin(int offset, Map plugins)
This method first checks for a plugin for the IDocument content type (e.g., IDocument.DEFAULT_CONTENT_TYPE) of the document partition in which the given offset is located. If none found, it checks for a plugin registered for the LPEX document-parser language, as defined in LpexCommonParser.getLanguage(LpexDocumentLocation) (e.g., LpexCommonParser.LANGUAGE_JAVA), as content type.
public boolean canDoOperation(int operation)
Note that most LPEX actions (as defined in e.g., LpexAbstractTextEditor) call the editor directly for querying availability.
public void doOperation(int operation)
Note that most LPEX actions (as defined in e.g., LpexAbstractTextEditor) call the editor directly.
public void enableOperation(int operation, boolean enable)
public void setTextColor(org.eclipse.swt.graphics.Color color)
Defined by ITextViewer, as part of its presentation-manipulation support.
public void setTextColor(org.eclipse.swt.graphics.Color color, int start, int length, boolean controlRedraw)
Defined by ITextViewer, as part of its presentation-manipulation support.
protected org.eclipse.jface.text.IRegion _internalGetVisibleRegion()
In TextViewer, this method returns the visible region if it is not equal to the whole document, or null if it is.
public void changeTextPresentation(org.eclipse.jface.text.TextPresentation presentation, boolean controlRedraw)
In TextViewer, this method applies in the text widget the color information of the specified text presentation.
Defined by ITextViewer, as part of its presentation-manipulation support.
public org.eclipse.jface.text.IFindReplaceTarget getFindReplaceTarget()
Defined by ITextViewer, as part of its target-handling support.
public org.eclipse.jface.text.ITextOperationTarget getTextOperationTarget()
Defined by ITextViewer, as part of its target-handling support.
public org.eclipse.jface.text.ITextHover getCurrentTextHover()
public org.eclipse.swt.graphics.Point getHoverEventLocation()
public int modelLine2WidgetLine(int modelLine)
public int modelOffset2WidgetOffset(int modelOffset)
public org.eclipse.jface.text.IRegion modelRange2WidgetRange(org.eclipse.jface.text.IRegion modelRange)
public int widgetlLine2ModelLine(int widgetLine)
public int widgetLine2ModelLine(int widgetLine)
public int widgetOffset2ModelOffset(int widgetOffset)
public org.eclipse.jface.text.IRegion widgetRange2ModelRange(org.eclipse.jface.text.IRegion widgetRange)
public org.eclipse.jface.text.IRegion getModelCoverage()
protected int getClosestWidgetLineForModelLine(int modelLine)
protected org.eclipse.jface.text.IRegion modelRange2WidgetRange(org.eclipse.jface.text.Position modelPosition)
protected org.eclipse.swt.graphics.Point widgetSelection2ModelSelection(org.eclipse.swt.graphics.Point widgetSelection)
protected org.eclipse.swt.graphics.Point modelSelection2WidgetSelection(org.eclipse.swt.graphics.Point modelSelection)
public int widgetLineOfWidgetOffset(int widgetOffset)
public boolean moveFocusToWidgetToken()
public void setDocumentPartitioning(String partitioning)
protected String getDocumentPartitioning()
protected void initializeLpexView(LpexView lpexView)
Extend this method to set any file/view-specific parameters for this LpexView. Here you may set any "File Open" preferences page settings for your solution's plug-in, such as sequenceNumbers, sourceEncoding, save.textLimit, and save.trim. The updateProfile command will be called later.
protected void updateProfile()
protected void updateProfile(LpexView lpexView)
Called when a new document view is created (a new document is opened in this viewer), and whenever the updateProfile command is issued afterwards.
protected void setEditorInput(org.eclipse.ui.IEditorInput editorInput)
This method should be called prior to the setDocument() for this text viewer, and whenever the input changes for this text viewer.
public LpexWindow getLpexWindow()
public LpexWindow getFirstLpexWindow()
public LpexView getLpexView()
public LpexView getFirstLpexView()
public String getEOL()
|
SWT LPEX v3.0.0 | |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |