Package krasa.formatter

Source Code of krasa.formatter.QuickChangeCodeFormatterAction

package krasa.formatter;

import com.intellij.ide.actions.QuickSwitchSchemeAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.Project;
import krasa.formatter.plugin.ProjectSettingsComponent;
import krasa.formatter.settings.Settings;

/**
* @author Vojtech Krasa
*/
public class QuickChangeCodeFormatterAction extends QuickSwitchSchemeAction {

    protected void fillActions(final Project project, DefaultActionGroup group, DataContext dataContext) {
        Settings.Formatter formatter = ProjectSettingsComponent.getInstance(project).getState().getFormatter();
        for (final Settings.Formatter lf : Settings.Formatter.values()) {
            group.add(new DumbAwareAction(lf.name(), "", lf == formatter ? ourCurrentAction : ourNotCurrentAction) {
                public void actionPerformed(AnActionEvent e) {
                    changeFormatter(project, lf);
                }
            });
        }
    }

    private void changeFormatter(Project project, Settings.Formatter lf) {
        ProjectSettingsComponent instance = ProjectSettingsComponent.getInstance(project);
        final Settings state = instance.getState();
        state.setFormatter(lf);
        instance.loadState(state);
    }

    protected boolean isEnabled() {
        return true;
    }
}
TOP

Related Classes of krasa.formatter.QuickChangeCodeFormatterAction

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.