Add api to provide tweeting in educational plugins
[idea/community.git] / python / educational-python / student-python / src / com / jetbrains / edu / learning / PyStudyPluginConfigurator.java
1 package com.jetbrains.edu.learning;
2
3 import com.intellij.openapi.actionSystem.DefaultActionGroup;
4 import com.intellij.openapi.project.Project;
5 import com.jetbrains.edu.learning.courseFormat.Course;
6 import com.jetbrains.edu.learning.settings.ModifiableSettingsPanel;
7 import org.jetbrains.annotations.NotNull;
8 import org.jetbrains.annotations.Nullable;
9
10 public class PyStudyPluginConfigurator extends StudyBasePluginConfigurator {
11   
12   @NotNull
13   @Override
14   public DefaultActionGroup getActionGroup(Project project) {
15     final DefaultActionGroup baseGroup = super.getActionGroup(project);
16     final DefaultActionGroup group = new DefaultActionGroup();
17     group.add(new PyStudyCheckAction());
18     group.addAll(baseGroup);
19     return group;
20   }
21
22   @NotNull
23   @Override
24   public String getDefaultHighlightingMode() {
25     return "python";
26   }
27
28   @NotNull
29   @Override
30   public String getLanguageScriptUrl() {
31     return getClass().getResource("/python.js").toExternalForm();
32   }
33
34   @Override
35   public boolean accept(@NotNull Project project) {
36     StudyTaskManager taskManager = StudyTaskManager.getInstance(project);
37     if (taskManager == null) return false;
38     Course course = taskManager.getCourse();
39     return course != null && "Python".equals(course.getLanguage()) && "PyCharm".equals(course.getCourseType());
40   }
41
42   @Nullable
43   @Override
44   public ModifiableSettingsPanel getSettingsPanel() {
45     return null;
46   }
47 }