summaryrefslogtreecommitdiff
path: root/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/ui/CreateTaskWindowPanel.java
blob: 21a7eb063c638e18416bea511813ee04171ad82c (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package org.jetbrains.plugins.coursecreator.ui;

import com.intellij.ui.DocumentAdapter;

import javax.swing.*;
import javax.swing.event.DocumentEvent;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class CreateTaskWindowPanel extends JPanel {

  private final CreateTaskWindowDialog myDialog;
  private JPanel myPanel;
  private JTextArea myTaskWindowText;
  private JTextField myHintName;
  private JTextArea myHintText;
  private JCheckBox myCreateHintCheckBox;
  private JLabel myHintNameLabel;
  private JLabel myHintTextLabel;
  private String myGeneratedHintName = "";

  public CreateTaskWindowPanel(CreateTaskWindowDialog dialog) {
    super(new BorderLayout());
    add(myPanel, BorderLayout.CENTER);
    myDialog = dialog;
    enableHint(false);
    myCreateHintCheckBox.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent e) {
        int state = e.getStateChange();
        // 1 for checked
        enableHint(state == 1);
        if (state == 2) {
          myDialog.deleteHint();
        }
      }
    });

    myHintName.getDocument().addDocumentListener(new DocumentAdapter() {
      @Override
      protected void textChanged(DocumentEvent e) {
        myDialog.validateInput();
      }
    });
  }

  public void enableHint(boolean isEnable) {
    myHintName.setEnabled(isEnable);
    myHintText.setEnabled(isEnable);
    myHintNameLabel.setEnabled(isEnable);
    myHintTextLabel.setEnabled(isEnable);
    myHintName.setText(myGeneratedHintName);
  }

  public void setTaskWindowText(String taskWindowText) {
    myTaskWindowText.setText(taskWindowText);
  }

  public void setHintName(String hintName) {
    myHintName.setText(hintName);
  }

  public void setHintText(String hintText) {
    myHintText.setText(hintText);
  }

  public String getTaskWindowText() {
    return myTaskWindowText.getText();
  }

  public String getHintName() {
    return myHintName.getText();
  }

  public String getHintText() {
    return myHintText.getText();
  }

  public boolean createHint() {
    return myHintName.isEnabled();
  }

  public void doClick() {
    myCreateHintCheckBox.doClick();
  }

  public void resetHint() {
    myHintName.setText("");
    myHintText.setText("");
  }

  public void setGeneratedHintName(String generatedHintName) {
    myGeneratedHintName = generatedHintName;
  }
}