summaryrefslogtreecommitdiff
path: root/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryType.java
blob: eefab9065addce8c5fabafd5093b55141a02f1e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package org.jetbrains.plugins.github.tasks;

import com.intellij.openapi.project.Project;
import com.intellij.tasks.TaskRepository;
import com.intellij.tasks.TaskState;
import com.intellij.tasks.config.TaskRepositoryEditor;
import com.intellij.tasks.impl.BaseRepositoryType;
import com.intellij.util.Consumer;
import icons.TasksIcons;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;
import java.util.EnumSet;

/**
 * @author Dennis.Ushakov
 */
public class GithubRepositoryType extends BaseRepositoryType<GithubRepository> {

  @NotNull
  @Override
  public String getName() {
    return "GitHub";
  }

  @NotNull
  @Override
  public Icon getIcon() {
    return TasksIcons.Github;
  }

  @NotNull
  @Override
  public TaskRepository createRepository() {
    return new GithubRepository(this);
  }

  @Override
  public Class<GithubRepository> getRepositoryClass() {
    return GithubRepository.class;
  }

  @NotNull
  @Override
  public TaskRepositoryEditor createEditor(GithubRepository repository,
                                           Project project,
                                           Consumer<GithubRepository> changeListener) {
    return new GithubRepositoryEditor(project, repository, changeListener);
  }

  public EnumSet<TaskState> getPossibleTaskStates() {
    return EnumSet.of(TaskState.OPEN, TaskState.RESOLVED);
  }

}