From: <se...@us...> - 2008-05-10 17:33:47
|
Revision: 125 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=125&view=rev Author: sem62 Date: 2008-05-10 10:33:34 -0700 (Sat, 10 May 2008) Log Message: ----------- * Designed Simple question property dialog * Implement WYSIWYG editor to this dialog * add slashes to parameters of add method when generating html resource Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-10 14:31:01 UTC (rev 124) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-10 17:33:34 UTC (rev 125) @@ -15,16 +15,12 @@ Object[] params = new String[1]; params[0] = captionTextField2.getText(); -// dlg.setModal(false); - htmlEditing = true; textField = captionTextField2; editingDlg = dlg; lockPropertyDlg(); win.call("showEditor", params); - -// dlg.setModal(true); } public String getEditedHTML(){ @@ -50,6 +46,7 @@ return; } textField.setText(newHTML); + editingDlg.editedHtmlTextWasSet(); htmlEditing = false; unlockPropertyDlg(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-10 14:31:01 UTC (rev 124) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-10 17:33:34 UTC (rev 125) @@ -14,7 +14,7 @@ * */ private static final long serialVersionUID = -6002603750731392120L; - + protected void editTextFieldInHtmlEditor(JTextComponent textComponent) { WebEditor.instance.htmlEdit(textComponent, this); } @@ -50,4 +50,7 @@ obj.setModal(true); obj.setVisible(true); } + + public void editedHtmlTextWasSet() { + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 14:31:01 UTC (rev 124) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 17:33:34 UTC (rev 125) @@ -6,6 +6,7 @@ import javax.swing.JButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.table.DefaultTableColumnModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; @@ -33,8 +34,11 @@ private javax.swing.JTextField questionTextField; private javax.swing.JButton editCaptionInHtmlBtn; private javax.swing.JButton editQuestionInHtmlBtn; + private javax.swing.JButton editAnswerVariantInHtmlEditor; private SimpleQuestionAnswersDataModel simpleQuestionAnswersDataModel; + private javax.swing.JTextField currentAnswerVariant; + public SimpleQuestionPropertiestsDlg() { obj = this; @@ -52,6 +56,20 @@ if (arg0.getSource() == editCaptionInHtmlBtn) { editTextFieldInHtmlEditor(captionTextField); } + + if (arg0.getSource() == editAnswerVariantInHtmlEditor) { + int selectedRow = answersTable.getSelectedRow(); + + if (selectedRow < 0){ + return; + } + + String text = answersTable.getModel().getValueAt(selectedRow, 1).toString(); + + currentAnswerVariant.setText(text); + + editTextFieldInHtmlEditor(currentAnswerVariant); + } } @Override @@ -72,9 +90,23 @@ .getAnswers(); dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel); + DefaultTableColumnModel columnModel = (DefaultTableColumnModel)dlg.answersTable.getColumnModel(); + columnModel.getColumn(0).setPreferredWidth(1); + columnModel.getColumn(1).setPreferredWidth(300); + columnModel.getColumn(2).setPreferredWidth(1); + dlg.titleTextField.selectAll(); } + @Override + public void editedHtmlTextWasSet() { + super.editedHtmlTextWasSet(); + + String text = currentAnswerVariant.getText(); + int selectedRow = answersTable.getSelectedRow(); + answersTable.getModel().setValueAt(text, selectedRow, 1); + } + private void initComponents() { generalPanel = new javax.swing.JPanel(); titleLabel = new javax.swing.JLabel(); @@ -87,18 +119,24 @@ oneAnswerCheckBox = new javax.swing.JCheckBox(); answersPanel = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); - answersTable = new javax.swing.JTable(); cancelButton = new javax.swing.JButton("Cancel"); okButton = new javax.swing.JButton("Ok"); editCaptionInHtmlBtn = new JButton("..."); editQuestionInHtmlBtn = new JButton("..."); + editAnswerVariantInHtmlEditor = new JButton("HTML Editor"); + currentAnswerVariant = new javax.swing.JTextField(); + captionTextField.addActionListener(this); + cancelButton.addActionListener(this); okButton.addActionListener(this); sameAsTitleCheckBox.addChangeListener(this); oneAnswerCheckBox.addChangeListener(this); editCaptionInHtmlBtn.addActionListener(this); editQuestionInHtmlBtn.addActionListener(this); + editAnswerVariantInHtmlEditor.addActionListener(this); + + answersTable = new javax.swing.JTable(); setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); @@ -277,18 +315,31 @@ answersPanel); answersPanel.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING).addGroup( - jPanel4Layout.createSequentialGroup().addContainerGap() + javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup( + jPanel4Layout.createSequentialGroup() + .addComponent(editAnswerVariantInHtmlEditor) + .addContainerGap() + ) + .addGroup( + jPanel4Layout.createSequentialGroup() + .addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 364, - Short.MAX_VALUE).addContainerGap())); + Short.MAX_VALUE) + .addContainerGap() + )); jPanel4Layout.setVerticalGroup(jPanel4Layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING).addGroup( jPanel4Layout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 111, - Short.MAX_VALUE).addContainerGap())); + Short.MAX_VALUE) + .addContainerGap(10, 10) + .addComponent(editAnswerVariantInHtmlEditor, 20, 20, 20) + .addContainerGap() + )); javax.swing.GroupLayout layout = new javax.swing.GroupLayout( getContentPane()); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java 2008-05-10 14:31:01 UTC (rev 124) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java 2008-05-10 17:33:34 UTC (rev 125) @@ -2,6 +2,7 @@ import java.util.ArrayList; +import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.TableModel; @@ -10,11 +11,11 @@ private boolean singleVariant = false; public ArrayList<SimpleQuestionAnswer> answers = new ArrayList<SimpleQuestionAnswer>(); + private ArrayList<TableModelListener> listeners = new ArrayList<TableModelListener>(); @Override public void addTableModelListener(TableModelListener arg0) { - // TODO Auto-generated method stub - + listeners.add(arg0); } @Override @@ -45,18 +46,18 @@ } @Override - public Object getValueAt(int arg0, int arg1) { - if (arg0 == answers.size()) { + public Object getValueAt(int row, int col) { + if (row == answers.size()) { return ""; } - switch (arg1) { + switch (col) { case 0: - return arg0 + 1; + return row + 1; case 1: - return answers.get(arg0).getAnswerText(); + return answers.get(row).getAnswerText(); case 2: - return answers.get(arg0).getAnswerPoint(); + return answers.get(row).getAnswerPoint(); default: return ""; } @@ -73,6 +74,7 @@ @Override public void removeTableModelListener(TableModelListener arg0) { + listeners.remove(arg0); } public void setSingleVariant(boolean singleVariant) { @@ -105,5 +107,10 @@ } break; } + + for (int i=0; i < listeners.size(); i++){ + TableModelEvent event = new TableModelEvent(this, arg1, arg1, arg2); + listeners.get(i).tableChanged(event); + } } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 14:31:01 UTC (rev 124) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 17:33:34 UTC (rev 125) @@ -112,7 +112,7 @@ while (iter.hasNext()) { SimpleQuestionAnswer answer = iter.next(); - answers += "addAnswer(\"" + answer.getAnswerText() + "\", " + answers += "addAnswer(\"" + answer.getAnswerText().replace("\"", "\\\"") + "\", " + answer.getAnswerPoint() + ");" + "\r\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |