protected IDocumentAdapter createDocumentAdapter() { if (documentAdapter == null) { documentAdapter = new ConsoleDocumentAdapter(consoleWidth = -1); } return documentAdapter; }
private void addRegion(int offset, int length) { if (regionCount == 0) { offsets[0] = offset; lengths[0] = length; } else { if (regionCount == offsets.length) { growRegionArray(regionCount * 2); } offsets[regionCount] = offset; lengths[regionCount] = length; } regionCount++; }
public void run() { if (documentAdapter != null) { documentAdapter.setWidth(consoleWidth); } } });
@Override public synchronized void documentAboutToBeChanged(DocumentEvent event) { if (document == null) { return; } TextChangingEvent changeEvent = new TextChangingEvent(this); changeEvent.start = event.fOffset; changeEvent.newText = (event.fText == null ? "" : event.fText); //$NON-NLS-1$ changeEvent.replaceCharCount = event.fLength; changeEvent.newCharCount = (event.fText == null ? 0 : event.fText.length()); int first = getLineAtOffset(event.fOffset); int lOffset = Math.max(event.fOffset + event.fLength - 1, 0); int last = getLineAtOffset(lOffset); changeEvent.replaceLineCount = Math.max(last - first, 0); int newLineCount = countNewLines(event.fText); changeEvent.newLineCount = newLineCount >= 0 ? newLineCount : 0; if (changeEvent.newLineCount > offsets.length-regionCount) { growRegionArray(changeEvent.newLineCount); } for (TextChangeListener listener : textChangeListeners) { listener.textChanging(changeEvent); } }
int docLine = document.getLineOfOffset(eventOffset); int docLineOffset = document.getLineOffset(docLine); int widgetLine = getLineAtOffset(docLineOffset); addRegion(offset, 0); } else { while (length > 0) { addRegion(offset, consoleWidth); offset += consoleWidth; length -= consoleWidth; } else { addRegion(offset, length); offset += length; length -= length; addRegion(0, document.getLength());
public synchronized void documentChanged(DocumentEvent event) { if (document == null) { return; } repairLines(event.fOffset); TextChangedEvent changeEvent = new TextChangedEvent(this); for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) { TextChangeListener element = (TextChangeListener) iter.next(); element.textChanged(changeEvent); } }
@Override protected void internalRevealRange(int start, int end) { StyledText textWidget = getTextWidget(); int startLine = documentAdapter.getLineAtOffset(start); int endLine = documentAdapter.getLineAtOffset(end);
public synchronized void documentAboutToBeChanged(DocumentEvent event) { if (document == null) { return; } TextChangingEvent changeEvent = new TextChangingEvent(this); changeEvent.start = event.fOffset; changeEvent.newText = (event.fText == null ? "" : event.fText); //$NON-NLS-1$ changeEvent.replaceCharCount = event.fLength; changeEvent.newCharCount = (event.fText == null ? 0 : event.fText.length()); int first = getLineAtOffset(event.fOffset); int lOffset = Math.max(event.fOffset + event.fLength - 1, 0); int last = getLineAtOffset(lOffset); changeEvent.replaceLineCount = Math.max(last - first, 0); int newLineCount = countNewLines(event.fText); changeEvent.newLineCount = newLineCount >= 0 ? newLineCount : 0; if (changeEvent.newLineCount > offsets.length-regionCount) { growRegionArray(changeEvent.newLineCount); } for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) { TextChangeListener element = (TextChangeListener) iter.next(); element.textChanging(changeEvent); } }
int docLine = document.getLineOfOffset(eventOffset); int docLineOffset = document.getLineOffset(docLine); int widgetLine = getLineAtOffset(docLineOffset); addRegion(offset, 0); } else { while (length > 0) { addRegion(offset, consoleWidth); offset += consoleWidth; length -= consoleWidth; } else { addRegion(offset, length); offset += length; length -= length; addRegion(0, document.getLength());
/** * sets consoleWidth, repairs line information, then fires event to the viewer text widget. * @param width The console's width */ public void setWidth(int width) { if (width != consoleWidth) { consoleWidth = width; repairLines(0); TextChangedEvent changeEvent = new TextChangedEvent(this); for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) { TextChangeListener element = (TextChangeListener) iter.next(); element.textSet(changeEvent); } } } }
protected void internalRevealRange(int start, int end) { StyledText textWidget = getTextWidget(); int startLine = documentAdapter.getLineAtOffset(start); int endLine = documentAdapter.getLineAtOffset(end);
public void setDocument(IDocument doc) { if (document != null) { document.removeDocumentListener(this); } document = doc; if (document != null) { document.addDocumentListener(this); repairLines(0); } }
@Override public void run() { if (documentAdapter != null) { documentAdapter.setWidth(consoleWidth); } } });
@Override protected IDocumentAdapter createDocumentAdapter() { if (documentAdapter == null) { documentAdapter = new ConsoleDocumentAdapter(consoleWidth = -1); } return documentAdapter; }
private void addRegion(int offset, int length) { if (regionCount == 0) { offsets[0] = offset; lengths[0] = length; } else { if (regionCount == offsets.length) { growRegionArray(regionCount * 2); } offsets[regionCount] = offset; lengths[regionCount] = length; } regionCount++; }
@Override public void setDocument(IDocument doc) { if (document != null) { document.removeDocumentListener(this); } document = doc; if (document != null) { document.addDocumentListener(this); repairLines(0); } }
@Override public synchronized void documentChanged(DocumentEvent event) { if (document == null) { return; } repairLines(event.fOffset); TextChangedEvent changeEvent = new TextChangedEvent(this); for (TextChangeListener listener : textChangeListeners) { listener.textChanged(changeEvent); } }
/** * sets consoleWidth, repairs line information, then fires event to the viewer text widget. * @param width The console's width */ public void setWidth(int width) { if (width != consoleWidth) { consoleWidth = width; repairLines(0); TextChangedEvent changeEvent = new TextChangedEvent(this); for (TextChangeListener listener : textChangeListeners) { listener.textSet(changeEvent); } } } }