1 /***
2 * Created on Jan 6, 2006, Copyright UC Regents
3 */
4 package org.telscenter.pas.steps.quickEditors.qti.assessment;
5
6 import java.awt.event.FocusListener;
7 import java.util.ArrayList;
8 import java.util.List;
9
10 import javax.swing.JPanel;
11 import javax.swing.JScrollPane;
12
13 import org.telscenter.pas.steps.JaxbQtiStep;
14 import org.telscenter.pas.steps.domain.ResponseDeclaration;
15 import org.telscenter.pas.steps.quickEditors.IQuickEditorControllable;
16
17 import com.jgoodies.binding.beans.BeanAdapter;
18
19 /***
20 * @author aperritano
21 *
22 */
23 public class ChallengeQuestionQuickEditorUI extends AssessmentQuickEditorUI implements IQuickEditorControllable, FocusListener {
24
25 //private AssessmentItem assessmentItem = null;
26 private InteractionCardContainerUI interactionCardContainerUI;
27
28 private BeanAdapter beanAdapter;
29
30 private List<ResponseDeclaration> responseDeclarations = new ArrayList<ResponseDeclaration>();
31 private JScrollPane listScroller;
32
33 //private Random generator = new Random( 19580427 );
34 private JPanel buttonPanel;
35 private JaxbQtiStep assmtBean;
36
37 /***
38 * @param assessmentBean
39 */
40 public ChallengeQuestionQuickEditorUI(JaxbQtiStep assessmentBean) {
41 super(assessmentBean);
42 // TODO Auto-generated constructor stub
43 }
44
45 // /***
46 // * @param assmtBean
47 // * @param note
48 // */
49 // public ChallengeQuestionQuickEditorUI(ChallengeQuestion cqBean) {
50 // super(cqBean);
51 //// this.assmtBean = cqBean;
52 //// assessmentItem = assmtBean.getAssessmentItem();
53 // // this.init();
54 // }
55 //
56 //
57 ///* (non-Javadoc)
58 // * @see org.telscenter.pas.steps.quickEditors.qti.assessment.QTIAssessmentQuickEditorUI#createButtonPanel()
59 // */
60 //@Override
61 //protected JPanel createButtonPanel() {
62 // // TODO Auto-generated method stub
63 // return null;
64 //}
65 //
66 // public static void main(String[] args){
67 // JFrame frame = new JFrame("note quick editor test");
68 //
69 // Container contentPane = frame.getContentPane();
70 // JButton showButton = new JButton("show ui");
71 //
72 // showButton.addActionListener(new ActionListener() {
73 //
74 // public void actionPerformed(ActionEvent e){
75 //
76 // JFrame frame = new JFrame("note quick editor test");
77 //
78 // Container contentPane = frame.getContentPane();
79 //
80 //
81 // ChallengeQuestion cqStep = new ChallengeQuestion();
82 // cqStep.setMaxAttempts(4);
83 // //cqStep.setGotoStep(webStep);
84 // Vector<Integer> scores = new Vector<Integer>();
85 // scores.add(new Integer(5));
86 // scores.add(new Integer(4));
87 // scores.add(new Integer(2));
88 // scores.add(new Integer(1));
89 // cqStep.setScores(scores);
90 // AssessmentItem assessmentItem = new AssessmentItem();
91 // cqStep.setAssessmentItem(assessmentItem);
92 //
93 // HashMap<String, FeedbackModal> modalFeedbacks = new HashMap<String, FeedbackModal>();
94 // // key is modal feedback identifer: firstAttempt, ..., choice 1, ...
95 // modalFeedbacks.put("1", new FeedbackModal("FEEDBACK", true,
96 // "firstAttempt", "First attempt feedback",
97 // "Click the link below to re-review Evidence. Then return to this Challenge Question for a second try."));
98 // modalFeedbacks.put("2", new FeedbackModal("FEEDBACK", true,
99 // "secondAttempt", "second attempt feedback",
100 // "Click the link below to re-review Evidence. Make sure to read carefully. Then return to this Challenge Question for a third try."));
101 // modalFeedbacks.put("3", new FeedbackModal("FEEDBACK", true,
102 // "thirdAttempt", "third attempt feedback",
103 // "Click the link below OR click the button to immediately have a 4th and final try."));
104 // modalFeedbacks.put("4", new FeedbackModal("FEEDBACK", true,
105 // "fourthAttempt", "fourth attempt feedback",
106 // "Sorry, you're out of tries. Move on to the next Step."));
107 // modalFeedbacks.put("choice 1", new FeedbackModal("FEEDBACK", true,
108 // "choice 1", "Correct modal feedback", "Goldilocks would have liked the Greenhouse Effect. It keeps the Earth from getting too cold or too hot. We humans like it just right!"));
109 // assessmentItem.setModalFeedbacks(modalFeedbacks);
110 //
111 // ItemBody itemBody1 = new ItemBody();
112 // assessmentItem.setItemBody(itemBody1);
113 // // collect the interactions and responseDeclarations
114 // ArrayList<BlockInteraction> interactions1 = new ArrayList<BlockInteraction>();
115 //
116 //
117 // itemBody1.setInteractions(interactions1);
118 // ArrayList<ResponseDeclaration> responseDeclarations1 = new ArrayList<ResponseDeclaration>();
119 // assessmentItem.setResponseDeclarations(responseDeclarations1);
120 //
121 // // BlockInteraction
122 // FeedbackInline feedback1 = new FeedbackInline("choice 1",
123 // "Correct!");
124 // SimpleChoice<String> sc11 = new SimpleChoice<String>("choice 1", "to keep Earth at a temperature comfortable for life", feedback1);
125 //
126 // FeedbackInline feedback2 = new FeedbackInline("choice 2",
127 // "Sorry.");
128 // SimpleChoice<String> sc21 = new SimpleChoice<String>("choice 2", "to keep the atmosphere from floating away", feedback2);
129 //
130 // FeedbackInline feedback3 = new FeedbackInline("choice 3",
131 // "Afraid not.");
132 // SimpleChoice<String> sc31 = new SimpleChoice<String>("choice 3", "to grow plants indoors", feedback3);
133 //
134 // FeedbackInline feedback4 = new FeedbackInline("choice 4",
135 // "Try again. The \"ozone layer\" blocks ultraviolet radiation. The Greenhouse Effect does something different.");
136 // SimpleChoice<String> sc41 = new SimpleChoice<String>("choice 4", "to keep out ultraviolet radiation", feedback4);
137 //
138 // FeedbackInline feedback5 = new FeedbackInline("choice 5",
139 // "Try again. Al Gore is an important part of the political movement to address global climate change.");
140 // SimpleChoice<String> sc51 = new SimpleChoice<String>("choice 5", "to give Al Gore something to talk about", feedback5);
141 //
142 // /* ExtendedTextInteraction eti = new ExtendedTextInteraction();
143 // eti.setPrompt("<html><body>what?</body></html>");
144 // eti.setPlaceholderText("I'm just sayin");
145 // eti.setResponseIdentifier("noteItem1");
146 // eti.setExpectedLines(6);
147 // interactions1.add(eti);*/
148 //
149 // ChoiceInteraction<String> ci1 = new ChoiceInteraction<String>();
150 // ci1.setResponseIdentifier("cqItem1");
151 // ci1.addSimpleChoice(sc11);
152 // ci1.addSimpleChoice(sc21);
153 // ci1.addSimpleChoice(sc31);
154 // ci1.addSimpleChoice(sc41);
155 // ci1.addSimpleChoice(sc51);
156 // ci1.setPrompt("<html><body>The main purpose of the Greenhouse Effect is...</body></html>");
157 // ci1.setMaxChoices(1);
158 // interactions1.add(ci1);
159 //
160 // ResponseDeclaration rd1 = new ResponseDeclaration();
161 // rd1.setIdentifier("cqItem1");
162 // rd1.addCorrectResponse("choice 1");
163 // Rim<String> rim1 = new Rim<String>();
164 // rim1.setName("cq1RIM");
165 // rim1.setShape(String.class);
166 //
167 //
168 // rd1.setRim(rim1);
169 //
170 // responseDeclarations1.add(rd1);
171 //
172 // ChallengeQuestionQuickEditorUI cqUI = new ChallengeQuestionQuickEditorUI(cqStep);
173 // cqUI.setAssessmentItem(cqUI.getAssessmentItem());
174 // contentPane.add(cqUI);
175 // frame.setSize(cqUI.getPreferredSize());
176 // frame.setVisible(true);
177 // }
178 //
179 // });
180 // contentPane.add(showButton);
181 //
182 // frame.setSize(200, 200);
183 // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
184 // frame.setVisible(true);
185 // }
186 //
187 //
188 // /*
189 // * (non-Javadoc)
190 // *
191 // * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
192 // */
193 // public void focusGained(FocusEvent e) {
194 // // TODO Auto-generated method stub
195 // System.out.println("QTIAssessmentQuickEditorUI.focusGained()");
196 // }
197 //
198 // /*
199 // * (non-Javadoc)
200 // *
201 // * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
202 // */
203 // public void focusLost(FocusEvent e) {
204 // // fire`
205 // System.out.println("QTIAssessmentQuickEditorUI.focusLost()");
206 //
207 // }
208 //
209 // /* (non-Javadoc)
210 // * @see org.telscenter.pas.steps.quickEditors.IQuickEditorControllable#getControllPanel()
211 // */
212 // public JPanel getControllPanel() {
213 // return buttonPanel;
214 // }
215
216
217
218
219
220
221
222
223
224
225
226
227 }