Как я становлюсь уведомленным каждый раз, когда новый редактор открыт в Eclipse?

Вы можете использовать AsyncResponseTransformer.toBytes для сохранения ответа в байтовом массиве, а не в файле. Javadoc

5
задан starblue 12 February 2009 в 17:09
поделиться

2 ответа

Делает Ваше использование представления a org.eclipse.ui.IPartListener2 ?

Именно это использует этот EditorListener, задание которого состоит в том, чтобы реагировать, для высказанного мнения, к событиям Editor (включая открытый и близкое)

public class EditorListener implements ISelectionListener, IFileBufferListener,
IPartListener2 {
    protected BytecodeOutlineView view;

    EditorListener(BytecodeOutlineView view){
        this.view = view;
    }

[...] 

    /**
     * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
     */
    public void partOpened(IWorkbenchPartReference partRef) {
        view.handlePartVisible(partRef.getPart(false));
    }

Теперь, если Ваш ViewPart непосредственно реализации IPartListener2, это может зарегистрировать себя к различному Editors, как это BytecodeReferenceView

public class BytecodeReferenceView extends ViewPart implements IPartListener2, ISelectionListener {

    [...]

    public void createPartControl(Composite parent) {
        browser = new Browser(parent, SWT.BORDER);
        browser.setText(BytecodeOutlinePlugin.getResourceString(NLS_PREFIX
            + "empty.selection.text"));
        final IWorkbenchWindow workbenchWindow = getSite().getWorkbenchWindow();
        workbenchWindow.getPartService().addPartListener(this);
    [...]
8
ответ дан 13 December 2019 в 19:36
поделиться

Я думаю, что Вы на правильном пути. Необходимо слушать события IWorkbenchPage IPartService:

page.addPartListener(new IPartListener() {
    partOpened(IWorkbenchPart part) {
        ...
    }

    ...
});
3
ответ дан 13 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: