Package com.jetbrains.lang.dart.ide.actions

Source Code of com.jetbrains.lang.dart.ide.actions.CreateDartFileAction

package com.jetbrains.lang.dart.ide.actions;

import com.intellij.ide.actions.CreateFileFromTemplateAction;
import com.intellij.ide.actions.CreateFileFromTemplateDialog;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.WebModuleTypeBase;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.search.FileTypeIndex;
import com.jetbrains.lang.dart.DartBundle;
import com.jetbrains.lang.dart.DartFileType;
import com.jetbrains.lang.dart.sdk.DartSdk;
import icons.DartIcons;

public class CreateDartFileAction extends CreateFileFromTemplateAction {
  public CreateDartFileAction() {
    super(DartBundle.message("dart.file"), DartBundle.message("dart.file"), DartIcons.Dart_file);
  }

  @Override
  protected boolean isAvailable(DataContext dataContext) {
    final Module module = LangDataKeys.MODULE.getData(dataContext);
    return super.isAvailable(dataContext) &&
           module != null &&
           (FileTypeIndex.containsFileOfType(DartFileType.INSTANCE, module.getModuleContentScope()) ||
            DartSdk.getGlobalDartSdk() != null && WebModuleTypeBase.isWebModule(module));
  }

  @Override
  protected String getActionName(PsiDirectory directory, String newName, String templateName) {
    return DartBundle.message("create.dart.file.0", newName);
  }

  @Override
  protected void buildDialog(Project project, PsiDirectory directory, CreateFileFromTemplateDialog.Builder builder) {
    builder
      .setTitle(DartBundle.message("new.dart.file.title"))
      .addKind(DartBundle.message("dart.file"), DartIcons.Dart_file, "Dart File");
  }
}
TOP

Related Classes of com.jetbrains.lang.dart.ide.actions.CreateDartFileAction

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.