Search in sources :

Example 1 with EditorWithAutoSave

use of org.eclipse.che.ide.api.editor.EditorWithAutoSave in project che by eclipse.

the class SaveAllAction method updateProjectAction.

/** {@inheritDoc} */
@Override
public void updateProjectAction(ActionEvent e) {
    boolean hasDirtyEditor = false;
    for (EditorPartPresenter editor : editorAgent.getOpenedEditors()) {
        if (editor instanceof EditorWithAutoSave) {
            if (((EditorWithAutoSave) editor).isAutoSaveEnabled()) {
                continue;
            }
        }
        if (editor.isDirty()) {
            hasDirtyEditor = true;
            break;
        }
    }
    e.getPresentation().setEnabledAndVisible(hasDirtyEditor);
}
Also used : EditorWithAutoSave(org.eclipse.che.ide.api.editor.EditorWithAutoSave) EditorPartPresenter(org.eclipse.che.ide.api.editor.EditorPartPresenter)

Example 2 with EditorWithAutoSave

use of org.eclipse.che.ide.api.editor.EditorWithAutoSave in project che by eclipse.

the class SaveAction method updateProjectAction.

@Override
public void updateProjectAction(ActionEvent e) {
    EditorPartPresenter editor = editorAgent.getActiveEditor();
    if (editor != null) {
        if (editor instanceof EditorWithAutoSave) {
            if (((EditorWithAutoSave) editor).isAutoSaveEnabled()) {
                e.getPresentation().setEnabledAndVisible(false);
                return;
            }
        }
        e.getPresentation().setVisible(true);
        e.getPresentation().setEnabled(editor.isDirty());
    } else {
        e.getPresentation().setEnabledAndVisible(false);
    }
}
Also used : EditorWithAutoSave(org.eclipse.che.ide.api.editor.EditorWithAutoSave) EditorPartPresenter(org.eclipse.che.ide.api.editor.EditorPartPresenter)

Example 3 with EditorWithAutoSave

use of org.eclipse.che.ide.api.editor.EditorWithAutoSave in project che by eclipse.

the class JavaRefactoringRename method activateLinkedModeIntoEditor.

private void activateLinkedModeIntoEditor(final RenameRefactoringSession session, final Document document) {
    mode = linkedEditor.getLinkedMode();
    LinkedModel model = linkedEditor.createLinkedModel();
    LinkedModeModel linkedModeModel = session.getLinkedModeModel();
    List<LinkedModelGroup> groups = new ArrayList<>();
    for (LinkedPositionGroup positionGroup : linkedModeModel.getGroups()) {
        LinkedModelGroup group = linkedEditor.createLinkedGroup();
        LinkedData data = positionGroup.getData();
        if (data != null) {
            LinkedModelData modelData = linkedEditor.createLinkedModelData();
            modelData.setType("link");
            modelData.setValues(data.getValues());
            group.setData(modelData);
        }
        List<Position> positions = new ArrayList<>();
        for (Region region : positionGroup.getPositions()) {
            positions.add(new Position(region.getOffset(), region.getLength()));
        }
        group.setPositions(positions);
        groups.add(group);
    }
    model.setGroups(groups);
    disableAutoSave();
    mode.enterLinkedMode(model);
    mode.addListener(new LinkedMode.LinkedModeListener() {

        @Override
        public void onLinkedModeExited(boolean successful, int start, int end) {
            boolean isSuccessful = false;
            try {
                if (successful) {
                    isSuccessful = true;
                    newName = document.getContentRange(start, end - start);
                    performRename(session);
                }
            } finally {
                mode.removeListener(this);
                isActiveLinkedEditor = false;
                if (!isSuccessful && linkedEditor instanceof EditorWithAutoSave) {
                    ((EditorWithAutoSave) linkedEditor).enableAutoSave();
                }
            }
        }
    });
}
Also used : LinkedModel(org.eclipse.che.ide.api.editor.link.LinkedModel) Position(org.eclipse.che.ide.api.editor.text.Position) HasLinkedMode(org.eclipse.che.ide.api.editor.link.HasLinkedMode) LinkedMode(org.eclipse.che.ide.api.editor.link.LinkedMode) ArrayList(java.util.ArrayList) LinkedModeModel(org.eclipse.che.ide.ext.java.shared.dto.LinkedModeModel) LinkedModelGroup(org.eclipse.che.ide.api.editor.link.LinkedModelGroup) LinkedPositionGroup(org.eclipse.che.ide.ext.java.shared.dto.LinkedPositionGroup) EditorWithAutoSave(org.eclipse.che.ide.api.editor.EditorWithAutoSave) LinkedData(org.eclipse.che.ide.ext.java.shared.dto.LinkedData) Region(org.eclipse.che.ide.ext.java.shared.dto.Region) LinkedModelData(org.eclipse.che.ide.api.editor.link.LinkedModelData)

Aggregations

EditorWithAutoSave (org.eclipse.che.ide.api.editor.EditorWithAutoSave)3 EditorPartPresenter (org.eclipse.che.ide.api.editor.EditorPartPresenter)2 ArrayList (java.util.ArrayList)1 HasLinkedMode (org.eclipse.che.ide.api.editor.link.HasLinkedMode)1 LinkedMode (org.eclipse.che.ide.api.editor.link.LinkedMode)1 LinkedModel (org.eclipse.che.ide.api.editor.link.LinkedModel)1 LinkedModelData (org.eclipse.che.ide.api.editor.link.LinkedModelData)1 LinkedModelGroup (org.eclipse.che.ide.api.editor.link.LinkedModelGroup)1 Position (org.eclipse.che.ide.api.editor.text.Position)1 LinkedData (org.eclipse.che.ide.ext.java.shared.dto.LinkedData)1 LinkedModeModel (org.eclipse.che.ide.ext.java.shared.dto.LinkedModeModel)1 LinkedPositionGroup (org.eclipse.che.ide.ext.java.shared.dto.LinkedPositionGroup)1 Region (org.eclipse.che.ide.ext.java.shared.dto.Region)1