Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 158041 Details for
Bug 298392
BIDI_BDL: Visual field supporting proper display and editing of Bidi data in visual Bidi layout
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
patch file for org.eclipse.jface.text
jface_text.txt (text/plain), 34.94 KB, created by
Ira Fishbein
on 2010-02-03 06:36:58 EST
(
hide
)
Description:
patch file for org.eclipse.jface.text
Filename:
MIME Type:
Creator:
Ira Fishbein
Created:
2010-02-03 06:36:58 EST
Size:
34.94 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jface.text >Index: src/org/eclipse/jface/text/TextViewer.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jface.text/src/org/eclipse/jface/text/TextViewer.java,v >retrieving revision 1.222 >diff -u -r1.222 TextViewer.java >--- src/org/eclipse/jface/text/TextViewer.java 16 Dec 2009 14:40:02 -0000 1.222 >+++ src/org/eclipse/jface/text/TextViewer.java 3 Feb 2010 11:14:09 -0000 >@@ -22,6 +22,7 @@ > import java.util.regex.PatternSyntaxException; > > import org.eclipse.swt.SWT; >+import org.eclipse.swt.custom.Field3270; > import org.eclipse.swt.custom.LineBackgroundEvent; > import org.eclipse.swt.custom.LineBackgroundListener; > import org.eclipse.swt.custom.MovementEvent; >@@ -135,6 +136,8 @@ > */ > private static final int TEXT_HOVER_HEIGHT_CHARS= 12; //used to be 10 (text font) > >+ private boolean is3270SupportRequired; //ira >+ > /** > * Represents a replace command that brings the text viewer's text widget > * back in synchronization with text viewer's document after the document >@@ -309,8 +312,8 @@ > * @see MouseListener#mouseUp > */ > public void mouseUp(MouseEvent e) { >- if (fTextWidget != null) >- fTextWidget.removeSelectionListener(this); >+ if (getTextWidget() != null) >+ getTextWidget().removeSelectionListener(this); > updateViewportListeners(MOUSE_END); > } > >@@ -318,8 +321,8 @@ > * @see MouseListener#mouseDown > */ > public void mouseDown(MouseEvent e) { >- if (fTextWidget != null) >- fTextWidget.addSelectionListener(this); >+ if (getTextWidget() != null) >+ getTextWidget().addSelectionListener(this); > } > > /* >@@ -672,7 +675,7 @@ > public void lineGetBackground(LineBackgroundEvent event) { > /* Don't use cached line information because of patched redrawing events. */ > >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > int offset= widgetOffset2ModelOffset(event.lineOffset); > if (fPosition.includes(offset)) > event.lineBackground= fHighlightColor; >@@ -686,7 +689,7 @@ > */ > public void install() { > TextViewer.this.addTextListener(this); >- fTextWidget.addLineBackgroundListener(this); >+ getTextWidget().addLineBackgroundListener(this); > > IDocument document= TextViewer.this.getDocument(); > try { >@@ -716,8 +719,8 @@ > document.removePosition(fPosition); > } > >- if (fTextWidget != null && !fTextWidget.isDisposed()) >- fTextWidget.removeLineBackgroundListener(this); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) >+ getTextWidget().removeLineBackgroundListener(this); > > TextViewer.this.removeTextListener(this); > >@@ -728,8 +731,8 @@ > * Clears the highlighting of this range. > */ > private void clear() { >- if (fTextWidget != null && !fTextWidget.isDisposed()) >- fTextWidget.redraw(); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) >+ getTextWidget().redraw(); > } > > /** >@@ -741,18 +744,18 @@ > int offset= widgetRegion.getOffset(); > int length= widgetRegion.getLength(); > >- int count= fTextWidget.getCharCount(); >+ int count= getTextWidget().getCharCount(); > if (offset + length >= count) { > length= count - offset; // clip > >- Point upperLeft= fTextWidget.getLocationAtOffset(offset); >- Point lowerRight= fTextWidget.getLocationAtOffset(offset + length); >- int width= fTextWidget.getClientArea().width; >- int height= fTextWidget.getLineHeight(offset + length) + lowerRight.y - upperLeft.y; >- fTextWidget.redraw(upperLeft.x, upperLeft.y, width, height, false); >+ Point upperLeft= getTextWidget().getLocationAtOffset(offset); >+ Point lowerRight= getTextWidget().getLocationAtOffset(offset + length); >+ int width= getTextWidget().getClientArea().width; >+ int height= getTextWidget().getLineHeight(offset + length) + lowerRight.y - upperLeft.y; >+ getTextWidget().redraw(upperLeft.x, upperLeft.y, width, height, false); > } > >- fTextWidget.redrawRange(offset, length, true); >+ getTextWidget().redrawRange(offset, length, true); > } > > /* >@@ -1390,9 +1393,9 @@ > * Installs this cursor listener. > */ > private void install() { >- if (fTextWidget != null && !fTextWidget.isDisposed()) { >- fTextWidget.addKeyListener(this); >- fTextWidget.addMouseListener(this); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) { >+ getTextWidget().addKeyListener(this); >+ getTextWidget().addMouseListener(this); > } > } > >@@ -1400,9 +1403,9 @@ > * Uninstalls this cursor listener. > */ > private void uninstall() { >- if (fTextWidget != null && !fTextWidget.isDisposed()) { >- fTextWidget.removeKeyListener(this); >- fTextWidget.removeMouseListener(this); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) { >+ getTextWidget().removeKeyListener(this); >+ getTextWidget().removeMouseListener(this); > } > } > >@@ -1416,7 +1419,7 @@ > * @see KeyListener#keyPressed(org.eclipse.swt.events.KeyEvent) > */ > public void keyReleased(KeyEvent e) { >- if (fTextWidget.getSelectionCount() == 0) { >+ if (getTextWidget().getSelectionCount() == 0) { > fLastSentSelectionChange= null; > queuePostSelectionChanged(e.character == SWT.DEL); > } >@@ -1438,7 +1441,7 @@ > * @see MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent) > */ > public void mouseUp(MouseEvent event) { >- if (fTextWidget.getSelectionCount() == 0) >+ if (getTextWidget().getSelectionCount() == 0) > queuePostSelectionChanged(false); > } > } >@@ -1522,6 +1525,7 @@ > > /** The viewer's text widget */ > private StyledText fTextWidget; >+ private Field3270 fField3270Widget; //ira > /** The viewer's input document */ > private IDocument fDocument; > /** The viewer's visible document */ >@@ -1752,6 +1756,11 @@ > styledText.setLeftMargin(Math.max(styledText.getLeftMargin(), 2)); > return styledText; > } >+ protected Field3270 createField3270Widget(Composite parent, int styles) { >+ Field3270 field3270 = new Field3270(parent, styles); >+ field3270.getStyledText().setLeftMargin(Math.max(field3270.getStyledText().getLeftMargin(), 2)); >+ return field3270; >+ } > > /** > * Factory method to create the document adapter to be used by this viewer. >@@ -1770,29 +1779,31 @@ > * @param styles the SWT style bits for the viewer's control > */ > protected void createControl(Composite parent, int styles) { >- >- fTextWidget= createTextWidget(parent, styles); >+ if (!is3270SupportRequired) >+ fTextWidget= createTextWidget(parent, styles); >+ else >+ fField3270Widget = createField3270Widget(parent, styles); > > // Support scroll page upon MOD1+MouseWheel >- fTextWidget.addListener(SWT.MouseVerticalWheel, new Listener() { >+ getTextWidget().addListener(SWT.MouseWheel, new Listener() { > > public void handleEvent(Event event) { > if (((event.stateMask & SWT.MOD1) == 0)) > return; > >- int topIndex= fTextWidget.getTopIndex(); >- int bottomIndex= JFaceTextUtil.getBottomIndex(fTextWidget); >+ int topIndex= getTextWidget().getTopIndex(); >+ int bottomIndex = JFaceTextUtil.getBottomIndex(getTextWidget()); > > if (event.count > 0) >- fTextWidget.setTopIndex(2 * topIndex - bottomIndex); >+ getTextWidget().setTopIndex(2 * topIndex - bottomIndex); > else >- fTextWidget.setTopIndex(bottomIndex); >+ getTextWidget().setTopIndex(bottomIndex); > > updateViewportListeners(INTERNAL); > } > }); > >- fTextWidget.addDisposeListener( >+ getTextWidget().addDisposeListener( > new DisposeListener() { > public void widgetDisposed(DisposeEvent e) { > handleDispose(); >@@ -1800,14 +1811,14 @@ > } > ); > >- fTextWidget.setFont(parent.getFont()); >- fTextWidget.setDoubleClickEnabled(true); >+ getTextWidget().setFont(parent.getFont()); >+ getTextWidget().setDoubleClickEnabled(true); > > /* > * Disable SWT Shift+TAB traversal in this viewer > * 1GIYQ9K: ITPUI:WINNT - StyledText swallows Shift+TAB > */ >- fTextWidget.addTraverseListener(new TraverseListener() { >+ getTextWidget().addTraverseListener(new TraverseListener() { > public void keyTraversed(TraverseEvent e) { > if ((SWT.SHIFT == e.stateMask) && ('\t' == e.character)) > e.doit= false; >@@ -1815,12 +1826,12 @@ > }); > > // where does the first line start >- fTopInset= -fTextWidget.computeTrim(0, 0, 0, 0).y; >+ fTopInset= -getTextWidget().computeTrim(0, 0, 0, 0).y; > > fVerifyListener.forward(true); >- fTextWidget.addVerifyListener(fVerifyListener); >+ getTextWidget().addVerifyListener(fVerifyListener); > >- fTextWidget.addSelectionListener(new SelectionListener() { >+ getTextWidget().addSelectionListener(new SelectionListener() { > public void widgetDefaultSelected(SelectionEvent event) { > selectionChanged(event.x, event.y - event.x); > } >@@ -1839,7 +1850,9 @@ > * @see Viewer#getControl() > */ > public Control getControl() { >- return fTextWidget; >+ if (!is3270SupportRequired) >+ return fTextWidget; >+ return fField3270Widget; > } > > /* >@@ -1849,8 +1862,8 @@ > > if (fDoubleClickStrategies != null && !fDoubleClickStrategies.isEmpty() && fDoubleClickStrategyConnector == null) { > fDoubleClickStrategyConnector= new TextDoubleClickStrategyConnector(); >- fTextWidget.addWordMovementListener(fDoubleClickStrategyConnector); >- fTextWidget.addMouseListener(fDoubleClickStrategyConnector); >+ getTextWidget().addWordMovementListener(fDoubleClickStrategyConnector); >+ getTextWidget().addMouseListener(fDoubleClickStrategyConnector); > } > > ensureHoverControlManagerInstalled(); >@@ -1977,7 +1990,8 @@ > fDocument= null; > fScroller= null; > >- fTextWidget= null; >+ fTextWidget = null; >+ fField3270Widget = null; > } > > >@@ -1987,7 +2001,9 @@ > * @see org.eclipse.jface.text.ITextViewer#getTextWidget() > */ > public StyledText getTextWidget() { >- return fTextWidget; >+ if (!is3270SupportRequired) >+ return fTextWidget; >+ return fField3270Widget.getStyledText(); > } > > /** >@@ -2130,17 +2146,17 @@ > * @see ITextViewer#isEditable() > */ > public boolean isEditable() { >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return false; >- return fTextWidget.getEditable(); >+ return getTextWidget().getEditable(); > } > > /* > * @see ITextViewer#setEditable(boolean) > */ > public void setEditable(boolean editable) { >- if (fTextWidget != null) >- fTextWidget.setEditable(editable); >+ if (getTextWidget() != null) >+ getTextWidget().setEditable(editable); > } > > /* >@@ -2290,7 +2306,7 @@ > * @since 2.0 > */ > public boolean requestWidgetToken(IWidgetTokenKeeper requester) { >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > if (fWidgetTokenKeeper != null) { > if (fWidgetTokenKeeper == requester) > return true; >@@ -2311,7 +2327,7 @@ > * @since 3.0 > */ > public boolean requestWidgetToken(IWidgetTokenKeeper requester, int priority) { >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > if (fWidgetTokenKeeper != null) { > > if (fWidgetTokenKeeper == requester) >@@ -2358,8 +2374,8 @@ > if (!redraws() && fViewerState != null) > return fViewerState.getSelection(); > >- if (fTextWidget != null) { >- Point p= fTextWidget.getSelectionRange(); >+ if (getTextWidget() != null) { >+ Point p= getTextWidget().getSelectionRange(); > p= widgetSelection2ModelSelection(p); > if (p != null) > return p; >@@ -2379,7 +2395,7 @@ > return; > } > >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return; > > IRegion widgetSelection= modelRange2ClosestWidgetRange(new Region(selectionOffset, selectionLength)); >@@ -2388,7 +2404,7 @@ > int[] selectionRange= new int[] { widgetSelection.getOffset(), widgetSelection.getLength() }; > validateSelectionRange(selectionRange); > if (selectionRange[0] >= 0) { >- fTextWidget.setSelectionRange(selectionRange[0], selectionRange[1]); >+ getTextWidget().setSelectionRange(selectionRange[0], selectionRange[1]); > selectionChanged(selectionRange[0], selectionRange[1]); > } > } >@@ -2497,19 +2513,19 @@ > int startOffset= modelRange2ClosestWidgetRange(startRegion).getOffset(); > IRegion endRegion= new Region(endLineInfo.getOffset() + s.getEndColumn() - endVirtuals, 0); > int endOffset= modelRange2ClosestWidgetRange(endRegion).getOffset(); >- Point clientAreaOrigin= new Point(fTextWidget.getHorizontalPixel(), fTextWidget.getTopPixel()); >- Point startLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(startOffset)); >+ Point clientAreaOrigin= new Point(getTextWidget().getHorizontalPixel(), getTextWidget().getTopPixel()); >+ Point startLocation= Geometry.add(clientAreaOrigin, getTextWidget().getLocationAtOffset(startOffset)); > int averageCharWidth= getAverageCharWidth(); > startLocation.x += startVirtuals * averageCharWidth; >- Point endLocation= Geometry.add(clientAreaOrigin, fTextWidget.getLocationAtOffset(endOffset)); >+ Point endLocation= Geometry.add(clientAreaOrigin, getTextWidget().getLocationAtOffset(endOffset)); > endLocation.x += endVirtuals * averageCharWidth; >- endLocation.y += fTextWidget.getLineHeight(endOffset); >+ endLocation.y += getTextWidget().getLineHeight(endOffset); > > int widgetLength= endOffset - startOffset; > int[] widgetSelection= { startOffset, widgetLength}; > validateSelectionRange(widgetSelection); > if (widgetSelection[0] >= 0) { >- fTextWidget.setBlockSelectionBounds(Geometry.createRectangle(startLocation, Geometry.subtract(endLocation, startLocation))); >+ getTextWidget().setBlockSelectionBounds(Geometry.createRectangle(startLocation, Geometry.subtract(endLocation, startLocation))); > selectionChanged(startOffset, widgetLength); > } > } catch (BadLocationException e) { >@@ -2530,14 +2546,14 @@ > * @see Viewer#getSelection() > */ > public ISelection getSelection() { >- if (fTextWidget != null && fTextWidget.getBlockSelection()) { >- int[] ranges= fTextWidget.getSelectionRanges(); >+ if (getTextWidget() != null && getTextWidget().getBlockSelection()) { >+ int[] ranges= getTextWidget().getSelectionRanges(); > int startOffset= ranges[0]; > int endOffset= ranges[ranges.length - 2] + ranges[ranges.length - 1]; > > // getBlockSelectionBounds returns pixel coordinates relative to document >- Rectangle bounds= fTextWidget.getBlockSelectionBounds(); >- int clientAreaX= fTextWidget.getHorizontalPixel(); >+ Rectangle bounds= getTextWidget().getBlockSelectionBounds(); >+ int clientAreaX= getTextWidget().getHorizontalPixel(); > int startX= bounds.x - clientAreaX; > int endX= bounds.x + bounds.width - clientAreaX; > int avgCharWidth= getAverageCharWidth(); >@@ -2559,7 +2575,7 @@ > int endColumn= endOffset - document.getLineOffset(endLine) + endVirtuals; > if (startLine == -1 || endLine == -1) > return TextSelection.emptySelection(); >- return new BlockTextSelection(document, startLine, startColumn, endLine, endColumn, fTextWidget.getTabs()); >+ return new BlockTextSelection(document, startLine, startColumn, endLine, endColumn, getTextWidget().getTabs()); > } catch (BadLocationException e) { > return TextSelection.emptySelection(); > } >@@ -2584,7 +2600,7 @@ > * @since 3.5 > */ > private int computeVirtualChars(int offset, int x, int avgCharWidth) { >- int diff= x - fTextWidget.getLocationAtOffset(offset).x; >+ int diff= x - getTextWidget().getLocationAtOffset(offset).x; > return diff > 0 ? diff / avgCharWidth : 0; > } > >@@ -2632,10 +2648,10 @@ > * @since 3.0 > */ > private Display getDisplay() { >- if (fTextWidget == null || fTextWidget.isDisposed()) >+ if (getTextWidget() == null || getTextWidget().isDisposed()) > return null; > >- Display display= fTextWidget.getDisplay(); >+ Display display= getTextWidget().getDisplay(); > if (display != null && display.isDisposed()) > return null; > >@@ -2660,7 +2676,7 @@ > if (id == fNumberOfPostSelectionChangedEvents[0]) { > // Check again because this is executed after the delay > if (getDisplay() != null) { >- Point selection= fTextWidget.getSelectionRange(); >+ Point selection= getTextWidget().getSelectionRange(); > if (selection != null) { > IRegion r= widgetRange2ModelRange(new Region(selection.x, selection.y)); > if (fireEqualSelection || (r != null && !r.equals(fLastSentPostSelectionChange)) || r == null) { >@@ -3033,15 +3049,15 @@ > if (fViewportGuard != null) > return; > >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > > fViewportGuard= new ViewportGuard(); > fLastTopPixel= -1; > >- fTextWidget.addKeyListener(fViewportGuard); >- fTextWidget.addMouseListener(fViewportGuard); >+ getTextWidget().addKeyListener(fViewportGuard); >+ getTextWidget().addMouseListener(fViewportGuard); > >- fScroller= fTextWidget.getVerticalBar(); >+ fScroller= getTextWidget().getVerticalBar(); > if (fScroller != null) > fScroller.addSelectionListener(fViewportGuard); > } >@@ -3052,10 +3068,10 @@ > */ > private void removeViewPortUpdate() { > >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > >- fTextWidget.removeKeyListener(fViewportGuard); >- fTextWidget.removeMouseListener(fViewportGuard); >+ getTextWidget().removeKeyListener(fViewportGuard); >+ getTextWidget().removeMouseListener(fViewportGuard); > > if (fScroller != null && !fScroller.isDisposed()) { > fScroller.removeSelectionListener(fViewportGuard); >@@ -3099,7 +3115,7 @@ > protected void updateViewportListeners(int origin) { > > if (redraws()) { >- int topPixel= fTextWidget.getTopPixel(); >+ int topPixel= getTextWidget().getTopPixel(); > if (topPixel >= 0 && topPixel != fLastTopPixel) { > if (fViewportListeners != null) { > for (int i= 0; i < fViewportListeners.size(); i++) { >@@ -3119,8 +3135,8 @@ > */ > public int getTopIndex() { > >- if (fTextWidget != null) { >- int top= fTextWidget.getTopIndex(); >+ if (getTextWidget() != null) { >+ int top= getTextWidget().getTopIndex(); > return widgetLine2ModelLine(top); > } > >@@ -3132,14 +3148,14 @@ > */ > public void setTopIndex(int index) { > >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > > int widgetLine= modelLine2WidgetLine(index); > if (widgetLine == -1) > widgetLine= getClosestWidgetLineForModelLine(index); > > if (widgetLine > -1) { >- fTextWidget.setTopIndex(widgetLine); >+ getTextWidget().setTopIndex(widgetLine); > updateViewportListeners(INTERNAL); > } > } >@@ -3156,10 +3172,10 @@ > * @deprecated as of 3.2 > */ > protected int getVisibleLinesInViewport() { >- if (fTextWidget != null) { >- Rectangle clArea= fTextWidget.getClientArea(); >+ if (getTextWidget() != null) { >+ Rectangle clArea= getTextWidget().getClientArea(); > if (!clArea.isEmpty()) >- return clArea.height / fTextWidget.getLineHeight(); >+ return clArea.height / getTextWidget().getLineHeight(); > } > return -1; > } >@@ -3169,10 +3185,10 @@ > */ > public int getBottomIndex() { > >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return -1; > >- int widgetBottom= JFaceTextUtil.getBottomIndex(fTextWidget); >+ int widgetBottom= JFaceTextUtil.getBottomIndex(getTextWidget()); > return widgetLine2ModelLine(widgetBottom); > } > >@@ -3181,8 +3197,8 @@ > */ > public int getTopIndexStartOffset() { > >- if (fTextWidget != null) { >- int top= fTextWidget.getTopIndex(); >+ if (getTextWidget() != null) { >+ int top= getTextWidget().getTopIndex(); > try { > top= getVisibleDocument().getLineOffset(top); > return widgetOffset2ModelOffset(top); >@@ -3223,7 +3239,7 @@ > */ > public void revealRange(int start, int length) { > >- if (fTextWidget == null || !redraws()) >+ if (getTextWidget() == null || !redraws()) > return; > > IRegion modelRange= new Region(start, length); >@@ -3258,11 +3274,11 @@ > int startLine= doc.getLineOfOffset(start); > int endLine= doc.getLineOfOffset(end); > >- int top= fTextWidget.getTopIndex(); >+ int top= getTextWidget().getTopIndex(); > if (top > -1) { > > // scroll vertically >- int bottom= JFaceTextUtil.getBottomIndex(fTextWidget); >+ int bottom= JFaceTextUtil.getBottomIndex(getTextWidget()); > int lines= bottom - top; > > // if the widget is not scrollable as it is displaying the entire content >@@ -3275,7 +3291,7 @@ > } else { > > int delta= Math.max(0, lines - (endLine - startLine)); >- fTextWidget.setTopIndex(startLine - delta/3); >+ getTextWidget().setTopIndex(startLine - delta/3); > updateViewportListeners(INTERNAL); > } > >@@ -3293,17 +3309,17 @@ > if (endLine > startLine) { > // reveal the beginning of the range in the start line > IRegion extent= getExtent(start, start); >- startPixel= extent.getOffset() + fTextWidget.getHorizontalPixel(); >+ startPixel= extent.getOffset() + getTextWidget().getHorizontalPixel(); > endPixel= startPixel; > > } else { > IRegion extent= getExtent(start, end); >- startPixel= extent.getOffset() + fTextWidget.getHorizontalPixel(); >+ startPixel= extent.getOffset() + getTextWidget().getHorizontalPixel(); > endPixel= startPixel + extent.getLength(); > } > >- int visibleStart= fTextWidget.getHorizontalPixel(); >- int visibleEnd= visibleStart + fTextWidget.getClientArea().width; >+ int visibleStart= getTextWidget().getHorizontalPixel(); >+ int visibleEnd= visibleStart + getTextWidget().getClientArea().width; > > // scroll only if not yet visible > if (startPixel < visibleStart || visibleEnd < endPixel) { >@@ -3325,7 +3341,7 @@ > > float index= ((float)newOffset) / ((float)getAverageCharWidth()); > >- fTextWidget.setHorizontalIndex(Math.round(index)); >+ getTextWidget().setHorizontalIndex(Math.round(index)); > } > > } >@@ -3342,8 +3358,8 @@ > * @deprecated use <code>getWidthInPixels(int, int)</code> instead > */ > final protected int getWidthInPixels(String text) { >- GC gc= new GC(fTextWidget); >- gc.setFont(fTextWidget.getFont()); >+ GC gc= new GC(getTextWidget()); >+ gc.setFont(getTextWidget().getFont()); > Point extent= gc.textExtent(text); > gc.dispose(); > return extent.x; >@@ -3362,11 +3378,11 @@ > */ > final protected IRegion getExtent(int start, int end) { > if (end > 0 && start < end) { >- Rectangle bounds= fTextWidget.getTextBounds(start, end - 1); >+ Rectangle bounds= getTextWidget().getTextBounds(start, end - 1); > return new Region(bounds.x, bounds.width); > } > >- return new Region(fTextWidget.getLocationAtOffset(start).x, 0); >+ return new Region(getTextWidget().getLocationAtOffset(start).x, 0); > } > > /** >@@ -3470,14 +3486,14 @@ > */ > private void initializeWidgetContents() { > >- if (fTextWidget != null && fVisibleDocument != null) { >+ if (getTextWidget() != null && fVisibleDocument != null) { > > // set widget content > if (fDocumentAdapter == null) > fDocumentAdapter= createDocumentAdapter(); > > fDocumentAdapter.setDocument(fVisibleDocument); >- fTextWidget.setContent(fDocumentAdapter); >+ getTextWidget().setContent(fDocumentAdapter); > > // invalidate presentation > invalidateTextPresentation(); >@@ -3761,9 +3777,9 @@ > return; > } > >- if (fTextWidget.getBlockSelection() && (e.text == null || e.text.length() < 2)) { >- Point sel = fTextWidget.getSelection(); >- if (fTextWidget.getLineAtOffset(sel.x) != fTextWidget.getLineAtOffset(sel.y)) { >+ if (getTextWidget().getBlockSelection() && (e.text == null || e.text.length() < 2)) { >+ Point sel = getTextWidget().getSelection(); >+ if (getTextWidget().getLineAtOffset(sel.x) != getTextWidget().getLineAtOffset(sel.y)) { > verifyEventInBlockSelection(e); > return; > } >@@ -3784,7 +3800,7 @@ > > fDocumentCommand.execute(getDocument()); > >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > int documentCaret= fDocumentCommand.caretOffset; > if (documentCaret == -1) { > // old behavior of document command >@@ -3805,10 +3821,10 @@ > > if (widgetCaret != -1) { > // there is a valid widget caret >- fTextWidget.setCaretOffset(widgetCaret); >+ getTextWidget().setCaretOffset(widgetCaret); > } > >- fTextWidget.showSelection(); >+ getTextWidget().showSelection(); > } > } catch (BadLocationException x) { > >@@ -3889,7 +3905,7 @@ > */ > private boolean isMarkedRegionEmpty() { > return >- fTextWidget == null || >+ getTextWidget() == null || > fMarkPosition == null || > fMarkPosition.isDeleted() || > modelRange2WidgetRange(fMarkPosition) == null; >@@ -3900,14 +3916,14 @@ > */ > public boolean canDoOperation(int operation) { > >- if (fTextWidget == null || !redraws()) >+ if (getTextWidget() == null || !redraws()) > return false; > > switch (operation) { > case CUT: >- return isEditable() &&(fTextWidget.getSelectionCount() > 0 || !isMarkedRegionEmpty()); >+ return isEditable() &&(getTextWidget().getSelectionCount() > 0 || !isMarkedRegionEmpty()); > case COPY: >- return fTextWidget.getSelectionCount() > 0 || !isMarkedRegionEmpty(); >+ return getTextWidget().getSelectionCount() > 0 || !isMarkedRegionEmpty(); > case DELETE: > case PASTE: > return isEditable(); >@@ -3935,7 +3951,7 @@ > */ > public void doOperation(int operation) { > >- if (fTextWidget == null || !redraws()) >+ if (getTextWidget() == null || !redraws()) > return; > > Point selection= null; >@@ -3957,24 +3973,24 @@ > } > break; > case CUT: >- if (fTextWidget.getSelectionCount() == 0) >+ if (getTextWidget().getSelectionCount() == 0) > copyMarkedRegion(true); > else > wrapCompoundChange(new Runnable() { > public void run() { >- fTextWidget.cut(); >+ getTextWidget().cut(); > } > }); > >- selection= fTextWidget.getSelectionRange(); >+ selection= getTextWidget().getSelectionRange(); > fireSelectionChanged(selection.x, selection.y); > > break; > case COPY: >- if (fTextWidget.getSelectionCount() == 0) >+ if (getTextWidget().getSelectionCount() == 0) > copyMarkedRegion(false); > else >- fTextWidget.copy(); >+ getTextWidget().copy(); > break; > case PASTE: > paste(); >@@ -3985,9 +4001,9 @@ > case SELECT_ALL: { > IDocument doc= getDocument(); > if (doc != null) { >- if (fTextWidget.getBlockSelection()) >+ if (getTextWidget().getBlockSelection()) > // XXX: performance hack: use 1000 for the endColumn - StyledText will not select more than what's possible in the viewport. >- setSelection(new BlockTextSelection(doc, 0, 0, doc.getNumberOfLines() - 1, 1000, fTextWidget.getTabs())); >+ setSelection(new BlockTextSelection(doc, 0, 0, doc.getNumberOfLines() - 1, 1000, getTextWidget().getTabs())); > else > setSelectedRange(0, doc.getLength()); > } >@@ -4012,8 +4028,8 @@ > } > > private void delete() { >- if (!fTextWidget.getBlockSelection()) { >- fTextWidget.invokeAction(ST.DELETE_NEXT); >+ if (!getTextWidget().getBlockSelection()) { >+ getTextWidget().invokeAction(ST.DELETE_NEXT); > } else { > wrapCompoundChange(new Runnable(){ > public void run() { >@@ -4026,14 +4042,14 @@ > } > }); > } >- Point selection= fTextWidget.getSelectionRange(); >+ Point selection= getTextWidget().getSelectionRange(); > fireSelectionChanged(selection.x, selection.y); > } > > private void paste() { > // ignoreAutoEditStrategies(true); >- if (!fTextWidget.getBlockSelection()) { >- fTextWidget.paste(); >+ if (!getTextWidget().getBlockSelection()) { >+ getTextWidget().paste(); > } else { > wrapCompoundChange(new Runnable(){ > public void run() { >@@ -4082,7 +4098,7 @@ > } > }); > } >- Point selection= fTextWidget.getSelectionRange(); >+ Point selection= getTextWidget().getSelectionRange(); > fireSelectionChanged(selection.x, selection.y); > // ignoreAutoEditStrategies(false); > } >@@ -4097,7 +4113,7 @@ > * @since 3.5 > */ > private void wrapCompoundChange(Runnable runnable) { >- if (!fTextWidget.getBlockSelection()) { >+ if (!getTextWidget().getBlockSelection()) { > runnable.run(); > return; > } >@@ -4162,28 +4178,28 @@ > */ > protected void copyMarkedRegion(boolean delete) { > >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return; > > if (fMarkPosition == null || fMarkPosition.isDeleted() || modelRange2WidgetRange(fMarkPosition) == null) > return; > > int widgetMarkOffset= modelOffset2WidgetOffset(fMarkPosition.offset); >- Point selection= fTextWidget.getSelection(); >+ Point selection= getTextWidget().getSelection(); > if (selection.x <= widgetMarkOffset) >- fTextWidget.setSelection(selection.x, widgetMarkOffset); >+ getTextWidget().setSelection(selection.x, widgetMarkOffset); > else >- fTextWidget.setSelection(widgetMarkOffset, selection.x); >+ getTextWidget().setSelection(widgetMarkOffset, selection.x); > > if (delete) { > wrapCompoundChange(new Runnable() { > public void run() { >- fTextWidget.cut(); >+ getTextWidget().cut(); > } > }); > } else { >- fTextWidget.copy(); >- fTextWidget.setSelection(selection.x); // restore old cursor position >+ getTextWidget().copy(); >+ getTextWidget().setSelection(selection.x); // restore old cursor position > } > } > >@@ -4195,7 +4211,7 @@ > * @deprecated use <code>StyledText.invokeAction</code> instead > */ > protected void deleteText() { >- fTextWidget.invokeAction(ST.DELETE_NEXT); >+ getTextWidget().invokeAction(ST.DELETE_NEXT); > } > > /** >@@ -4502,7 +4518,7 @@ > * @since 3.4 > */ > public void print(StyledTextPrintOptions options) { >- final Shell shell= fTextWidget.getShell(); >+ final Shell shell= getTextWidget().getShell(); > > if (Printer.getPrinterList().length == 0) { > String title= JFaceTextMessages.getString("TextViewer.warning.noPrinter.title"); //$NON-NLS-1$ >@@ -4517,7 +4533,7 @@ > > if (data != null) { > final Printer printer= new Printer(data); >- final Runnable styledTextPrinter= fTextWidget.print(printer, options); >+ final Runnable styledTextPrinter= getTextWidget().print(printer, options); > > Thread printingThread= new Thread("Printing") { //$NON-NLS-1$ > public void run() { >@@ -4561,7 +4577,7 @@ > */ > protected boolean canPerformFind() { > IDocument d= getVisibleDocument(); >- return (fTextWidget != null && d != null && d.getLength() > 0); >+ return (getTextWidget() != null && d != null && d.getLength() > 0); > } > > /** >@@ -4599,7 +4615,7 @@ > * > */ > protected int findAndSelect(int startPosition, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord, boolean regExSearch) { >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return -1; > > try { >@@ -4620,7 +4636,7 @@ > setRedraw(false); > > if (redraws()) { >- fTextWidget.setSelectionRange(widgetPos, length); >+ getTextWidget().setSelectionRange(widgetPos, length); > internalRevealRange(widgetPos, widgetPos + length); > selectionChanged(widgetPos, length); > } else { >@@ -4655,7 +4671,7 @@ > * @since 3.0 > */ > protected int findAndSelectInRange(int startPosition, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord, int rangeOffset, int rangeLength, boolean regExSearch) { >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return -1; > > try { >@@ -4697,7 +4713,7 @@ > setRedraw(false); > > if (redraws()) { >- fTextWidget.setSelectionRange(widgetPos, length); >+ getTextWidget().setSelectionRange(widgetPos, length); > internalRevealRange(widgetPos, widgetPos + length); > selectionChanged(widgetPos, length); > } else { >@@ -4732,7 +4748,7 @@ > * @see ITextViewer#setTextColor(Color, start, length, boolean) > */ > public void setTextColor(Color color, int start, int length, boolean controlRedraw) { >- if (fTextWidget != null) { >+ if (getTextWidget() != null) { > > StyleRange s= new StyleRange(); > s.foreground= color; >@@ -4742,12 +4758,12 @@ > s= modelStyleRange2WidgetStyleRange(s); > if (s != null) { > if (controlRedraw) >- fTextWidget.setRedraw(false); >+ getTextWidget().setRedraw(false); > try { >- fTextWidget.setStyleRange(s); >+ getTextWidget().setStyleRange(s); > } finally { > if (controlRedraw) >- fTextWidget.setRedraw(true); >+ getTextWidget().setRedraw(true); > } > } > } >@@ -4765,7 +4781,7 @@ > > range= modelStyleRange2WidgetStyleRange(range); > if (range != null) >- fTextWidget.setStyleRange(range); >+ getTextWidget().setStyleRange(range); > > ArrayList ranges= new ArrayList(presentation.getDenumerableRanges()); > Iterator e= presentation.getNonDefaultStyleRangeIterator(); >@@ -4777,7 +4793,7 @@ > } > > if (!ranges.isEmpty()) >- fTextWidget.replaceStyleRanges(0, 0, (StyleRange[])ranges.toArray(new StyleRange[ranges.size()])); >+ getTextWidget().replaceStyleRanges(0, 0, (StyleRange[])ranges.toArray(new StyleRange[ranges.size()])); > > } else { > IRegion region= modelRange2WidgetRange(presentation.getCoverage()); >@@ -4796,7 +4812,7 @@ > if (!list.isEmpty()) { > StyleRange[] ranges= new StyleRange[list.size()]; > list.toArray(ranges); >- fTextWidget.replaceStyleRanges(region.getOffset(), region.getLength(), ranges); >+ getTextWidget().replaceStyleRanges(region.getOffset(), region.getLength(), ranges); > } > } > } >@@ -4821,7 +4837,7 @@ > if (!list.isEmpty()) { > StyleRange[] ranges= new StyleRange[list.size()]; > list.toArray(ranges); >- fTextWidget.setStyleRanges(ranges); >+ getTextWidget().setStyleRanges(ranges); > } > } > >@@ -4850,7 +4866,7 @@ > if (presentation == null || !redraws()) > return; > >- if (fTextWidget == null) >+ if (getTextWidget() == null) > return; > > >@@ -4870,7 +4886,7 @@ > return; > > if (controlRedraw) >- fTextWidget.setRedraw(false); >+ getTextWidget().setRedraw(false); > > if (fReplaceTextPresentation) > applyTextPresentation(presentation); >@@ -4878,7 +4894,7 @@ > addPresentation(presentation); > > if (controlRedraw) >- fTextWidget.setRedraw(true); >+ getTextWidget().setRedraw(true); > } > > /* >@@ -5079,8 +5095,8 @@ > fViewerState= null; > } > >- if (fTextWidget != null && !fTextWidget.isDisposed()) >- fTextWidget.setRedraw(true); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) >+ getTextWidget().setRedraw(true); > > fireRedrawChanged(); > } >@@ -5098,8 +5114,8 @@ > extension.stopForwardingDocumentChanges(); > } > >- if (fTextWidget != null && !fTextWidget.isDisposed()) >- fTextWidget.setRedraw(false); >+ if (getTextWidget() != null && !getTextWidget().isDisposed()) >+ getTextWidget().setRedraw(false); > > fireRedrawChanged(); > } >@@ -5724,5 +5740,10 @@ > public void setTabsToSpacesConverter(IAutoEditStrategy converter) { > fTabsToSpacesConverter= converter; > } >+ >+ public void setIs3270SupportRequired(boolean b){ >+ this.is3270SupportRequired = b; >+ } >+ > > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 298392
:
155320
|
158035
|
158036
|
158038
|
158040
| 158041 |
158042