|
From: <se...@us...> - 2008-05-18 11:46:24
|
Revision: 141
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=141&view=rev
Author: sem62
Date: 2008-05-18 04:46:28 -0700 (Sun, 18 May 2008)
Log Message:
-----------
Added Renderer and CellEditor for PartAttributes.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
Added Paths:
-----------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesCellEditor.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesRenderer.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/PartAttributes.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -136,18 +136,18 @@
CompileQModel itemModel = new CompileQModel();
- dlg.captionTextField.setText(itemModel.getData(manifestItem)
- .getCaption());
+// dlg.captionTextField.setText(itemModel.getData(manifestItem)
+// .getCaption());
dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
.equals(dlg.captionTextField.getText()));
- dlg.questionTextField.setText(itemModel.getData(manifestItem)
- .getQuestion());
dlg.simpleQuestionAnswersDataModel = itemModel.getData(manifestItem)
- .getAnswers();
+ .getParts();
+
dlg.partsTable.setModel(dlg.simpleQuestionAnswersDataModel);
partsTable.getColumnModel().getColumn(1).setCellEditor(new MultiLineTableCellEditor());
+ partsTable.getColumnModel().getColumn(2).setCellEditor(new PartAttributesCellEditor());
DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable
.getColumnModel();
@@ -477,10 +477,8 @@
data.setCaption(captionTextField.getText());
}
- data.setQuestion(questionTextField.getText());
+ data.setParts(simpleQuestionAnswersDataModel);
- data.setAnswers(simpleQuestionAnswersDataModel);
-
itemModel.updateItemResource(manifestItem, true);
}
@@ -493,11 +491,6 @@
}
captionTextField.setEnabled(!sameAsTitleCheckBox.isSelected());
}
-
- if (e.getSource() == oneAnswerCheckBox) {
- simpleQuestionAnswersDataModel.setSingleVariant(oneAnswerCheckBox
- .isSelected());
- }
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -1,8 +1,6 @@
package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
import java.awt.Component;
-import java.awt.event.InputMethodEvent;
-import java.awt.event.InputMethodListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
@@ -14,7 +12,7 @@
import javax.swing.table.TableCellEditor;
public class MultiLineTableCellEditor extends AbstractCellEditor implements
- TableCellEditor, InputMethodListener, KeyListener {
+ TableCellEditor, KeyListener {
@Override
public void keyPressed(KeyEvent e) {
}
@@ -25,31 +23,28 @@
@Override
public void keyTyped(KeyEvent e) {
-
- //cellSizeUpdate();
+
+// cellSizeUpdate(false);
}
protected int tableRow;
protected JTable table;
- @Override
- public void caretPositionChanged(InputMethodEvent arg0) {
- cellSizeUpdate();
- }
+ private void cellSizeUpdate(boolean fullUpdate) {
+ int needHeight = myEditor.getPreferredSize().height + 2;
- private void cellSizeUpdate() {
- int thisHeight = myEditor.getPreferredSize().height + 2;
-
- if (thisHeight < 100){
- thisHeight = 100;
+ if (needHeight < 100) {
+ needHeight = 100;
}
-
- table.setRowHeight(tableRow, thisHeight);
- }
- @Override
- public void inputMethodTextChanged(InputMethodEvent arg0) {
- cellSizeUpdate();
+ if (!fullUpdate) {
+ int currHeight = table.getRowHeight(tableRow);
+ if (needHeight < currHeight) {
+ needHeight = currHeight;
+ }
+ }
+
+ table.setRowHeight(tableRow, needHeight);
}
/**
@@ -64,7 +59,6 @@
myEditor.setWrapStyleWord(true);
myEditor.setLineWrap(true);
myEditor.setOpaque(true);
- myEditor.addInputMethodListener(this);
myEditor.addKeyListener(this);
myScrollPane = new JScrollPane(myEditor);
@@ -89,7 +83,7 @@
myScrollPane.setBounds(0, 0, table.getColumnModel().getColumn(column)
.getWidth(), 0);
- cellSizeUpdate();
+ cellSizeUpdate(true);
return myScrollPane;
}
Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesCellEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesCellEditor.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesCellEditor.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -0,0 +1,87 @@
+package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.FlowLayout;
+
+import javax.swing.AbstractCellEditor;
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+import javax.swing.JTable;
+import javax.swing.table.TableCellEditor;
+
+import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.PartAttributes;
+
+public class PartAttributesCellEditor extends AbstractCellEditor implements
+ TableCellEditor {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ protected JCheckBox isReadOnlyCheckBox;
+ protected JCheckBox isAnswerCheckBox;
+ protected JCheckBox isVisibleCheckBox;
+ protected JPanel myPanel;
+
+ public PartAttributesCellEditor() {
+ isReadOnlyCheckBox = new JCheckBox("read only");
+ isAnswerCheckBox = new JCheckBox("is answer");
+ isVisibleCheckBox = new JCheckBox("is visible");
+
+ myPanel = new JPanel();
+
+ myPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
+
+ myPanel.add(isAnswerCheckBox);
+ myPanel.add(isReadOnlyCheckBox);
+ myPanel.add(isVisibleCheckBox);
+ }
+
+ public Component getTableCellEditorComponent(JTable table, Object value,
+ boolean isSelected, int row, int column) {
+
+ Color bgColor = isSelected ? table.getSelectionBackground() : table
+ .getBackground();
+ Color frColor = isSelected ? table.getSelectionForeground() : table
+ .getForeground();
+
+ if (value == null) {
+ value = new PartAttributes();
+ }
+
+ PartAttributes attributes = (PartAttributes) value;
+ isAnswerCheckBox.setSelected(attributes.isAnswer());
+ isReadOnlyCheckBox.setSelected(attributes.isReadOnly());
+ isVisibleCheckBox.setSelected(attributes.isVisible());
+
+ myPanel.setBackground(bgColor);
+ myPanel.setForeground(frColor);
+
+ isAnswerCheckBox.setBackground(bgColor);
+ isVisibleCheckBox.setBackground(bgColor);
+ isReadOnlyCheckBox.setBackground(bgColor);
+
+ isAnswerCheckBox.setForeground(frColor);
+ isReadOnlyCheckBox.setForeground(frColor);
+ isVisibleCheckBox.setForeground(frColor);
+
+ myPanel.setBounds(0, 0, table.getColumnModel().getColumn(column)
+ .getWidth(), 0);
+
+ table.repaint();
+ table.updateUI();
+
+ return myPanel;
+ }
+
+ public Object getCellEditorValue() {
+ PartAttributes partAttributes = new PartAttributes();
+
+ partAttributes.setAnswer(isAnswerCheckBox.isSelected());
+ partAttributes.setReadOnly(isReadOnlyCheckBox.isSelected());
+ partAttributes.setVisible(isVisibleCheckBox.isSelected());
+
+ return partAttributes;
+ }
+}
Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesRenderer.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesRenderer.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartAttributesRenderer.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -0,0 +1,41 @@
+package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
+
+import java.awt.Component;
+
+import javax.swing.JTable;
+import javax.swing.UIManager;
+import javax.swing.table.TableCellRenderer;
+
+import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.PartAttributes;
+
+public class PartAttributesRenderer implements TableCellRenderer {
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ PartOptionsPanel partOptionsPanel = new PartOptionsPanel(
+ (PartAttributes) value);
+
+ if (isSelected) {
+ partOptionsPanel.setForeground(table.getSelectionForeground());
+ partOptionsPanel.setBackground(table.getSelectionBackground());
+ } else {
+ partOptionsPanel.setForeground(table.getForeground());
+ partOptionsPanel.setBackground(table.getBackground());
+ }
+ partOptionsPanel.setFont(table.getFont());
+ partOptionsPanel.setBorder(UIManager
+ .getBorder("Table.focusCellHighlightBorder"));
+ if (table.isCellEditable(row, column)) {
+ partOptionsPanel.setForeground(UIManager
+ .getColor("Table.focusCellForeground"));
+ partOptionsPanel.setBackground(UIManager
+ .getColor("Table.focusCellBackground"));
+ }
+
+ partOptionsPanel.updateUI();
+
+ return partOptionsPanel;
+ }
+}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -1,83 +1,88 @@
package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
-import java.awt.Component;
+import java.awt.Color;
import java.awt.FlowLayout;
-import java.awt.LayoutManager;
import javax.swing.JCheckBox;
import javax.swing.JPanel;
-import javax.swing.JTable;
-import javax.swing.UIManager;
-import javax.swing.border.EmptyBorder;
-import javax.swing.table.TableCellRenderer;
-public class PartOptionsPanel extends JPanel implements TableCellRenderer {
+import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.PartAttributes;
- @Override
- public Component getTableCellRendererComponent(JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column) {
- if (isSelected) {
- setForeground(table.getSelectionForeground());
- setBackground(table.getSelectionBackground());
+public class PartOptionsPanel extends JPanel {
- readOnlyCheckBox.setForeground(table.getSelectionForeground());
- isAnswerCheckBox.setForeground(table.getSelectionForeground());
- isVisibleCheckBox.setForeground(table.getSelectionForeground());
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
- readOnlyCheckBox.setBackground(table.getSelectionBackground());
- isAnswerCheckBox.setBackground(table.getSelectionBackground());
- isVisibleCheckBox.setBackground(table.getSelectionBackground());
- } else {
- setForeground(table.getForeground());
- setBackground(table.getBackground());
+ protected JCheckBox isAnswerCheckBox = new JCheckBox("is answer");
+ protected JCheckBox isReadOnlyCheckBox = new JCheckBox("read only");
+ protected JCheckBox isVisibleCheckBox = new JCheckBox("is visible");
- readOnlyCheckBox.setForeground(table.getForeground());
- isAnswerCheckBox.setForeground(table.getForeground());
- isVisibleCheckBox.setForeground(table.getForeground());
+ @Override
+ public void setBackground(Color bg) {
+ if (isReadOnlyCheckBox != null){
+ isReadOnlyCheckBox.setBackground(bg);
+ }
+
+ if (isAnswerCheckBox != null){
+ isAnswerCheckBox.setBackground(bg);
+ }
+
+ if (isVisibleCheckBox != null){
+ isVisibleCheckBox.setBackground(bg);
+ }
- readOnlyCheckBox.setBackground(table.getBackground());
- isAnswerCheckBox.setBackground(table.getBackground());
- isVisibleCheckBox.setBackground(table.getBackground());
- }
- setFont(table.getFont());
- if (hasFocus) {
- setBorder(UIManager.getBorder("Table.focusCellHighlightBorder"));
- if (table.isCellEditable(row, column)) {
- setForeground(UIManager.getColor("Table.focusCellForeground"));
- setBackground(UIManager.getColor("Table.focusCellBackground"));
- }
- } else {
- setBorder(new EmptyBorder(1, 2, 1, 2));
- }
+ super.setBackground(bg);
+ }
-
-
- return this;
+ @Override
+ public void setForeground(Color fg) {
+ if (isReadOnlyCheckBox != null){
+ isReadOnlyCheckBox.setForeground(fg);
}
+ if (isAnswerCheckBox != null){
+ isAnswerCheckBox.setForeground(fg);
+ }
+ if (isVisibleCheckBox != null){
+ isVisibleCheckBox.setForeground(fg);
+ }
- /**
- *
- */
- private static final long serialVersionUID = 1L;
+ super.setForeground(fg);
+ }
- public JCheckBox readOnlyCheckBox;
- public JCheckBox isAnswerCheckBox;
- public JCheckBox isVisibleCheckBox;
+ public PartOptionsPanel(PartAttributes value) {
+ initComponents();
- public PartOptionsPanel() {
- initComponents();
+ if (value != null) {
+ isAnswerCheckBox.setSelected(value.isAnswer());
+ isVisibleCheckBox.setSelected(value.isVisible());
+ isReadOnlyCheckBox.setSelected(value.isReadOnly());
}
+ }
- private void initComponents() {
- LayoutManager layout = new FlowLayout(FlowLayout.LEFT);
- setLayout(layout);
-
- readOnlyCheckBox = new JCheckBox("read only");
- isAnswerCheckBox = new JCheckBox("is answer");
- isVisibleCheckBox = new JCheckBox("is visible");
+ public PartOptionsPanel() {
+ initComponents();
+ }
- add(readOnlyCheckBox);
- add(isAnswerCheckBox);
- add(isVisibleCheckBox);
- }
+ protected void initComponents() {
+ setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
+
+ add(isAnswerCheckBox);
+ add(isReadOnlyCheckBox);
+ add(isVisibleCheckBox);
+ }
+
+ public JCheckBox getReadOnlyCheckBox() {
+ return isReadOnlyCheckBox;
+ }
+
+ public JCheckBox getIsAnswerCheckBox() {
+ return isAnswerCheckBox;
+ }
+
+ public JCheckBox getIsVisibleCheckBox() {
+ return isVisibleCheckBox;
+ }
+
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -1,54 +1,21 @@
package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
-public class PartsTable extends JTable implements MouseListener {
+import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPart;
+import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.PartAttributes;
- @Override
- public void mouseClicked(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
+public class PartsTable extends JTable {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
- @Override
- public void mouseEntered(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
+ public PartsTable() {
+ setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- @Override
- public void mouseExited(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void mousePressed(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void mouseReleased(MouseEvent arg0) {
- // TODO Auto-generated method stub
-
- }
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public PartsTable() {
- setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-
- setDefaultRenderer(MultiLineCellRenderer.class, new MultiLineCellRenderer());
- setDefaultRenderer(PartOptionsPanel.class, new PartOptionsPanel());
-
- addMouseListener(this);
- }
+ setDefaultRenderer(CompileQPart.class, new MultiLineCellRenderer());
+ setDefaultRenderer(PartAttributes.class, new PartAttributesRenderer());
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -1,108 +1,102 @@
package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ;
import java.io.Reader;
-import java.util.Iterator;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
-
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class CompileQData extends ItemData {
@Override
public String marshal(TreeItem anItem) {
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement("SimpleQuestion");
- root.addElement("caption").setText(getCaption());
- root.addElement("question").setText(getQuestion());
+ return "";
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(getShowOnSummaryPage()));
-
- Element ans = root.addElement("answers");
-
- ans.addAttribute("singleVariant", String.valueOf(getAnswers()
- .getSingleVariant()));
-
- Iterator<CompileQPart> iter = getAnswers().answers.iterator();
-
- while (iter.hasNext()) {
- CompileQPart answer = iter.next();
-
- Element ansEl = ans.addElement("answer");
- ansEl
- .addAttribute("point", String.valueOf(answer
- .getAnswerPoint()));
- ansEl.setText(answer.getAnswerText());
- }
-
- return doc.asXML();
+ // Document doc = DocumentHelper.createDocument();
+// Element root = doc.addElement("SimpleQuestion");
+// root.addElement("caption").setText(getCaption());
+// root.addElement("question").setText(getQuestion());
+//
+// root.addElement("ShowOnSummaryPage").setText(
+// String.valueOf(getShowOnSummaryPage()));
+//
+// Element ans = root.addElement("answers");
+//
+// ans.addAttribute("singleVariant", String.valueOf(getAnswers()
+// .getSingleVariant()));
+//
+// Iterator<CompileQPart> iter = getAnswers().answers.iterator();
+//
+// while (iter.hasNext()) {
+// CompileQPart answer = iter.next();
+//
+// Element ansEl = ans.addElement("answer");
+// ansEl
+// .addAttribute("point", String.valueOf(answer
+// .getAnswerPoint()));
+// ansEl.setText(answer.getAnswerText());
+// }
+//
+// return doc.asXML();
}
- private CompileQPartsTableModel answers = new CompileQPartsTableModel();
private String caption = "";
- private String question = "";
- public CompileQPartsTableModel getAnswers() {
- return answers;
- }
- public void setAnswers(CompileQPartsTableModel answers) {
- this.answers = answers;
- }
public String getCaption() {
return caption;
}
+
+ private CompileQPartsTableModel parts = new CompileQPartsTableModel();
+
+
public void setCaption(String caption) {
this.caption = caption;
}
- public String getQuestion() {
- return question;
- }
- public void setQuestion(String question) {
- this.question = question;
- }
@SuppressWarnings("unchecked")
public boolean unmarshal(Reader res, TreeItem anItem) {
- SAXReader reader = new SAXReader();
+// SAXReader reader = new SAXReader();
+//
+// Document doc = null;
+// try {
+// doc = reader.read(res);
+//
+// Element root = doc.getRootElement();
+// Element answers = root.element("answers");
+//
+// setCaption(root.elementTextTrim("caption"));
+// setQuestion(root.elementTextTrim("question"));
+//
+// boolean showOnSP = Boolean.valueOf(root
+// .elementTextTrim("ShowOnSummaryPage"));
+// setShowOnSummaryPage(showOnSP);
+//
+// getAnswers().setSingleVariant(
+// answers.attributeValue("singleVariant").equalsIgnoreCase(
+// "true"));
+//
+// getAnswers().answers.clear();
+//
+// Iterator<Element> iter = answers.elementIterator("answer");
+// while (iter.hasNext()) {
+// Element answer = iter.next();
+// CompileQPart ans = new CompileQPart(answer
+// .getText());
+// ans.setAnswerPoint(Double.valueOf(answer
+// .attributeValue("point")));
+// getAnswers().answers.add(ans);
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// return false;
+// }
+//
+ return true;
+ }
- Document doc = null;
- try {
- doc = reader.read(res);
+ public CompileQPartsTableModel getParts() {
+ return parts;
+ }
- Element root = doc.getRootElement();
- Element answers = root.element("answers");
-
- setCaption(root.elementTextTrim("caption"));
- setQuestion(root.elementTextTrim("question"));
-
- boolean showOnSP = Boolean.valueOf(root
- .elementTextTrim("ShowOnSummaryPage"));
- setShowOnSummaryPage(showOnSP);
-
- getAnswers().setSingleVariant(
- answers.attributeValue("singleVariant").equalsIgnoreCase(
- "true"));
-
- getAnswers().answers.clear();
-
- Iterator<Element> iter = answers.elementIterator("answer");
- while (iter.hasNext()) {
- Element answer = iter.next();
- CompileQPart ans = new CompileQPart(answer
- .getText());
- ans.setAnswerPoint(Double.valueOf(answer
- .attributeValue("point")));
- getAnswers().answers.add(ans);
- }
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- return true;
+ public void setParts(CompileQPartsTableModel parts) {
+ this.parts = parts;
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -1,16 +1,11 @@
package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ;
-import java.util.Iterator;
-
import edu.lnu.FireFly.FFManifest.TreeItem;
-import edu.lnu.FireFly.FFManifest.item.Item;
-import edu.lnu.FireFly.FFManifest.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.CompileQPropertiestsDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
-import edu.lnu.FireFly.WebEditor.ItemModels.Template;
public class CompileQModel extends ResourcedItemModel {
@Override
@@ -69,29 +64,29 @@
@Override
protected void updateResourceFile(TreeItem anItem) {
- Resource resource = WebEditor.instance.getManifest().resources
- .findResourceByIdentifier(((Item) anItem).identifierref);
-
- Template template = new Template(resource.getFullHref(), this);
-
- CompileQData itemData = getData(anItem);
-
- template.setProperty("Caption", itemData.getCaption());
- template.setProperty("Question", itemData.getQuestion());
-
- Iterator<CompileQPart> iter = itemData.getAnswers().answers
- .iterator();
- String answers = "\r\nsetSingleVariant("
- + itemData.getAnswers().getSingleVariant() + ");\r\n";
-
- while (iter.hasNext()) {
- CompileQPart answer = iter.next();
- answers += "addAnswer(\"" + answer.getAnswerText().replace("\"", "\\\"") + "\", "
- + answer.getAnswerPoint() + ");" + "\r\n";
- }
-
- template.setProperty("answers", answers);
- template.updateResource();
+// Resource resource = WebEditor.instance.getManifest().resources
+// .findResourceByIdentifier(((Item) anItem).identifierref);
+//
+// Template template = new Template(resource.getFullHref(), this);
+//
+// CompileQData itemData = getData(anItem);
+//
+// template.setProperty("Caption", itemData.getCaption());
+// template.setProperty("Question", itemData.getQuestion());
+//
+// Iterator<CompileQPart> iter = itemData.getAnswers().questionParts
+// .iterator();
+// String answers = "\r\nsetSingleVariant("
+// + itemData.getAnswers().getSingleVariant() + ");\r\n";
+//
+// while (iter.hasNext()) {
+// CompileQPart answer = iter.next();
+// answers += "addAnswer(\"" + answer.getAnswerText().replace("\"", "\\\"") + "\", "
+// + answer.getAnswerPoint() + ");" + "\r\n";
+// }
+//
+// template.setProperty("answers", answers);
+// template.updateResource();
}
@Override
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -11,6 +11,16 @@
private String answerText = "";
private double answerPoint = 0;
+ private PartAttributes partAttributes = new PartAttributes();
+
+ public PartAttributes getPartAttributes() {
+ return partAttributes;
+ }
+
+ public void setPartAttributes(PartAttributes partAttributes) {
+ this.partAttributes = partAttributes;
+ }
+
public CompileQPart(String answerText) {
this.answerText = answerText;
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -5,27 +5,22 @@
import javax.swing.table.DefaultTableModel;
-import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.MultiLineCellRenderer;
-import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.PartOptionsPanel;
-
public class CompileQPartsTableModel extends DefaultTableModel {
/**
*
*/
private static final long serialVersionUID = 1L;
- private boolean singleVariant = false;
+ public List<CompileQPart> questionParts = new ArrayList<CompileQPart>();
- public List<CompileQPart> answers = new ArrayList<CompileQPart>();
-
@Override
public Class<?> getColumnClass(int col) {
if (col == 1){
- return MultiLineCellRenderer.class;
+ return CompileQPart.class;
}
if (col == 2){
- return PartOptionsPanel.class;
+ return PartAttributes.class;
}
return Object.class;
@@ -51,11 +46,11 @@
@Override
public int getRowCount() {
- if (answers == null) {
+ if (questionParts == null) {
return 0;
}
- int answersCount = answers.size();
+ int answersCount = questionParts.size();
@@ -64,19 +59,19 @@
@Override
public Object getValueAt(int row, int col) {
- if (row == answers.size()) {
- return "";
+ if (row == questionParts.size()) {
+ return null;
}
switch (col) {
case 0:
return row + 1;
case 1:
- return answers.get(row);
+ return questionParts.get(row);
case 2:
- return answers.get(row).getAnswerPoint();
+ return questionParts.get(row).getPartAttributes();
default:
- return "";
+ return null;
}
}
@@ -88,77 +83,56 @@
case 1:
return true;
case 2:
- return false;
+ return true;
default:
return false;
}
}
- public boolean isSingleVariant() {
- return singleVariant;
- }
-
- public void setSingleVariant(boolean singleVariant) {
- this.singleVariant = singleVariant;
- }
-
- public boolean getSingleVariant() {
- return this.singleVariant;
- }
-
@Override
- public void setValueAt(Object arg0, int arg1, int arg2) {
- if (arg1 == answers.size()) {
- answers.add(new CompileQPart(""));
+ public void setValueAt(Object value, int row, int col) {
+ if (row == questionParts.size()) {
+ questionParts.add(new CompileQPart(""));
}
- String newValue = arg0.toString();
+ String newValue = value.toString();
- switch (arg2) {
+ switch (col) {
case 1:
-// newValue = ((CompileQPart)arg0)
- answers.get(arg1).setAnswerText(newValue);
+ questionParts.get(row).setAnswerText(newValue);
break;
case 2:
- try {
- double value = 0;
- if (!newValue.equals("")) {
- value = Double.valueOf(newValue);
- }
- answers.get(arg1).setAnswerPoint(value);
- } catch (NumberFormatException e) {
- System.out.print("Entered value is't a double value!\n");
- }
+ questionParts.get(row).setPartAttributes((PartAttributes)value);
break;
}
- fireTableRowsUpdated(arg1, arg1);
+ fireTableRowsUpdated(row, row);
}
public void deleteRow(int selectedRow) {
- if (selectedRow < answers.size() && selectedRow >= 0) {
- answers.remove(selectedRow);
+ if (selectedRow < questionParts.size() && selectedRow >= 0) {
+ questionParts.remove(selectedRow);
fireTableRowsDeleted(selectedRow, selectedRow);
}
}
public void insertRow(int selectedRow) {
- if (selectedRow >= answers.size()){
+ if (selectedRow >= questionParts.size()){
selectedRow--;
}
- answers.add(selectedRow + 1, new CompileQPart(""));
+ questionParts.add(selectedRow + 1, new CompileQPart(""));
fireTableRowsInserted(selectedRow + 1, selectedRow + 1);
}
public boolean moveUp(int selectedRow) {
- if (selectedRow < 1 || selectedRow >= answers.size()){
+ if (selectedRow < 1 || selectedRow >= questionParts.size()){
return false;
}
- CompileQPart answer = answers.get(selectedRow);
- answers.set(selectedRow, answers.get(selectedRow - 1));
- answers.set(selectedRow - 1, answer);
+ CompileQPart answer = questionParts.get(selectedRow);
+ questionParts.set(selectedRow, questionParts.get(selectedRow - 1));
+ questionParts.set(selectedRow - 1, answer);
fireTableRowsUpdated(selectedRow - 1, selectedRow);
@@ -166,13 +140,13 @@
}
public boolean moveDown(int selectedRow) {
- if (selectedRow < 0 || selectedRow >= answers.size() - 1){
+ if (selectedRow < 0 || selectedRow >= questionParts.size() - 1){
return false;
}
- CompileQPart answer = answers.get(selectedRow);
- answers.set(selectedRow, answers.get(selectedRow + 1));
- answers.set(selectedRow + 1, answer);
+ CompileQPart answer = questionParts.get(selectedRow);
+ questionParts.set(selectedRow, questionParts.get(selectedRow + 1));
+ questionParts.set(selectedRow + 1, answer);
fireTableRowsUpdated(selectedRow + 1, selectedRow);
Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/PartAttributes.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/PartAttributes.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/PartAttributes.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -0,0 +1,25 @@
+package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ;
+
+public class PartAttributes {
+ private boolean isAnswer = false;
+ private boolean isReadOnly = false;
+ private boolean isVisible = true;
+ public boolean isAnswer() {
+ return isAnswer;
+ }
+ public void setAnswer(boolean isAnswer) {
+ this.isAnswer = isAnswer;
+ }
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+ public void setReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
+ public boolean isVisible() {
+ return isVisible;
+ }
+ public void setVisible(boolean isVisible) {
+ this.isVisible = isVisible;
+ }
+}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-15 22:03:24 UTC (rev 140)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-18 11:46:28 UTC (rev 141)
@@ -97,10 +97,6 @@
{
String res = loadResource(location, anItem);
- if (res == null || res.trim().equals("")) {
- return false;
- }
-
ItemData itemData = getItemData(anItem);
if (itemData == null) {
@@ -108,6 +104,10 @@
setItemData(anItem, itemData);
}
+ if (res == null || res.trim().equals("")) {
+ return false;
+ }
+
itemData.unmarshal(new StringReader(res), anItem);
return true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|