类org.eclipse.jface.text.TextEvent源码实例Demo

下面列出了怎么用org.eclipse.jface.text.TextEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: dsl-devkit   文件: FixedXtextSourceViewer.java
/**
 * 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);
    }
  }
}
 
public void textChanged(TextEvent event) {

			fCachedRedrawState= event.getViewerRedrawState();
			if (!fCachedRedrawState)
				return;

			if (updateNumberOfDigits()) {
				computeIndentations();
				layout(event.getViewerRedrawState());
				return;
			}

			boolean viewerCompletelyShown= isViewerEntirelyShown();
			if (viewerCompletelyShown || fSensitiveToTextChanges || event.getDocumentEvent() == null)
				doPostRedraw();
			fSensitiveToTextChanges= viewerCompletelyShown;
		}
 
/**
 * Computes the change abstraction given a text event.
 *
 * @param event the text event to analyze
 * @return a change object describing the event
 */
private Change computeChange(TextEvent event) {
	DocumentEvent e= event.getDocumentEvent();
	if (e == null)
		return new Change(TypingRun.NO_CHANGE, -1);

	int start= e.getOffset();
	int end= e.getOffset() + e.getLength();
	String newText= e.getText();
	if (newText == null)
		newText= new String();

	if (start == end) {
		// no replace / delete / overwrite
		if (newText.length() == 1)
			return new Change(TypingRun.INSERT, end + 1);
	} else if (start == end - 1) {
		if (newText.length() == 1)
			return new Change(TypingRun.OVERTYPE, end);
		if (newText.length() == 0)
			return new Change(TypingRun.DELETE, start);
	}

	return new Change(TypingRun.UNKNOWN, -1);
}
 
源代码4 项目: n4js   文件: WizardPreviewProvider.java
private void configureSourceViewer(SourceViewer viewer) {
	viewer.setEditable(false);

	viewer.addTextListener(new ITextListener() {
		@Override
		public void textChanged(TextEvent event) {
			updateHighlighting();
			sourceViewer.getTextWidget().setFont(editorFont);
		}
	});

}
 
源代码5 项目: tm4e   文件: TMPresentationReconciler.java
/**
 * Translates the given text event into the corresponding range of the viewer's
 * document.
 *
 * @param e
 *            the text event
 * @return the widget region corresponding the region of the given event or
 *         <code>null</code> if none
 * @since 2.1
 */
private IRegion widgetRegion2ModelRegion(TextEvent e) {
	String text = e.getText();
	int length = text == null ? 0 : text.length();
	if (viewer instanceof ITextViewerExtension5) {
		ITextViewerExtension5 extension = (ITextViewerExtension5) viewer;
		return extension.widgetRange2ModelRange(new Region(e.getOffset(), length));
	}
	IRegion visible = viewer.getVisibleRegion();
	return new Region(e.getOffset() + visible.getOffset(), length);
}
 
@Override
public void textChanged(TextEvent event) {
	if (event.getDocumentEvent() != null) {
		return;
	}

	String command = "viewer.invalidateTextPresentation(" + event.getOffset() + ", " + event.getLength() + ");";
	write("\t\t" + command, true);

	//commands.add(new Command(command));

}
 
源代码7 项目: xds-ide   文件: BookmarkRulerColumn.java
public void textChanged(TextEvent event) {

            fCachedRedrawState= event.getViewerRedrawState();
            if (!fCachedRedrawState)
                return;

            postRedraw();
        }
 
源代码8 项目: typescript.java   文件: RenameInformationPopup.java
@Override
public void textChanged(TextEvent event) {
	if (!event.getViewerRedrawState())
		return;
	updatePopupLocation(false);
	updateVisibility(); //only for hiding outside editor area
}
 
源代码9 项目: Pydev   文件: CopiedOverviewRuler.java
@Override
public void textChanged(TextEvent e) {
    if (fTextViewer != null && e.getDocumentEvent() == null && e.getViewerRedrawState()) {
        // handle only changes of visible document
        redraw();
    }
}
 
源代码10 项目: saros   文件: EditorListener.java
@Override
public void textChanged(TextEvent event) {

  String text = event.getText();
  String replaced = event.getReplacedText();
  if ((text != null && text.indexOf('\n') != -1)
      || (replaced != null && replaced.indexOf('\n') != -1)) {
    generateViewport();
  }
}
 
源代码11 项目: bonita-studio   文件: PatternExpressionViewer.java
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();
}
 
源代码12 项目: uima-uimaj   文件: XMLEditor.java
@Override
public void textChanged(TextEvent event) {
  if (!m_bIgnoreTextEvent) {
    editor.sourceChanged = true;
    editor.setFileDirty();
  }
}
 
源代码13 项目: tm4e   文件: TMPresentationReconciler.java
@Override
public void textChanged(TextEvent e) {
	if (!e.getViewerRedrawState()) {
		return;
	}
	// changed text: propagate previous style, which will be overridden
	// later asynchronously by TM
	if (e.getDocumentEvent() != null) {
		int diff = e.getText().length() - e.getLength();
		if (diff == 0 || e.getOffset() <= 0) {
			return;
		}
		StyleRange range = viewer.getTextWidget().getStyleRangeAtOffset(e.getOffset() - 1);
		if (range == null) {
			return;
		}
		range.length = Math.max(0, range.length + diff);
		viewer.getTextWidget().setStyleRange(range);
		return;
	}

	// TextViewer#invalidateTextPresentation is called (because
	// of validation, folding, etc)
	// case 2), do the colorization.
	IDocument document = viewer.getDocument();
	if (document == null) {
		return;
	}
	IRegion region = computeRegionToRedraw(e, document);
	if (enabled) {
		// case where there is grammar & theme -> update text presentation with the
		// grammar tokens
		ITMModel model = getTMModelManager().connect(document);
		if (model == null) {
			return;
		}
		try {
			TMPresentationReconciler.this.colorize(region, (TMDocumentModel) model);
		} catch (BadLocationException e1) {
			TMUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TMUIPlugin.PLUGIN_ID, e1.getMessage(), e1));
		}
	} else {
		// case where there is no grammar & theme -> update text presentation with the
		// default styles (ex: to support highlighting with GenericEditor)
		TextPresentation presentation = new TextPresentation(region, 100);
		presentation.setDefaultStyleRange(
				new StyleRange(region.getOffset(), region.getLength(), null, null));
		applyTextRegionCollection(presentation);
	}
}
 
源代码14 项目: JAADAS   文件: SootResourceManager.java
public void textChanged(TextEvent e){
}
 
源代码15 项目: tlaplus   文件: DirtyMarkingListener.java
public void textChanged(TextEvent event)
{
    perform();
}
 
public void textChanged(TextEvent event) {
	if (!event.getViewerRedrawState())
		return;
	updatePopupLocation(false);
	updateVisibility(); //only for hiding outside editor area
}
 
public void textChanged(TextEvent event) {
	handleTextChanged(event);
}
 
源代码18 项目: birt   文件: ReportXMLSourceEditorFormPage.java
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( );
				}
			} );
}
 
源代码19 项目: e4macs   文件: WithMinibuffer.java
public void textChanged(TextEvent event) {
	if (event.getDocumentEvent() != null)
		leave(true);
}
 
源代码20 项目: e4macs   文件: UniversalMinibuffer.java
public void textChanged(TextEvent event) {
	// During execution of sub-command, text can change
	if (!isExecuting()) {
		super.textChanged(event);
	}
}
 
源代码21 项目: e4macs   文件: SearchMinibuffer.java
public void textChanged(TextEvent event) {
		if (event.getDocumentEvent() != null) {
//			leave();
		}
	}
 
源代码22 项目: Pydev   文件: OfflineActionTarget.java
@Override
public void textChanged(TextEvent event) {
    if (event.getDocumentEvent() != null)
        leave();
}
 
/**
 * Handles an incoming text event.
 *
 * @param event the text event that describes the text modification
 */
void handleTextChanged(TextEvent event) {
	Change type= computeChange(event);
	handleChange(type);
}
 
 类所在包
 同包方法