summaryrefslogtreecommitdiff
path: root/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CCNewProjectPanel.java
blob: 83a3458576b6c84e56e0cff657b45229b0279973 (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
56
57
58
59
package org.jetbrains.plugins.coursecreator.ui;

import com.intellij.facet.ui.FacetValidatorsManager;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.DocumentAdapter;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;
import javax.swing.event.DocumentEvent;

public class CCNewProjectPanel {
  private JPanel myPanel;
  private JTextArea myDescription;
  private JTextField myName;
  private JTextField myAuthorField;
  private FacetValidatorsManager myValidationManager;


  public CCNewProjectPanel() {
    final String userName = System.getProperty("user.name");
    if (userName != null) {
      myAuthorField.setText(userName);
    }
    myName.getDocument().addDocumentListener(new MyValidator());
    myDescription.getDocument().addDocumentListener(new MyValidator());
    myAuthorField.getDocument().addDocumentListener(new MyValidator());
  }

  public JPanel getMainPanel() {
    return myPanel;
  }

  @NotNull
  public String getName() {
    return StringUtil.notNullize(myName.getText());
  }

  @NotNull
  public String getDescription() {
    return StringUtil.notNullize(myDescription.getText());
  }

  @NotNull
  public String getAuthor() {
    return StringUtil.notNullize(myAuthorField.getText());
  }

  public void registerValidators(FacetValidatorsManager manager) {
    myValidationManager = manager;
  }

  private class MyValidator extends DocumentAdapter {

    @Override
    protected void textChanged(DocumentEvent e) {
      myValidationManager.validate();
    }
  }
}