public int getCaretOffset() { StructuredTextViewer stv = fTextEditor.getTextViewer(); if ((stv != null) && (stv.getTextWidget() != null) && !stv.getTextWidget().isDisposed()) { return stv.widgetOffset2ModelOffset(stv.getTextWidget().getCaretOffset()); } return 0; }
private void setBackgroundColor() { IPreferenceStore store = EditorsPlugin.getDefault().getPreferenceStore(); fSourceViewer.getTextWidget().setBackground(getBackgroundColor(store)); if (fPropertyChangeListener == null) { fPropertyChangeListener = new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { IPreferenceStore store = EditorsPlugin.getDefault().getPreferenceStore(); String prop = event.getProperty(); if (prop.equals(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT) || prop.equals(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND)) { if (fSourceViewer == null || fSourceViewer.getTextWidget() == null || fSourceViewer.getTextWidget().isDisposed()) { return; } fSourceViewer.getTextWidget().setBackground(getBackgroundColor(store)); } } }; store.addPropertyChangeListener(fPropertyChangeListener); } }