下面列出了怎么用org.eclipse.jface.text.ITextListener的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Informs all registered text listeners about the change specified by the
* widget command. This method does not use a robust iterator.
*
* @param cmd
* the widget command translated into a text event sent to all text listeners
*/
@Override
protected void updateTextListeners(final WidgetCommand cmd) {
List<ITextListener> textListeners = fTextListeners;
if (textListeners != null) {
textListeners = new ArrayList<ITextListener>(textListeners);
DocumentEvent event = cmd.event;
if (event instanceof SlaveDocumentEvent) {
event = ((SlaveDocumentEvent) event).getMasterEvent();
}
TextEvent e = new TextEvent(cmd.start, cmd.length, cmd.text, cmd.preservedText, event, redraws()) {};
for (int i = 0; i < textListeners.size(); i++) {
ITextListener l = textListeners.get(i);
l.textChanged(e);
}
}
}
private void configureSourceViewer(SourceViewer viewer) {
viewer.setEditable(false);
viewer.addTextListener(new ITextListener() {
@Override
public void textChanged(TextEvent event) {
updateHighlighting();
sourceViewer.getTextWidget().setFont(editorFont);
}
});
}
protected void createTextViewer() {
viewer = createViewer(mc);
viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
configureTextViewer();
addLineStyleListener();
helpDecoration = new ControlDecoration(viewer.getControl(), SWT.TOP | SWT.RIGHT, this);
helpDecoration.setImage(JFaceResources.getImage(Dialog.DLG_IMG_HELP));
helpDecoration.setDescriptionText(Messages.patternViewerHint);
helpDecoration.setMarginWidth(2);
helpDecoration.hide();
hintDecoration = new ControlDecoration(viewer.getControl(), SWT.TOP | SWT.LEFT, this);
hintDecoration.setImage(Pics.getImage(PicsConstants.hint));
hintDecoration.setMarginWidth(2);
hintDecoration.setShowHover(true);
hintDecoration.setShowOnlyOnFocus(true);
hintDecoration.hide();
viewer.addTextListener(new ITextListener() {
@Override
public void textChanged(final TextEvent event) {
viewer.getTextWidget().notifyListeners(SWT.Modify, new Event());
}
});
helpDecoration.show();
}
@Override
public void addTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void addTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void addTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void addTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeTextListener(ITextListener listener) {
throw new UnsupportedOperationException();
}
public void addTextListener(ITextListener listener) {
originalTextViewer.addTextListener(listener);
}
public void removeTextListener(ITextListener listener) {
originalTextViewer.removeTextListener(listener);
}
public void createPartControl( Composite parent )
{
reportXMLEditor.createPartControl( parent );
Control[] children = parent.getChildren( );
control = children[children.length - 1];
ModuleHandle model = getModel( );
// suport the mediator
SessionHandleAdapter.getInstance( )
.getMediator( model )
.addColleague( this );
// Add Command Stack Listener
if ( model != null && model.getCommandStack( ) != null )
{
getCommandStack( model ).addCommandStackListener( getCommandStackListener( ) );
hookModelEventManager( model );
}
reportXMLEditor.getTextViewer( ).addTextListener( new ITextListener( ) {
public void textChanged( TextEvent event )
{
if ( !isTextModified( ) && event.getOffset( ) != 0 )
{
markDirty( );
}
}
} );
reportXMLEditor.getTextViewer( )
.getTextWidget( )
.addModifyListener( new ModifyListener( ) {
public void modifyText( ModifyEvent e )
{
markDirty( );
}
} );
}
@Override
public void addTextListener(ITextListener listener) {
viewer.addTextListener(listener);
}
@Override
public void removeTextListener(ITextListener listener) {
viewer.removeTextListener(listener);
}