Package gr.intellij.plugin

Source Code of gr.intellij.plugin.SortAction

package gr.intellij.plugin;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataKeys;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.UndoConfirmationPolicy;
import com.intellij.openapi.editor.Editor;

/**
* The sort action.
*
* @author Manos Papantonakos
* @version 1.0
* @since 06/2012
*/
public abstract class SortAction extends AnAction {
    public void actionPerformed(AnActionEvent e) {

        final Editor editor = DataKeys.EDITOR.getData(e.getDataContext());
        if (editor == null) {
            return;
        }
        final String newText = sort(editor.getSelectionModel().getSelectedText());
        if (newText == null) {
            return;
        }
        final int start = editor.getSelectionModel().getSelectionStart();
        final int end = editor.getSelectionModel().getSelectionEnd();

//        ApplicationManager.getApplication().runWriteAction( new Runnable() {
//            @Override
//            public void run() {
//                editor.getDocument().replaceString(start, end, newText);
//            }});
        CommandProcessor.getInstance().executeCommand(editor.getProject(), new Runnable() {
            @Override
            public void run() {
                ApplicationManager.getApplication().runWriteAction( new Runnable() {
                    @Override
                    public void run() {
                        editor.getDocument().replaceString(start, end, newText);
                    }});
            }
        }, "", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
    }

    protected abstract String sort(final String selectedText);
}
TOP

Related Classes of gr.intellij.plugin.SortAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.