From: <se...@us...> - 2008-05-02 11:23:44
|
Revision: 72 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=72&view=rev Author: sem62 Date: 2008-05-02 04:23:52 -0700 (Fri, 02 May 2008) Log Message: ----------- Fixed bugs: * Null itemData for ChapterModel. * Updating summary pages with h>2 in a course tree. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-02 11:23:52 UTC (rev 72) @@ -35,7 +35,7 @@ return null; } - model.InitializeDataForItem(root, new ChapterItemData()); + model.initializeDataForItem(root, new ChapterItemData()); model.updateItemResource(root, false); return manifest; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 11:23:52 UTC (rev 72) @@ -9,6 +9,7 @@ import edu.lnu.FireFly.FFManifest.item.sequencing.Sequencing; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.MapInfo; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objective; +import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel; @@ -44,6 +45,16 @@ public void updateSummaryPages(TreeItem root) throws TestDocException { pushDownSummaryPage(root); + for (int i = 0; i < root.getChildCount(); i++) { + TreeItem item = root.getChild(i); + ItemModel model = ItemModels.getModelFromItem(item); + + if (model.getClass() == OrganizationModel.class + || model.getClass() == ChapterModel.class) { + updateSummaryPages(item); + } + } + boolean showSummaryPage = isShowSummaryPageForItem(root); if (showSummaryPage) { @@ -61,22 +72,33 @@ private void insertAllNeededObjectivesIntoSummaryPage(TreeItem root) { Item summaryPage = (Item) root.getChild(root.getChildCount() - 1); - + ArrayList<String> objectiveIds = getShowingItemsIds(root); - - summaryPage.sequencing.objectives.objective = new ArrayList<Objective>(); - for (int i=0; i < objectiveIds.size(); i++){ + Objectives objectives = getObjectivesInstance(summaryPage); + objectives.objective = new ArrayList<Objective>(); + + for (int i = 0; i < objectiveIds.size(); i++) { String objectiveId = objectiveIds.get(i); Objective objective = ManifestFactory.createObjective(); - + objective.objectiveID = objectiveId; objective.mapInfo.add(ManifestFactory.createMapInfo(objectiveId)); - + summaryPage.sequencing.objectives.objective.add(objective); } } + private Objectives getObjectivesInstance(Item summaryPage) { + Sequencing sequencing = getSequencingInstance(summaryPage); + + if (sequencing.objectives == null) { + sequencing.objectives = ManifestFactory.createObjectives(); + } + + return sequencing.objectives; + } + private ArrayList<String> getShowingItemsIds(TreeItem root) { ArrayList<String> result = new ArrayList<String>(); @@ -92,7 +114,8 @@ ItemModel chapterModel = ItemModels.getModelFromItem(child); if (chapterModel.getClass() == ChapterModel.class) { - if (((ChapterModel) chapterModel).getShowOnSummaryPage(child)) { + if (((ChapterModel) chapterModel) + .getShowOnSummaryPage(child)) { result.addAll(getShowingItemsIds(child)); } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -17,11 +17,21 @@ public class ChapterModel extends ResourcedItemModel { @Override + protected void initializeDataForItem(Item anItem) { + initializeDataForItem(anItem, new ChapterItemData()); + } + + @Override public boolean getLimitConditionsMenuVisible() { return false; } @Override + public void addItem(TreeItem parent) { + super.addItem(parent); + } + + @Override public boolean getShowOnSummaryPageMenuVisible() { return true; } @@ -113,7 +123,7 @@ if (itemData == null) { ItemData data = new ChapterItemData(); - InitializeDataForItem(anItem, data); + initializeDataForItem(anItem, data); itemData = (ChapterItemData) getItemData(anItem); } @@ -125,7 +135,7 @@ @Override public boolean synchronizeItemWithResource(TreeItem anItem) { - InitializeDataForItem(anItem, new ChapterItemData()); + initializeDataForItem(anItem, new ChapterItemData()); String identifier = ""; if (anItem.getClass() == Item.class) { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -8,6 +8,7 @@ import java.util.UUID; 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.WSClients.WebEditorServiceClient; @@ -17,7 +18,7 @@ protected String modelName = "Abstract model"; - public void InitializeDataForItem(TreeItem anItem, ItemData data) { + public void initializeDataForItem(TreeItem anItem, ItemData data) { questionsData.put(anItem, data); } @@ -36,6 +37,8 @@ return itemData.getShowOnSummaryPage(); } + protected abstract void initializeDataForItem(Item anItem); + public final void setShowOnSummaryPage(TreeItem anItem, boolean aValue) { ItemData itemData = getItemData(anItem); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -20,6 +20,11 @@ public class LectureModel extends ResourcedItemModel { @Override + protected void initializeDataForItem(Item anItem) { + initializeDataForItem(anItem, new LectureData()); + } + + @Override public boolean getShowSummaryPageMenuVisible() { return false; } @@ -40,7 +45,7 @@ @Override public boolean synchronizeItemWithResource(TreeItem anItem) { - InitializeDataForItem(anItem, new LectureData()); + initializeDataForItem(anItem, new LectureData()); Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item)anItem).identifierref); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -4,7 +4,6 @@ import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; public abstract class ResourcedItemModel extends ItemModel { @@ -20,6 +19,8 @@ item.identifierref = createNewResource(); + initializeDataForItem(item); + try { parent.addChild(item); TreeDataModel.getInstance().treeNodesInserted(item); @@ -28,10 +29,8 @@ return; } - synchronizeItemWithResource(item); + updateItemResource(item, true); - SummaryPageManager.getInstance().updateSummaryPages(); - ConfigureItem(item); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -22,6 +22,11 @@ public class SimpleQuestionModel extends ResourcedItemModel { @Override + protected void initializeDataForItem(Item anItem) { + initializeDataForItem(anItem, new SimpleQuestionData()); + } + + @Override public boolean getLimitConditionsMenuVisible() { return true; } @@ -104,7 +109,7 @@ SAXReader reader = new SAXReader(); - InitializeDataForItem(anItem, new SimpleQuestionData()); + initializeDataForItem(anItem, new SimpleQuestionData()); Document doc = null; try { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-02 09:54:59 UTC (rev 71) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-02 11:23:52 UTC (rev 72) @@ -19,6 +19,11 @@ public class SummaryPageModel extends ResourcedItemModel { @Override + protected void initializeDataForItem(Item anItem) { + initializeDataForItem(anItem, new SummaryPageData()); + } + + @Override public boolean getLimitConditionsMenuVisible() { return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-02 19:12:32
|
Revision: 76 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=76&view=rev Author: sem62 Date: 2008-05-02 12:12:29 -0700 (Fri, 02 May 2008) Log Message: ----------- Fixed bug: After pressing F5, all ItemModel's registered against. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-02 19:04:07 UTC (rev 75) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-02 19:12:29 UTC (rev 76) @@ -8,19 +8,19 @@ public class ItemModels { protected static ArrayList<ItemModel> registeredModels = new ArrayList<ItemModel>(); - public static void RegisterModel(ItemModel model) { + public static void registerModel(ItemModel model) { if (!registeredModels.contains(model)) { registeredModels.add(model); } } - public static void UnRegisterModel(ItemModel model) { + public static void unRegisterModel(ItemModel model) { if (registeredModels.contains(model)) { registeredModels.remove(model); } } - public static boolean IsModelRegistered(ItemModel model) { + public static boolean isModelRegistered(ItemModel model) { return registeredModels.contains(model); } @@ -54,4 +54,8 @@ } } } + + public static void clear() { + registeredModels.clear(); + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-02 19:04:07 UTC (rev 75) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-02 19:12:29 UTC (rev 76) @@ -87,11 +87,12 @@ instance = this; initMenu(); - ItemModels.RegisterModel(new LectureModel()); - ItemModels.RegisterModel(new SimpleQuestionModel()); - ItemModels.RegisterModel(new ChapterModel()); - ItemModels.RegisterModel(new OrganizationModel()); - ItemModels.RegisterModel(new SummaryPageModel()); + ItemModels.clear(); + ItemModels.registerModel(new LectureModel()); + ItemModels.registerModel(new SimpleQuestionModel()); + ItemModels.registerModel(new ChapterModel()); + ItemModels.registerModel(new OrganizationModel()); + ItemModels.registerModel(new SummaryPageModel()); CreateNewCourse(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-02 22:35:52
|
Revision: 77 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=77&view=rev Author: sem62 Date: 2008-05-02 15:35:58 -0700 (Fri, 02 May 2008) Log Message: ----------- Fixed bugs: * Objectives list mapped in SummaryPage's manifest item; * return false at getShowOnSummaryPage into SummaryPageModel (It's can't be shown into Summary page). Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 19:12:29 UTC (rev 76) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 22:35:58 UTC (rev 77) @@ -109,15 +109,12 @@ result.add(getItemId(item)); } - for (int j = 0; i < item.getChildCount(); i++) { + for (int j = 0; j < item.getChildCount(); j++) { TreeItem child = item.getChild(j); - ItemModel chapterModel = ItemModels.getModelFromItem(child); + ItemModel childModel = ItemModels.getModelFromItem(child); - if (chapterModel.getClass() == ChapterModel.class) { - if (((ChapterModel) chapterModel) - .getShowOnSummaryPage(child)) { - result.addAll(getShowingItemsIds(child)); - } + if (childModel.getShowOnSummaryPage(child)) { + result.addAll(getShowingItemsIds(child)); } } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 19:12:29 UTC (rev 76) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 22:35:58 UTC (rev 77) @@ -11,6 +11,7 @@ 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.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public abstract class ItemModel { @@ -25,6 +26,10 @@ protected boolean isContainerItem = false; public final boolean getShowOnSummaryPage(TreeItem anItem) { + if (this.getClass() == SummaryPageModel.class){ + return false; + } + ItemData itemData = getItemData(anItem); if (itemData == null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-07 08:48:31
|
Revision: 97 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=97&view=rev Author: sem62 Date: 2008-05-07 01:48:34 -0700 (Wed, 07 May 2008) Log Message: ----------- code refactor: * move synchronizeItemWithResource to parent class * added some files to template Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-07 08:48:34 UTC (rev 97) @@ -35,7 +35,7 @@ return null; } - model.initializeDataForItem(root, new ChapterItemData()); + model.setItemData(root, new ChapterItemData()); model.updateItemResource(root, false); return manifest; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-07 08:48:34 UTC (rev 97) @@ -8,9 +8,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel; -import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionException; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; /** @@ -37,7 +35,7 @@ private javax.swing.JButton editCaptionInHtmlBtn; private javax.swing.JButton editQuestionInHtmlBtn; private SimpleQuestionAnswersDataModel simpleQuestionAnswersDataModel; - + public SimpleQuestionPropertiestsDlg() { obj = this; @@ -47,7 +45,7 @@ @Override public void actionPerformed(ActionEvent arg0) { super.actionPerformed(arg0); - + if (arg0.getSource() == editQuestionInHtmlBtn) { editTextFieldInHtmlEditor(questionTextField); } @@ -64,29 +62,23 @@ @Override protected void fillFields() { - try { - SimpleQuestionPropertiestsDlg dlg = (SimpleQuestionPropertiestsDlg)obj; - dlg.titleTextField.setText(manifestItem.getTitle()); + SimpleQuestionPropertiestsDlg dlg = (SimpleQuestionPropertiestsDlg) obj; + dlg.titleTextField.setText(manifestItem.getTitle()); - SimpleQuestionModel itemModel = new SimpleQuestionModel(); + SimpleQuestionModel itemModel = new SimpleQuestionModel(); - itemModel.synchronizeItemWithResource((Item)manifestItem); + 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.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(); + dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel); - dlg.simpleQuestionAnswersDataModel = itemModel - .getData(manifestItem).getAnswers(); - dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel); - - dlg.titleTextField.selectAll(); - } catch (SimpleQuestionException e) { - e.printStackTrace(); - } + dlg.titleTextField.selectAll(); } private void initComponents() { @@ -348,7 +340,8 @@ layout .createParallelGroup( javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cancelButton) + .addComponent( + cancelButton) .addComponent(okButton)) .addContainerGap( javax.swing.GroupLayout.DEFAULT_SIZE, @@ -362,17 +355,15 @@ SimpleQuestionModel itemModel = new SimpleQuestionModel(); manifestItem.setTitle(titleTextField.getText()); - try{ itemModel.getData(manifestItem).setCaption(captionTextField.getText()); - itemModel.getData(manifestItem).setQuestion(questionTextField.getText()); - itemModel.getData(manifestItem).setAnswers(simpleQuestionAnswersDataModel); - } - catch (SimpleQuestionException e) { - e.printStackTrace(); - return; - } + itemModel.getData(manifestItem) + .setQuestion(questionTextField.getText()); + + itemModel.getData(manifestItem).setAnswers( + simpleQuestionAnswersDataModel); + itemModel.updateItemResource(manifestItem, true); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,5 +1,13 @@ package edu.lnu.FireFly.WebEditor.ItemModels; +import java.io.Reader; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +import edu.lnu.FireFly.FFManifest.TreeItem; + public class ChapterItemData extends ItemData { private boolean showSummaryPage = true; private boolean flow; @@ -57,7 +65,43 @@ public void setShowSummaryPage(boolean showSummaryPage) { this.showSummaryPage = showSummaryPage; } + + public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){ + SAXReader reader = new SAXReader(); + Document doc = null; + Element root = null; + try { + doc = reader.read(aXmlInputStream); + + root = doc.getRootElement(); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + try { + boolean showSP = Boolean.valueOf(root + .elementTextTrim("ShowSummaryPage")); + setShowSummaryPage(showSP); + + boolean showOnSP = Boolean.valueOf(root + .elementTextTrim("ShowOnSummaryPage")); + setShowOnSummaryPage(showOnSP); + + int configuration = Integer.valueOf(root + .elementTextTrim("Configuration")); + setConfiguration(configuration); + + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + + return true; + } + public static final int CONFIGURATION_USER_DEFINED = 0; public static final int CONFIGURATION_LECTURE = 1; public static final int CONFIGURATION_EXAMINATION = 2; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,11 +1,8 @@ package edu.lnu.FireFly.WebEditor.ItemModels; -import java.io.StringReader; - import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; -import org.dom4j.io.SAXReader; import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; @@ -17,21 +14,11 @@ public class ChapterModel extends ResourcedItemModel { @Override - protected void initializeDataForItem(Item anItem) { - initializeDataForItem(anItem, new ChapterItemData()); - } - - @Override public boolean getLimitConditionsMenuVisible() { return false; } @Override - public void addItem(TreeItem parent) { - super.addItem(parent); - } - - @Override public boolean getShowOnSummaryPageMenuVisible() { return true; } @@ -43,7 +30,7 @@ public ChapterModel() { super(); - modelName = "Chapter"; + modelName = "ChapterModel"; isContainerItem = true; } @@ -67,7 +54,7 @@ } public boolean getShowSummaryPage(TreeItem anItem) { - ChapterItemData itemData = (ChapterItemData) getItemData(anItem); + ChapterItemData itemData = getData(anItem); if (itemData == null) { System.out @@ -119,11 +106,11 @@ } public void setShowSummaryPage(TreeItem anItem, boolean state) { - ChapterItemData itemData = (ChapterItemData) getItemData(anItem); + ChapterItemData itemData = getData(anItem); if (itemData == null) { ItemData data = new ChapterItemData(); - initializeDataForItem(anItem, data); + setItemData(anItem, data); itemData = (ChapterItemData) getItemData(anItem); } @@ -133,61 +120,14 @@ } } - @Override - public boolean synchronizeItemWithResource(TreeItem anItem) { - initializeDataForItem(anItem, new ChapterItemData()); - - String identifier = ""; - if (anItem.getClass() == Item.class) { - identifier = ((Item) anItem).identifier; - } - if (anItem.getClass() == Organization.class) { - identifier = ((Organization) anItem).identifier; - } - String res = WebEditorServiceClient - .getFileContent(identifier + ".conf", "course"); - - if (res == null || res.trim().equals("")){ - return false; - } - - SAXReader reader = new SAXReader(); - - Document doc = null; - Element root = null; - try { - doc = reader.read(new StringReader(res)); - - root = doc.getRootElement(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - try { - boolean showSP = Boolean.valueOf(root - .elementTextTrim("ShowSummaryPage")); - ((ChapterItemData) getItemData(anItem)).setShowSummaryPage(showSP); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - getItemData(anItem).setShowOnSummaryPage(showOnSP); - - int configuration = Integer.valueOf(root - .elementTextTrim("Configuration")); - ((ChapterItemData) getItemData(anItem)).setConfiguration(configuration); - - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - return true; + private ChapterItemData getData(TreeItem anItem) { + return (ChapterItemData) getItemData(anItem); } @Override - public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) { - ChapterItemData itemData = (ChapterItemData) getItemData(anItem); + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { + ChapterItemData itemData = getData(anItem); Document doc = DocumentHelper.createDocument(); Element root = doc.addElement(modelName); @@ -210,10 +150,15 @@ WebEditorServiceClient .setFileContent(identifier + ".conf", doc.asXML()); - if (updateSummaryPages){ + if (updateSummaryPages) { SummaryPageManager.getInstance().updateSummaryPages(); } return true; } + + @Override + protected ItemData createItemDataInstance() { + return new ChapterItemData(); + } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,5 +1,9 @@ package edu.lnu.FireFly.WebEditor.ItemModels; +import java.io.Reader; + +import edu.lnu.FireFly.FFManifest.TreeItem; + public abstract class ItemData { private Boolean showOnSummaryPage = false; @@ -10,4 +14,6 @@ public void setShowOnSummaryPage(Boolean showOnSummaryPage) { this.showOnSummaryPage = showOnSummaryPage; } + + public abstract boolean unmarshal(Reader res, TreeItem anItem); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -19,7 +19,7 @@ protected String modelName = "Abstract model"; - public void initializeDataForItem(TreeItem anItem, ItemData data) { + public void setItemData(TreeItem anItem, ItemData data) { questionsData.put(anItem, data); } @@ -129,8 +129,8 @@ public abstract void rename(TreeItem item, String newTitle); - public abstract boolean synchronizeItemWithResource(TreeItem item); - + public abstract boolean synchronizeItemWithResource(TreeItem anItem, String location); + public abstract boolean updateItemResource(TreeItem item, boolean updateSummaryPages); public abstract boolean getLimitConditionsMenuVisible(); @@ -150,4 +150,6 @@ return null; } + + protected abstract ItemData createItemDataInstance(); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-07 08:48:34 UTC (rev 97) @@ -45,7 +45,7 @@ ItemModel model = ItemModels.getModelFromItem(item); if (item.getClass() == Item.class) { - model.synchronizeItemWithResource((Item)item); + model.synchronizeItemWithResource((Item)item, "course"); } if (model.getClass() == ChapterModel.class Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,20 +1,55 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Lecture; +import java.io.Reader; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; public class LectureData extends ItemData { - private String caption=""; - private String content=""; + private String caption = ""; + private String content = ""; + public String getCaption() { return caption; } + public void setCaption(String caption) { this.caption = caption; } + public String getContent() { return content; } + public void setContent(String content) { this.content = content; } + + public boolean unmarshal(Reader stringReader, TreeItem anItem) { + SAXReader reader = new SAXReader(); + + Document doc = null; + try { + doc = reader.read(stringReader); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + Element root = doc.getRootElement(); + + setCaption(root.elementTextTrim("caption")); + setContent(root.elementTextTrim("content")); + + boolean showOnSP = Boolean.valueOf(root + .elementTextTrim("ShowOnSummaryPage")); + + setShowOnSummaryPage(showOnSP); + + return true; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,11 +1,8 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Lecture; -import java.io.StringReader; - 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.FFManifest.item.Item; @@ -14,17 +11,13 @@ import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.LecturePropertiestsDlg; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class LectureModel extends ResourcedItemModel { @Override - protected void initializeDataForItem(Item anItem) { - initializeDataForItem(anItem, new LectureData()); - } - - @Override public boolean getShowSummaryPageMenuVisible() { return false; } @@ -40,44 +33,10 @@ } public LectureModel() { - modelName = "Lecture"; + modelName = "LectureModel"; } @Override - public boolean synchronizeItemWithResource(TreeItem anItem) { - initializeDataForItem(anItem, new LectureData()); - - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(((Item)anItem).identifierref); - - String res = WebEditorServiceClient.getFileContent(resource.identifier - + ".conf", "course"); - - SAXReader reader = new SAXReader(); - - Document doc = null; - try { - doc = reader.read(new StringReader(res)); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - Element root = doc.getRootElement(); - - LectureData itemData = getData(anItem); - - itemData.setCaption(root.elementTextTrim("caption")); - itemData.setContent(root.elementTextTrim("content")); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - itemData.setShowOnSummaryPage(showOnSP); - - return true; - } - - @Override public boolean canAddToItem(TreeItem parent) { // TODO Auto-generated method stub return true; @@ -133,4 +92,9 @@ return true; } + + @Override + protected ItemData createItemDataInstance() { + return new LectureData(); + } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -9,7 +9,7 @@ public OrganizationModel(){ super(); isContainerItem = true; - modelName = "Organization"; + modelName = "OrganizationModel"; } @Override @@ -35,11 +35,6 @@ } @Override - public void addItem(TreeItem parent) { - System.out.print("Can't add Organization into course."); - } - - @Override public boolean isApplaingForItem(TreeItem treeItem){ return treeItem.getClass() == Organization.class; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,26 +1,35 @@ package edu.lnu.FireFly.WebEditor.ItemModels; +import java.io.StringReader; import java.util.UUID; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; +import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public abstract class ResourcedItemModel extends ItemModel { @Override - public void addItem(TreeItem parent) { + public final void addItem(TreeItem parent) { + + if (this.getClass() == OrganizationModel.class){ + System.out.println("Can't add Organization into course."); + return ; + } + Item item = new Item(); item.setParent(parent); - item.identifier = this.getClass().getSimpleName() + "_Item_" + UUID.randomUUID().toString(); + item.identifier = this.getClass().getSimpleName() + "_Item_" + + UUID.randomUUID().toString(); item.title = "New " + modelName; item.parameters = "pageType=" + modelName; item.identifierref = createNewResource(); initializeDataForItem(item); - + try { parent.addChild(item); TreeDataModel.getInstance().treeNodesInserted(item); @@ -32,6 +41,19 @@ ConfigureItem(item); } + protected final String loadResource(String location, String identifier) { + String res = ""; + + if (location.equalsIgnoreCase("course")) { + res = WebEditorServiceClient.getFileContent(identifier + ".conf", + location); + } else { + res = WebEditorServiceClient.getFileContent(modelName + ".conf", + location); + } + return res; + } + @Override public boolean isApplaingForItem(TreeItem treeItem) { if (treeItem.getClass() != Item.class) { @@ -63,4 +85,34 @@ ((Item) item).title = newTitle; TreeDataModel.getInstance().treeNodesChanged(item); } + + public final boolean synchronizeItemWithResource(TreeItem anItem, String location) + { + String res = loadResource(location, getIdentifier(anItem)); + + if (res == null || res.trim().equals("")) { + return false; + } + + ItemData itemData = getItemData(anItem); + + if (itemData == null) { + itemData = createItemDataInstance(); + setItemData(anItem, itemData); + } + + itemData.unmarshal(new StringReader(res), anItem); + + return true; + } + + protected final void initializeDataForItem(Item anItem){ + ItemData itemData = createItemDataInstance(); + + String res = loadResource("template", getIdentifier(anItem)); + + itemData.unmarshal(new StringReader(res), anItem); + + setItemData(anItem, itemData); + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,5 +1,13 @@ package edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion; +import java.io.Reader; +import java.util.Iterator; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; public class SimpleQuestionData extends ItemData { @@ -25,4 +33,45 @@ public void setQuestion(String question) { this.question = question; } + + @SuppressWarnings("unchecked") + public boolean unmarshal(Reader res, TreeItem anItem) { + 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(); + SimpleQuestionAnswer ans = new SimpleQuestionAnswer(answer + .getText()); + ans.setAnswerPoint(Double.valueOf(answer + .attributeValue("point"))); + getAnswers().answers.add(ans); + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + return true; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,12 +1,10 @@ package edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion; -import java.io.StringReader; 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.FFManifest.item.Item; @@ -15,18 +13,13 @@ import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.SimpleQuestionPropertiestsDlg; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class SimpleQuestionModel extends ResourcedItemModel { - @Override - protected void initializeDataForItem(Item anItem) { - initializeDataForItem(anItem, new SimpleQuestionData()); - } - - @Override public boolean getLimitConditionsMenuVisible() { return true; } @@ -37,7 +30,7 @@ } public SimpleQuestionModel() { - modelName = "SimpleQuestion"; + modelName = "SimpleQuestionModel"; } @Override @@ -61,8 +54,7 @@ .getItemPath(item)); } - public SimpleQuestionData getData(TreeItem item) - throws SimpleQuestionException { + public SimpleQuestionData getData(TreeItem item) { return ((SimpleQuestionData) getItemData(item)); } @@ -98,115 +90,65 @@ TreeDataModel.getInstance().treeNodesChanged(item); } - @Override - @SuppressWarnings("unchecked") - public boolean synchronizeItemWithResource(TreeItem anItem) { - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(((Item)anItem).identifierref); - - String res = WebEditorServiceClient.getFileContent(resource.identifier - + ".conf", "course"); - - SAXReader reader = new SAXReader(); - - initializeDataForItem(anItem, new SimpleQuestionData()); - - Document doc = null; - try { - doc = reader.read(new StringReader(res)); - - Element root = doc.getRootElement(); - Element answers = root.element("answers"); - - SimpleQuestionData itemData = getData(anItem); - itemData.setCaption(root.elementTextTrim("caption")); - itemData.setQuestion(root.elementTextTrim("question")); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - itemData.setShowOnSummaryPage(showOnSP); - - itemData.getAnswers().setSingleVariant( - answers.attributeValue("singleVariant").equalsIgnoreCase( - "true")); - - itemData.getAnswers().answers.clear(); - - Iterator<Element> iter = answers.elementIterator("answer"); - while (iter.hasNext()) { - Element answer = iter.next(); - SimpleQuestionAnswer ans = new SimpleQuestionAnswer(answer - .getText()); - ans.setAnswerPoint(Double.valueOf(answer - .attributeValue("point"))); - itemData.getAnswers().answers.add(ans); - } - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - return true; + protected ItemData createItemDataInstance() { + return new SimpleQuestionData(); } @Override - public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) { + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item) anItem).identifierref); Template template = new Template(resource.getFullHref(), this); - try { - SimpleQuestionData itemData = getData(anItem); - - template.setProperty("Caption", itemData.getCaption()); - template.setProperty("Question", itemData.getQuestion()); + SimpleQuestionData itemData = getData(anItem); - Iterator<SimpleQuestionAnswer> iter = itemData.getAnswers().answers - .iterator(); - String answers = "\r\nsetSingleVariant(" - + itemData.getAnswers().getSingleVariant() + ");\r\n"; + template.setProperty("Caption", itemData.getCaption()); + template.setProperty("Question", itemData.getQuestion()); - while (iter.hasNext()) { - SimpleQuestionAnswer answer = iter.next(); - answers += "addAnswer(\"" + answer.getAnswerText() + "\", " - + answer.getAnswerPoint() + ");" + "\r\n"; - } + Iterator<SimpleQuestionAnswer> iter = itemData.getAnswers().answers + .iterator(); + String answers = "\r\nsetSingleVariant(" + + itemData.getAnswers().getSingleVariant() + ");\r\n"; - template.setProperty("answers", answers); - template.updateResource(); + while (iter.hasNext()) { + SimpleQuestionAnswer answer = iter.next(); + answers += "addAnswer(\"" + answer.getAnswerText() + "\", " + + answer.getAnswerPoint() + ");" + "\r\n"; + } - Document doc = DocumentHelper.createDocument(); - Element root = doc.addElement(modelName); - root.addElement("caption").setText(itemData.getCaption()); - root.addElement("question").setText(itemData.getQuestion()); + template.setProperty("answers", answers); + template.updateResource(); - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(itemData.getShowOnSummaryPage())); + Document doc = DocumentHelper.createDocument(); + Element root = doc.addElement(modelName); + root.addElement("caption").setText(itemData.getCaption()); + root.addElement("question").setText(itemData.getQuestion()); - Element ans = root.addElement("answers"); + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(itemData.getShowOnSummaryPage())); - ans.addAttribute("singleVariant", String.valueOf(itemData - .getAnswers().getSingleVariant())); + Element ans = root.addElement("answers"); - iter = itemData.getAnswers().answers.iterator(); + ans.addAttribute("singleVariant", String.valueOf(itemData.getAnswers() + .getSingleVariant())); - while (iter.hasNext()) { - SimpleQuestionAnswer answer = iter.next(); + iter = itemData.getAnswers().answers.iterator(); - Element ansEl = ans.addElement("answer"); - ansEl.addAttribute("point", String.valueOf(answer - .getAnswerPoint())); - ansEl.setText(answer.getAnswerText()); - } + while (iter.hasNext()) { + SimpleQuestionAnswer answer = iter.next(); - WebEditorServiceClient.setFileContent( - resource.identifier + ".conf", doc.asXML()); - } catch (SimpleQuestionException e) { - e.printStackTrace(); - return false; + Element ansEl = ans.addElement("answer"); + ansEl + .addAttribute("point", String.valueOf(answer + .getAnswerPoint())); + ansEl.setText(answer.getAnswerText()); } + WebEditorServiceClient.setFileContent(resource.identifier + ".conf", + doc.asXML()); + SummaryPageManager.getInstance().updateSummaryPages(); return true; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-07 08:48:34 UTC (rev 97) @@ -1,12 +1,20 @@ package edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel; +import java.io.Reader; + +import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; public class SummaryPageData extends ItemData { @Override + public boolean unmarshal(Reader res, TreeItem anItem) { + // TODO Auto-generated method stub + return true; + } + + @Override public Boolean getShowOnSummaryPage() { - // It can be show on summary page return false; } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-07 08:48:34 UTC (rev 97) @@ -8,6 +8,7 @@ import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; @@ -19,11 +20,6 @@ public class SummaryPageModel extends ResourcedItemModel { @Override - protected void initializeDataForItem(Item anItem) { - initializeDataForItem(anItem, new SummaryPageData()); - } - - @Override public boolean getLimitConditionsMenuVisible() { return false; } @@ -34,16 +30,10 @@ } public SummaryPageModel() { - modelName = "SummaryPage"; + modelName = "SummaryPageModel"; } @Override - public boolean synchronizeItemWithResource(TreeItem item) { - // currently it can't any item data - return false; - } - - @Override public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) { Resource resource = WebEditor.instance.getManifest().resources @@ -141,4 +131,9 @@ return false; } + @Override + protected ItemData createItemDataInstance() { + return new SummaryPageData(); + } + } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-06 22:43:58 UTC (rev 96) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-07 08:48:34 UTC (rev 97) @@ -120,7 +120,7 @@ OrganizationModel model = (OrganizationModel) ItemModels .getModelFromItem(root); - model.synchronizeItemWithResource(root); + model.synchronizeItemWithResource(root, "template"); SummaryPageManager.getInstance().updateSummaryPages(); } catch (Exception e) { e.printStackTrace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-07 17:08:06
|
Revision: 98 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=98&view=rev Author: sem62 Date: 2008-05-07 10:08:06 -0700 (Wed, 07 May 2008) Log Message: ----------- Optimization trasferring. Template loading only once. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Template.java WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-07 17:08:06 UTC (rev 98) @@ -147,8 +147,8 @@ identifier = ((Item) anItem).identifier; } - WebEditorServiceClient - .setFileContent(identifier + ".conf", doc.asXML()); + WebEditorServiceClient.getInstance().setFileContent( + identifier + ".conf", doc.asXML()); if (updateSummaryPages) { SummaryPageManager.getInstance().updateSummaryPages(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-07 17:08:06 UTC (rev 98) @@ -64,14 +64,15 @@ } @Override - public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) { + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item) anItem).identifierref); Template template = new Template(resource.getFullHref(), this); LectureData itemData = getData(anItem); - + template.setProperty("caption", itemData.getCaption()); template.setProperty("content", itemData.getContent()); @@ -85,11 +86,11 @@ root.addElement("ShowOnSummaryPage").setText( String.valueOf(itemData.getShowOnSummaryPage())); - WebEditorServiceClient.setFileContent(resource.identifier + ".conf", - doc.asXML()); + WebEditorServiceClient.getInstance().setFileContent( + resource.identifier + ".conf", doc.asXML()); SummaryPageManager.getInstance().updateSummaryPages(); - + return true; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-07 17:08:06 UTC (rev 98) @@ -45,10 +45,10 @@ String res = ""; if (location.equalsIgnoreCase("course")) { - res = WebEditorServiceClient.getFileContent(identifier + ".conf", + res = WebEditorServiceClient.getInstance().getFileContent(identifier + ".conf", location); } else { - res = WebEditorServiceClient.getFileContent(modelName + ".conf", + res = WebEditorServiceClient.getInstance().getFileContent(modelName + ".conf", location); } return res; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-07 17:08:06 UTC (rev 98) @@ -146,7 +146,7 @@ ansEl.setText(answer.getAnswerText()); } - WebEditorServiceClient.setFileContent(resource.identifier + ".conf", + WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf", doc.asXML()); SummaryPageManager.getInstance().updateSummaryPages(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-07 17:08:06 UTC (rev 98) @@ -54,7 +54,7 @@ /* Element root = */doc.addElement(this.getClass().getSimpleName()); // root.addElement("content").setText(getData(item).getContent()); - WebEditorServiceClient.setFileContent(resource.identifier + ".conf", + WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf", doc.asXML()); return true; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Template.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Template.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Template.java 2008-05-07 17:08:06 UTC (rev 98) @@ -53,7 +53,7 @@ public boolean updateResource() { String templateFileName = model.getClass().getSimpleName() + ".html"; - String res = WebEditorServiceClient.getFileContent(templateFileName, + String res = WebEditorServiceClient.getInstance().getFileContent(templateFileName, "template"); Iterator<String> iter = propertiests.keySet().iterator(); @@ -67,7 +67,7 @@ } } - WebEditorServiceClient.setFileContent(fileName, res); + WebEditorServiceClient.getInstance().setFileContent(fileName, res); return true; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-07 17:08:06 UTC (rev 98) @@ -6,18 +6,45 @@ import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; +import java.util.HashMap; import edu.lnu.FireFly.WebEditor.Settings; public class WebEditorServiceClient { + + private HashMap<String, String> templates; + + private static WebEditorServiceClient obj = null; + + private WebEditorServiceClient(){ + templates = new HashMap<String, String>(); + } + + public static WebEditorServiceClient getInstance(){ + if (obj == null){ + obj = new WebEditorServiceClient(); + } + + return obj; + } /** * @param fName File name * @param location Location name = template | course * @return */ - public static String getFileContent(String fName, String location) { + public String getFileContent(String fName, String location) { System.out.println("Getting file's content (fName=" + fName + "; location=" + location + ")..."); + if (location.equalsIgnoreCase("template")){ + String template = templates.get(fName); + if (template != null){ + + System.out.println("Founded in hash."); + + return template; + } + } + String result = ""; try { // Construct data @@ -53,11 +80,15 @@ e.printStackTrace(); } + if (location.equalsIgnoreCase("template")){ + templates.put(fName, result); + } + System.out.print("result: " + result); return result; } - public static void setFileContent(String fName, String content) { + public void setFileContent(String fName, String content) { System.out.println("Setting file's content (fName=" + fName + ")..."); String result = ""; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-07 08:48:34 UTC (rev 97) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-07 17:08:06 UTC (rev 98) @@ -64,13 +64,13 @@ private void saveManifest() throws TestDocException { Parser parser = new Parser(); - WebEditorServiceClient.setFileContent("imsmanifest.xml", parser - .toXML(manifest)); + WebEditorServiceClient.getInstance().setFileContent("imsmanifest.xml", + parser.toXML(manifest)); } private void openManifest() throws TestDocException { Parser parser = new Parser(); - manifest = parser.fromXML(WebEditorServiceClient + manifest = parser.fromXML(WebEditorServiceClient.getInstance() .getFileContent("imsmanifest.xml", "course")); TreeDataModel.initInstance(manifest); @@ -84,10 +84,13 @@ @Override public void init() { - Settings.getInstance().setCourseLocation(getParameter("courseLocation")); - Settings.getInstance().setServiceLocation(getParameter("serviceLocation")); - Settings.getInstance().setTemplateLocation(getParameter("templateLocation")); - + Settings.getInstance() + .setCourseLocation(getParameter("courseLocation")); + Settings.getInstance().setServiceLocation( + getParameter("serviceLocation")); + Settings.getInstance().setTemplateLocation( + getParameter("templateLocation")); + instance = this; initMenu(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-08 21:31:36
|
Revision: 106 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=106&view=rev Author: sem62 Date: 2008-05-08 13:11:53 -0700 (Thu, 08 May 2008) Log Message: ----------- Fixed bugs at LecturePropertyDlg. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 20:11:53 UTC (rev 106) @@ -24,6 +24,7 @@ captionTextField.setText(titleTextField.getText()); } captionTextField.setEnabled(!sameAsTitleCheckbox.isSelected()); + editContentInHtmlBtn.setEnabled(captionTextField.isEnabled()); } } @@ -48,7 +49,7 @@ /** Creates new form NewJFrame */ public LecturePropertiestsDlg() { obj = this; - + initComponents(); } @@ -62,6 +63,7 @@ } private void initComponents() { + setTitle("Propertiests..."); titlePanel = new javax.swing.JPanel(); titleLabel = new javax.swing.JLabel(); titleTextField = new javax.swing.JTextField(); @@ -130,7 +132,7 @@ captionTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(editContentInHtmlBtn))); + .addComponent(editContentInHtmlBtn, 30, 30, 30))); jPanel2Layout .setVerticalGroup(jPanel2Layout .createParallelGroup( @@ -149,7 +151,8 @@ .createParallelGroup( javax.swing.GroupLayout.Alignment.BASELINE) .addComponent( - editContentInHtmlBtn) + editContentInHtmlBtn, + 20, 20, 20) .addComponent( captionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, @@ -285,11 +288,17 @@ LecturePropertiestsDlg dlg = (LecturePropertiestsDlg) obj; LectureModel model = new LectureModel(); - dlg.titleTextField.setText(manifestItem.getTitle()); + String title = manifestItem.getTitle(); + String caption = ((LectureData) model + .getItemData(manifestItem)).getCaption(); + + dlg.sameAsTitleCheckbox.setSelected(title.equals(caption)); + + dlg.titleTextField.setText(title); dlg.titleTextField.selectAll(); - dlg.captionTextField.setText(((LectureData) model - .getItemData(manifestItem)).getCaption()); + dlg.captionTextField.setText(caption); + dlg.contentEditorPane.setText(((LectureData) model .getItemData(manifestItem)).getContent()); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 20:11:53 UTC (rev 106) @@ -7,7 +7,6 @@ import javax.swing.JTextField; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.WebEditor; public abstract class PropertyDlg extends JDialog implements ActionListener{ @@ -44,7 +43,7 @@ protected javax.swing.JButton okButton; public void showDialog(TreeItem item) { - manifestItem = (Item) item; + manifestItem = item; obj.fillFields(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -14,6 +14,11 @@ public class ChapterModel extends ResourcedItemModel { @Override + protected String getDefaultTitle() { + return "New chapter"; + } + + @Override public boolean getLimitConditionsMenuVisible() { return false; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -19,6 +19,8 @@ protected String modelName = "Abstract model"; + protected abstract String getDefaultTitle(); + public void setItemData(TreeItem anItem, ItemData data) { questionsData.put(anItem, data); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -18,6 +18,11 @@ public class LectureModel extends ResourcedItemModel { @Override + protected String getDefaultTitle() { + return "New lecture"; + } + + @Override public boolean getShowSummaryPageMenuVisible() { return false; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -23,7 +23,7 @@ item.identifier = this.getClass().getSimpleName() + "_Item_" + UUID.randomUUID().toString(); - item.title = "New " + modelName; + item.title = getDefaultTitle(); item.parameters = "pageType=" + modelName; item.identifierref = createNewResource(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -20,6 +20,11 @@ public class SimpleQuestionModel extends ResourcedItemModel { @Override + protected String getDefaultTitle() { + return "New simple question"; + } + + @Override public boolean getLimitConditionsMenuVisible() { return true; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-08 19:14:26 UTC (rev 105) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-08 20:11:53 UTC (rev 106) @@ -20,6 +20,11 @@ public class SummaryPageModel extends ResourcedItemModel { @Override + protected String getDefaultTitle() { + return "New summary page"; + } + + @Override public boolean getLimitConditionsMenuVisible() { return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-09 13:36:41
|
Revision: 110 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=110&view=rev Author: sem62 Date: 2008-05-09 06:36:27 -0700 (Fri, 09 May 2008) Log Message: ----------- Moved chapter model codes to it's own package Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java Removed Paths: ------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-09 13:36:27 UTC (rev 110) @@ -13,8 +13,8 @@ import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objective; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.resource.Resources; -import edu.lnu.FireFly.WebEditor.ItemModels.ChapterItemData; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterItemData; public class ManifestFactory { static public Manifest createManifest(){ Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 13:36:27 UTC (rev 110) @@ -12,10 +12,10 @@ import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.WebEditor.GUI.Reorganizer; -import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public class SummaryPageManager { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-09 13:36:27 UTC (rev 110) @@ -25,10 +25,10 @@ import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.RenameDlg; -import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public class CourseTreePopupMenu extends MouseAdapter implements Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java (from rev 103, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-09 13:36:27 UTC (rev 110) @@ -0,0 +1,109 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; + +import java.io.Reader; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; + +public class ChapterItemData extends ItemData { + private boolean showSummaryPage = true; + private boolean flow; + + private boolean choice; + + private boolean forwarOnly; + private boolean choiceExit; + private int configuration = ChapterItemData.CONFIGURATION_USER_DEFINED; + + public int getConfiguration() { + return configuration; + } + + public boolean isChoice() { + return choice; + } + + public boolean isChoiceExit() { + return choiceExit; + } + + public boolean isFlow() { + return flow; + } + + public boolean isForwarOnly() { + return forwarOnly; + } + + public boolean isShowSummaryPage() { + return showSummaryPage; + } + + public void setChoice(boolean choice) { + this.choice = choice; + } + + public void setChoiceExit(boolean choiceExit) { + this.choiceExit = choiceExit; + } + + public void setConfiguration(int configuration) { + this.configuration = configuration; + } + + public void setFlow(boolean flow) { + this.flow = flow; + } + + public void setForwarOnly(boolean forwarOnly) { + this.forwarOnly = forwarOnly; + } + + public void setShowSummaryPage(boolean showSummaryPage) { + this.showSummaryPage = showSummaryPage; + } + + public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){ + SAXReader reader = new SAXReader(); + + Document doc = null; + Element root = null; + try { + doc = reader.read(aXmlInputStream); + + root = doc.getRootElement(); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + try { + boolean showSP = Boolean.valueOf(root + .elementTextTrim("ShowSummaryPage")); + setShowSummaryPage(showSP); + + boolean showOnSP = Boolean.valueOf(root + .elementTextTrim("ShowOnSummaryPage")); + setShowOnSummaryPage(showOnSP); + + int configuration = Integer.valueOf(root + .elementTextTrim("Configuration")); + setConfiguration(configuration); + + } catch (Exception e) { + e.printStackTrace(); + return false; + } + + + return true; + } + + public static final int CONFIGURATION_USER_DEFINED = 0; + public static final int CONFIGURATION_LECTURE = 1; + public static final int CONFIGURATION_EXAMINATION = 2; +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java (from rev 106, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-09 13:36:27 UTC (rev 110) @@ -0,0 +1,171 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; + +import org.dom4j.Document; +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + +import edu.lnu.FireFly.FFManifest.Organization; +import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; +import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; +import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; +import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; + +public class ChapterModel extends ResourcedItemModel { + @Override + protected String getDefaultTitle() { + return "New chapter"; + } + + @Override + public boolean getLimitConditionsMenuVisible() { + return false; + } + + @Override + public boolean getShowOnSummaryPageMenuVisible() { + return true; + } + + @Override + public boolean getShowSummaryPageMenuVisible() { + return true; + } + + public ChapterModel() { + super(); + modelName = "ChapterModel"; + isContainerItem = true; + } + + @Override + public boolean canAddToItem(TreeItem parent) { + // TODO Auto-generated method stub + return true; + } + + @Override + public boolean canConvertItem(TreeItem parent) { + // TODO Auto-generated method stub + return false; + } + + @Override + public void ConfigureItem(TreeItem item) { + new ChapterPropertiestsDlg().showDialog(item); + + TreeDataModel.getInstance().treeNodesChanged(item); + } + + public boolean getShowSummaryPage(TreeItem anItem) { + ChapterItemData itemData = getData(anItem); + + if (itemData == null) { + System.out + .println("Warning: ItemData is null at ItemModel.getShowOnSummaryPage()"); + + return false; + } + + return itemData.isShowSummaryPage(); + } + + @Override + public boolean isApplaingForItem(TreeItem treeItem) { + if (treeItem.getClass() != Item.class) { + return false; + } + + Item item = (Item) treeItem; + if (item.parameters != null + && item.parameters.contains("pageType=Chapter")) { + return true; + } + + return false; + } + + @Override + public boolean isRemovable() { + return true; + } + + @Override + public void remove(TreeItem item) { + if (item.getChildCount() > 0) { + System.out + .print("This chapter contain items. Please, remove all childs and try again.\n"); + return; + } + + TreeDataModel.getInstance().treeNodesDeleted(item); + item.getParent().removeChild(item); + } + + @Override + public void rename(TreeItem item, String newTitle) { + ((Item) item).title = newTitle; + + TreeDataModel.getInstance().treeNodesChanged(item); + } + + public void setShowSummaryPage(TreeItem anItem, boolean state) { + ChapterItemData itemData = getData(anItem); + + if (itemData == null) { + ItemData data = new ChapterItemData(); + setItemData(anItem, data); + itemData = (ChapterItemData) getItemData(anItem); + } + + if (itemData.isShowSummaryPage() != state) { + itemData.setShowSummaryPage(state); + updateItemResource(anItem, true); + } + } + + private ChapterItemData getData(TreeItem anItem) { + return (ChapterItemData) getItemData(anItem); + } + + @Override + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { + ChapterItemData itemData = getData(anItem); + + Document doc = DocumentHelper.createDocument(); + Element root = doc.addElement(modelName); + root.addElement("ShowSummaryPage").setText( + String.valueOf(itemData.isShowSummaryPage())); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(itemData.getShowOnSummaryPage())); + + root.addElement("Configuration").setText( + String.valueOf(itemData.getConfiguration())); + + String identifier = "unknown"; + if (anItem.getClass() == Organization.class) { + identifier = ((Organization) anItem).identifier; + } else { + identifier = ((Item) anItem).identifier; + } + + WebEditorServiceClient.getInstance().setFileContent( + identifier + ".conf", doc.asXML()); + + if (updateSummaryPages) { + SummaryPageManager.getInstance().updateSummaryPages(); + } + + return true; + } + + @Override + protected ItemData createItemDataInstance() { + return new ChapterItemData(); + } +} \ No newline at end of file Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-09 13:36:27 UTC (rev 110) @@ -1,108 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -import java.io.Reader; - -import org.dom4j.Document; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; - -import edu.lnu.FireFly.FFManifest.TreeItem; - -public class ChapterItemData extends ItemData { - private boolean showSummaryPage = true; - private boolean flow; - - private boolean choice; - - private boolean forwarOnly; - private boolean choiceExit; - private int configuration = ChapterItemData.CONFIGURATION_USER_DEFINED; - - public int getConfiguration() { - return configuration; - } - - public boolean isChoice() { - return choice; - } - - public boolean isChoiceExit() { - return choiceExit; - } - - public boolean isFlow() { - return flow; - } - - public boolean isForwarOnly() { - return forwarOnly; - } - - public boolean isShowSummaryPage() { - return showSummaryPage; - } - - public void setChoice(boolean choice) { - this.choice = choice; - } - - public void setChoiceExit(boolean choiceExit) { - this.choiceExit = choiceExit; - } - - public void setConfiguration(int configuration) { - this.configuration = configuration; - } - - public void setFlow(boolean flow) { - this.flow = flow; - } - - public void setForwarOnly(boolean forwarOnly) { - this.forwarOnly = forwarOnly; - } - - public void setShowSummaryPage(boolean showSummaryPage) { - this.showSummaryPage = showSummaryPage; - } - - public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){ - SAXReader reader = new SAXReader(); - - Document doc = null; - Element root = null; - try { - doc = reader.read(aXmlInputStream); - - root = doc.getRootElement(); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - try { - boolean showSP = Boolean.valueOf(root - .elementTextTrim("ShowSummaryPage")); - setShowSummaryPage(showSP); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - setShowOnSummaryPage(showOnSP); - - int configuration = Integer.valueOf(root - .elementTextTrim("Configuration")); - setConfiguration(configuration); - - } catch (Exception e) { - e.printStackTrace(); - return false; - } - - - return true; - } - - public static final int CONFIGURATION_USER_DEFINED = 0; - public static final int CONFIGURATION_LECTURE = 1; - public static final int CONFIGURATION_EXAMINATION = 2; -} Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-09 13:36:27 UTC (rev 110) @@ -1,169 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.FFManifest.Organization; -import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; -import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; -import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; - -public class ChapterModel extends ResourcedItemModel { - @Override - protected String getDefaultTitle() { - return "New chapter"; - } - - @Override - public boolean getLimitConditionsMenuVisible() { - return false; - } - - @Override - public boolean getShowOnSummaryPageMenuVisible() { - return true; - } - - @Override - public boolean getShowSummaryPageMenuVisible() { - return true; - } - - public ChapterModel() { - super(); - modelName = "ChapterModel"; - isContainerItem = true; - } - - @Override - public boolean canAddToItem(TreeItem parent) { - // TODO Auto-generated method stub - return true; - } - - @Override - public boolean canConvertItem(TreeItem parent) { - // TODO Auto-generated method stub - return false; - } - - @Override - public void ConfigureItem(TreeItem item) { - new ChapterPropertiestsDlg().showDialog(item); - - TreeDataModel.getInstance().treeNodesChanged(item); - } - - public boolean getShowSummaryPage(TreeItem anItem) { - ChapterItemData itemData = getData(anItem); - - if (itemData == null) { - System.out - .println("Warning: ItemData is null at ItemModel.getShowOnSummaryPage()"); - - return false; - } - - return itemData.isShowSummaryPage(); - } - - @Override - public boolean isApplaingForItem(TreeItem treeItem) { - if (treeItem.getClass() != Item.class) { - return false; - } - - Item item = (Item) treeItem; - if (item.parameters != null - && item.parameters.contains("pageType=Chapter")) { - return true; - } - - return false; - } - - @Override - public boolean isRemovable() { - return true; - } - - @Override - public void remove(TreeItem item) { - if (item.getChildCount() > 0) { - System.out - .print("This chapter contain items. Please, remove all childs and try again.\n"); - return; - } - - TreeDataModel.getInstance().treeNodesDeleted(item); - item.getParent().removeChild(item); - } - - @Override - public void rename(TreeItem item, String newTitle) { - ((Item) item).title = newTitle; - - TreeDataModel.getInstance().treeNodesChanged(item); - } - - public void setShowSummaryPage(TreeItem anItem, boolean state) { - ChapterItemData itemData = getData(anItem); - - if (itemData == null) { - ItemData data = new ChapterItemData(); - setItemData(anItem, data); - itemData = (ChapterItemData) getItemData(anItem); - } - - if (itemData.isShowSummaryPage() != state) { - itemData.setShowSummaryPage(state); - updateItemResource(anItem, true); - } - } - - private ChapterItemData getData(TreeItem anItem) { - return (ChapterItemData) getItemData(anItem); - } - - @Override - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { - ChapterItemData itemData = getData(anItem); - - Document doc = DocumentHelper.createDocument(); - Element root = doc.addElement(modelName); - root.addElement("ShowSummaryPage").setText( - String.valueOf(itemData.isShowSummaryPage())); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(itemData.getShowOnSummaryPage())); - - root.addElement("Configuration").setText( - String.valueOf(itemData.getConfiguration())); - - String identifier = "unknown"; - if (anItem.getClass() == Organization.class) { - identifier = ((Organization) anItem).identifier; - } else { - identifier = ((Item) anItem).identifier; - } - - WebEditorServiceClient.getInstance().setFileContent( - identifier + ".conf", doc.asXML()); - - if (updateSummaryPages) { - SummaryPageManager.getInstance().updateSummaryPages(); - } - - return true; - } - - @Override - protected ItemData createItemDataInstance() { - return new ChapterItemData(); - } -} \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-09 13:36:27 UTC (rev 110) @@ -4,6 +4,7 @@ import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; public class ItemModels { protected static ArrayList<ItemModel> registeredModels = new ArrayList<ItemModel>(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-09 13:36:27 UTC (rev 110) @@ -3,6 +3,7 @@ import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; public class OrganizationModel extends ChapterModel{ Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 13:36:27 UTC (rev 110) @@ -7,13 +7,13 @@ 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.ItemModels.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 13:20:21 UTC (rev 109) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 13:36:27 UTC (rev 110) @@ -22,9 +22,9 @@ import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.CourseTreePopupMenu; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; -import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-10 08:20:20
|
Revision: 115 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=115&view=rev Author: sem62 Date: 2008-05-10 01:20:21 -0700 (Sat, 10 May 2008) Log Message: ----------- * Added auto save every Settings.autoSaveInterval milliseconds. * now updateItemResource is one for all models Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java Added: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 08:20:21 UTC (rev 115) @@ -0,0 +1,26 @@ +package edu.lnu.FireFly.WebEditor.Data; + +import edu.lnu.FireFly.FFManifest.parser.TestDocException; +import edu.lnu.FireFly.WebEditor.Settings; +import edu.lnu.FireFly.WebEditor.WebEditor; + +public class AutoSaveThread implements Runnable { + + @Override + public void run() { + try { + while (true) { + Thread.sleep(Settings.getInstance().getAutoSaveInterval()); + try { + WebEditor.instance.saveManifest(); + } catch (TestDocException e) { + System.out.println("WARNING: Can't save manifest."); + } + } + } catch (InterruptedException e) { + // If interrupt sleepping. + // Do nothing + } + } + +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 08:20:21 UTC (rev 115) @@ -64,7 +64,7 @@ insertAllNeededObjectivesIntoSummaryPage(root); - ((SummaryPageModel) model).updateItemResource(summaryPage, true); + ((SummaryPageModel) model).updateItemResource(summaryPage, false); } else { deleteSummaryPageIfExists(root); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-10 08:20:21 UTC (rev 115) @@ -3,6 +3,7 @@ import java.io.Reader; import org.dom4j.Document; +import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; @@ -11,6 +12,22 @@ public class ChapterItemData extends ItemData { private boolean showSummaryPage = true; + @Override + public String marshal(TreeItem anItem) { + Document doc = DocumentHelper.createDocument(); + Element root = doc.addElement("ChapterItemData"); + root.addElement("ShowSummaryPage").setText( + String.valueOf(isShowSummaryPage())); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + root.addElement("Configuration").setText( + String.valueOf(getConfiguration())); + + return doc.asXML(); + } + private boolean flow; private boolean choice; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -1,40 +1,13 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class ChapterModel extends ResourcedItemModel { - @Override - protected String getDefaultTitle() { - return "New chapter"; - } - - @Override - public boolean getLimitConditionsMenuVisible() { - return false; - } - - @Override - public boolean getShowOnSummaryPageMenuVisible() { - return true; - } - - @Override - public boolean getShowSummaryPageMenuVisible() { - return true; - } - public ChapterModel() { super(); modelName = "ChapterModel"; @@ -60,6 +33,35 @@ TreeDataModel.getInstance().treeNodesChanged(item); } + @Override + protected ItemData createItemDataInstance() { + return new ChapterItemData(); + } + + @Override + protected String getConfFileName(TreeItem anItem) { + return getIdentifier(anItem); + } + + private ChapterItemData getData(TreeItem anItem) { + return (ChapterItemData) getItemData(anItem); + } + + @Override + protected String getDefaultTitle() { + return "New chapter"; + } + + @Override + public boolean getLimitConditionsMenuVisible() { + return false; + } + + @Override + public boolean getShowOnSummaryPageMenuVisible() { + return true; + } + public boolean getShowSummaryPage(TreeItem anItem) { ChapterItemData itemData = getData(anItem); @@ -74,6 +76,11 @@ } @Override + public boolean getShowSummaryPageMenuVisible() { + return true; + } + + @Override public boolean isApplaingForItem(TreeItem treeItem) { if (treeItem.getClass() != Item.class) { return false; @@ -127,45 +134,9 @@ } } - private ChapterItemData getData(TreeItem anItem) { - return (ChapterItemData) getItemData(anItem); - } - @Override - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { - ChapterItemData itemData = getData(anItem); - - Document doc = DocumentHelper.createDocument(); - Element root = doc.addElement(modelName); - root.addElement("ShowSummaryPage").setText( - String.valueOf(itemData.isShowSummaryPage())); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(itemData.getShowOnSummaryPage())); - - root.addElement("Configuration").setText( - String.valueOf(itemData.getConfiguration())); - - String identifier = "unknown"; - if (anItem.getClass() == Organization.class) { - identifier = ((Organization) anItem).identifier; - } else { - identifier = ((Item) anItem).identifier; - } - - WebEditorServiceClient.getInstance().setFileContent( - identifier + ".conf", doc.asXML()); - - if (updateSummaryPages) { - SummaryPageManager.getInstance().updateSummaryPages(); - } - - return true; + protected void updateResourceFile(TreeItem anItem) { + // do nothing. + // Chapter currently haven't resource file } - - @Override - protected ItemData createItemDataInstance() { - return new ChapterItemData(); - } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-10 08:20:21 UTC (rev 115) @@ -16,4 +16,5 @@ } public abstract boolean unmarshal(Reader res, TreeItem anItem); + public abstract String marshal(TreeItem anItem); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -84,9 +84,9 @@ return resource.identifier; } - public ItemData getItemData(TreeItem item) { - if (questionsData.containsKey(item)) { - return questionsData.get(item); + public ItemData getItemData(TreeItem anItem) { + if (questionsData.containsKey(anItem)) { + return questionsData.get(anItem); } return null; @@ -141,6 +141,14 @@ public abstract boolean getShowSummaryPageMenuVisible(); + public final String getIdentifierRef(TreeItem anItem) { + if (anItem.getClass() == Item.class){ + return ((Item)anItem).identifierref; + } + + return null; + } + public final String getIdentifier(TreeItem anItem) { if (anItem.getClass() == Item.class){ return ((Item)anItem).identifier; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-10 08:20:21 UTC (rev 115) @@ -3,6 +3,7 @@ import java.io.Reader; import org.dom4j.Document; +import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; @@ -52,4 +53,17 @@ return true; } + + @Override + public String marshal(TreeItem anItem) { + Document doc = DocumentHelper.createDocument(); + Element root = doc.addElement("LectureData"); + root.addElement("caption").setText(getCaption()); + root.addElement("content").setText(getContent()); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + return doc.asXML(); + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -1,20 +1,14 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Lecture; -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - 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.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.LecturePropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class LectureModel extends ResourcedItemModel { @Override @@ -69,8 +63,7 @@ } @Override - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { + protected void updateResourceFile(TreeItem anItem) { Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item) anItem).identifierref); @@ -82,21 +75,6 @@ template.setProperty("content", itemData.getContent()); template.updateResource(); - - Document doc = DocumentHelper.createDocument(); - Element root = doc.addElement(modelName); - root.addElement("caption").setText(itemData.getCaption()); - root.addElement("content").setText(itemData.getContent()); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(itemData.getShowOnSummaryPage())); - - WebEditorServiceClient.getInstance().setFileContent( - resource.identifier + ".conf", doc.asXML()); - - SummaryPageManager.getInstance().updateSummaryPages(); - - return true; } @Override Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -5,6 +5,9 @@ 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.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; @@ -88,7 +91,7 @@ public final boolean synchronizeItemWithResource(TreeItem anItem, String location) { - String res = loadResource(location, getIdentifier(anItem)); + String res = loadResource(location, getConfFileName(anItem)); if (res == null || res.trim().equals("")) { return false; @@ -106,6 +109,13 @@ return true; } + protected String getConfFileName(TreeItem anItem) { + Resource resource = WebEditor.instance.getManifest().resources + .findResourceByIdentifier(getIdentifierRef(anItem)); + + return resource.identifier; + } + protected final void initializeDataForItem(Item anItem){ ItemData itemData = createItemDataInstance(); @@ -115,4 +125,22 @@ setItemData(anItem, itemData); } + + protected abstract void updateResourceFile(TreeItem anItem); + + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { + + updateResourceFile(anItem); + ItemData itemData = getItemData(anItem); + + WebEditorServiceClient.getInstance().setFileContent( + getConfFileName(anItem) + ".conf", itemData.marshal(anItem)); + + if (updateSummaryPages) { + SummaryPageManager.getInstance().updateSummaryPages(); + } + + return true; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-10 08:20:21 UTC (rev 115) @@ -4,6 +4,7 @@ import java.util.Iterator; import org.dom4j.Document; +import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; @@ -11,6 +12,36 @@ import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; public class SimpleQuestionData 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()); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + Element ans = root.addElement("answers"); + + ans.addAttribute("singleVariant", String.valueOf(getAnswers() + .getSingleVariant())); + + Iterator<SimpleQuestionAnswer> iter = getAnswers().answers.iterator(); + + while (iter.hasNext()) { + SimpleQuestionAnswer answer = iter.next(); + + Element ansEl = ans.addElement("answer"); + ansEl + .addAttribute("point", String.valueOf(answer + .getAnswerPoint())); + ansEl.setText(answer.getAnswerText()); + } + + return doc.asXML(); + } + private SimpleQuestionAnswersDataModel answers = new SimpleQuestionAnswersDataModel(); private String caption = ""; private String question = ""; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -2,21 +2,15 @@ import java.util.Iterator; -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - 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.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.SimpleQuestionPropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class SimpleQuestionModel extends ResourcedItemModel { @Override @@ -100,8 +94,7 @@ } @Override - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { + protected void updateResourceFile(TreeItem anItem) { Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item) anItem).identifierref); @@ -125,38 +118,6 @@ template.setProperty("answers", answers); template.updateResource(); - - Document doc = DocumentHelper.createDocument(); - Element root = doc.addElement(modelName); - root.addElement("caption").setText(itemData.getCaption()); - root.addElement("question").setText(itemData.getQuestion()); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(itemData.getShowOnSummaryPage())); - - Element ans = root.addElement("answers"); - - ans.addAttribute("singleVariant", String.valueOf(itemData.getAnswers() - .getSingleVariant())); - - iter = itemData.getAnswers().answers.iterator(); - - while (iter.hasNext()) { - SimpleQuestionAnswer answer = iter.next(); - - Element ansEl = ans.addElement("answer"); - ansEl - .addAttribute("point", String.valueOf(answer - .getAnswerPoint())); - ansEl.setText(answer.getAnswerText()); - } - - WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf", - doc.asXML()); - - SummaryPageManager.getInstance().updateSummaryPages(); - - return true; } @Override Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-10 08:20:21 UTC (rev 115) @@ -2,12 +2,23 @@ import java.io.Reader; +import org.dom4j.Document; +import org.dom4j.DocumentHelper; + import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; public class SummaryPageData extends ItemData { @Override + public String marshal(TreeItem anItem) { + Document doc = DocumentHelper.createDocument(); + doc.addElement(this.getClass().getSimpleName()); + + return doc.asXML(); + } + + @Override public boolean unmarshal(Reader res, TreeItem anItem) { // TODO Auto-generated method stub return true; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-10 08:20:21 UTC (rev 115) @@ -1,8 +1,5 @@ package edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel; -import org.dom4j.Document; -import org.dom4j.DocumentHelper; - import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.FFManifest.resource.Resource; @@ -16,7 +13,6 @@ import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class SummaryPageModel extends ResourcedItemModel { @Override @@ -38,40 +34,13 @@ modelName = "SummaryPageModel"; } - @Override - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(((Item) anItem).identifierref); - - Template template = new Template(resource.getFullHref(), this); - - String content = "<script type=\"text/javascript\">" - + getSummaryPageContent(anItem.getParent()) + "</script>"; - - template.setProperty("content", content); - template.setProperty("title", anItem.getTitle()); - - template.updateResource(); - - Document doc = DocumentHelper.createDocument(); - - /* Element root = */doc.addElement(this.getClass().getSimpleName()); - // root.addElement("content").setText(getData(item).getContent()); - - WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf", - doc.asXML()); - - return true; - } - private String getSummaryPageContent(TreeItem parent) { int childsCount = parent.getChildCount(); ItemModel model = ItemModels.getModelFromItem(parent); String res = "openBlock(\"" + parent.getTitle() + "\", \"" - + model.getModelName() + "\", \"" - + model.getIdentifier(parent) + "\");\n"; + + model.getModelName() + "\", \"" + model.getIdentifier(parent) + + "\");\n"; for (int i = 0; i < childsCount; i++) { TreeItem item = parent.getChild(i); @@ -141,4 +110,20 @@ return new SummaryPageData(); } + @Override + protected void updateResourceFile(TreeItem anItem) { + Resource resource = WebEditor.instance.getManifest().resources + .findResourceByIdentifier(((Item) anItem).identifierref); + + Template template = new Template(resource.getFullHref(), this); + + String content = "<script type=\"text/javascript\">" + + getSummaryPageContent(anItem.getParent()) + "</script>"; + + template.setProperty("content", content); + template.setProperty("title", anItem.getTitle()); + + template.updateResource(); + } + } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 08:20:21 UTC (rev 115) @@ -1,11 +1,13 @@ package edu.lnu.FireFly.WebEditor; public class Settings { - private String courseLocation = ""; - private String templateLocation = ""; - private String serviceLocation = ""; - private String resourceLocation = ""; + private String courseLocation = "http://127.0.0.1/sem/course/"; + private String templateLocation = "http://127.0.0.1/sem/WebEditor/template/"; + private String serviceLocation = "http://127.0.0.1/sem/WebEditor/service/"; + private String resourceLocation = "http://127.0.0.1/sem/WebEditor/"; + private long autoSaveInterval = 5 * 60 * 1000; + public static Settings obj = null; public static Settings getInstance(){ @@ -48,4 +50,12 @@ public void setResourceLocation(String resourceLocation) { this.resourceLocation = resourceLocation; } + + public long getAutoSaveInterval() { + return autoSaveInterval; + } + + public void setAutoSaveInterval(long autoSaveInterval) { + this.autoSaveInterval = autoSaveInterval; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 08:20:21 UTC (rev 115) @@ -92,7 +92,6 @@ contents.put(fName, result); } - System.out.print("result: " + result); return result; } @@ -140,8 +139,5 @@ } catch (Exception e) { e.printStackTrace(); } - - System.out.println("setFileContent(). result is:"); - System.out.println(result); } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 19:42:16 UTC (rev 114) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 08:20:21 UTC (rev 115) @@ -18,6 +18,7 @@ import edu.lnu.FireFly.FFManifest.parser.Parser; import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.FFManifest.resource.Resource; +import edu.lnu.FireFly.WebEditor.Data.AutoSaveThread; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.CourseTreePopupMenu; @@ -30,8 +31,8 @@ import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; -public class WebEditor extends AppletWithWYSIWYGEditor implements ActionListener, - TreeSelectionListener { +public class WebEditor extends AppletWithWYSIWYGEditor implements + ActionListener, TreeSelectionListener { /** * @@ -63,13 +64,13 @@ } } - private void saveManifest() throws TestDocException { + public void saveManifest() throws TestDocException { Parser parser = new Parser(); WebEditorServiceClient.getInstance().setFileContent("imsmanifest.xml", parser.toXML(manifest)); } - private void openManifest() throws TestDocException { + public void openManifest() throws TestDocException { Parser parser = new Parser(); manifest = parser.fromXML(WebEditorServiceClient.getInstance() .getFileContent("imsmanifest.xml", "course")); @@ -85,15 +86,24 @@ @Override public void init() { - Settings.getInstance() - .setCourseLocation(getParameter("courseLocation")); - Settings.getInstance().setServiceLocation( - getParameter("serviceLocation")); - Settings.getInstance().setTemplateLocation( - getParameter("templateLocation")); - Settings.getInstance().setResourceLocation( - getParameter("resourceLocation")); + String paramCourseLocation = getParameter("courseLocation"); + String paramServiceLocation = getParameter("serviceLocation"); + String paramTemplateLocation = getParameter("templateLocation"); + String paramResourceLocation = getParameter("resourceLocation"); + if (paramCourseLocation != null){ + Settings.getInstance().setCourseLocation(paramCourseLocation); + } + if (paramServiceLocation != null){ + Settings.getInstance().setServiceLocation(paramServiceLocation); + } + if (paramTemplateLocation != null){ + Settings.getInstance().setTemplateLocation(paramTemplateLocation); + } + if (paramResourceLocation != null){ + Settings.getInstance().setResourceLocation(paramResourceLocation); + } + instance = this; initMenu(); @@ -104,15 +114,23 @@ ItemModels.registerModel(new OrganizationModel()); ItemModels.registerModel(new SummaryPageModel()); - CreateNewCourse(); + try { + openManifest(); + } catch (TestDocException e) { + System.out.println("Can't load course. Creating new..."); + CreateNewCourse(); + } + Thread autoSaveThread = new Thread(new AutoSaveThread()); + + autoSaveThread.start(); + tree = new JTree(TreeDataModel.getInstance()); this.add(new JScrollPane(tree)); tree.addTreeSelectionListener(this); tree.addMouseListener(new CourseTreePopupMenu()); - } private void CreateNewCourse() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <se...@us...> - 2008-05-18 15:05:01
|
Revision: 143 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=143&view=rev Author: sem62 Date: 2008-05-18 08:05:01 -0700 (Sun, 18 May 2008) Log Message: ----------- Full designed CompileQPropertyDlg Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumber.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumberCellRenderer.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-18 13:47:32 UTC (rev 142) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 15:05:01 UTC (rev 143) @@ -4,6 +4,8 @@ import java.awt.event.ActionListener; import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.ScrollPaneConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.table.DefaultTableColumnModel; @@ -25,7 +27,9 @@ private javax.swing.JCheckBox sameAsTitleCheckBox; private javax.swing.JCheckBox oneAnswerCheckBox; + private javax.swing.JComboBox programmingLanguage; private javax.swing.JLabel titleLabel; + private javax.swing.JLabel programminglanguageLabel; private javax.swing.JPanel generalPanel; private javax.swing.JPanel captionPanel; private javax.swing.JPanel partsPanel; @@ -175,20 +179,29 @@ .equals(dlg.captionTextField.getText())); dlg.compileQTableDataModel = itemModel.getData(manifestItem).getParts(); + + dlg.programmingLanguage.addItem("Any"); + dlg.programmingLanguage.addItem("C++"); + dlg.programmingLanguage.addItem("Pascal"); dlg.partsTable.setModel(dlg.compileQTableDataModel); - partsTable.getColumnModel().getColumn(1).setCellEditor( - multiLineTableCellEditor); - partsTable.getColumnModel().getColumn(2).setCellEditor( - partAttributesCellEditor); - DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable .getColumnModel(); - columnModel.getColumn(0).setPreferredWidth(1); - columnModel.getColumn(1).setPreferredWidth(300); - columnModel.getColumn(2).setPreferredWidth(1); + columnModel.getColumn(1).setCellEditor(multiLineTableCellEditor); + columnModel.getColumn(2).setCellEditor(partAttributesCellEditor); + + columnModel.getColumn(0).setMaxWidth(20); + columnModel.getColumn(0).setMinWidth(20); + columnModel.getColumn(0).setResizable(false); + + columnModel.getColumn(1).setResizable(true); + + columnModel.getColumn(2).setMaxWidth(100); + columnModel.getColumn(2).setMinWidth(100); + columnModel.getColumn(2).setResizable(false); + dlg.titleTextField.selectAll(); } @@ -206,6 +219,7 @@ generalPanel = new javax.swing.JPanel(); titleLabel = new javax.swing.JLabel(); + programminglanguageLabel = new javax.swing.JLabel("Programming language:"); titleTextField = new javax.swing.JTextField(); captionPanel = new javax.swing.JPanel(); captionTextField = new javax.swing.JTextField(); @@ -221,6 +235,7 @@ editAnswerVariantInHtmlEditor = new JButton("HTML Editor"); insertAnswerVariantBtn = new JButton("Insert"); deleteAnswerVariantBtn = new JButton("Delete"); + programmingLanguage = new JComboBox(); moveDownAnswerVariantBtn = new JButton("Down"); moveUpAnswerVariantBtn = new JButton("Up"); @@ -341,7 +356,8 @@ captionTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE)) + javax.swing.GroupLayout.PREFERRED_SIZE + )) .addContainerGap())); oneAnswerCheckBox.setText("Only one correct answer"); @@ -350,25 +366,47 @@ .createTitledBorder("Variants of answer")); jScrollPane1.setViewportView(partsTable); + jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout( partsPanel); partsPanel.setLayout(jPanel4Layout); - jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.TRAILING).addGroup( - jPanel4Layout.createSequentialGroup().addComponent( - moveUpAnswerVariantBtn).addContainerGap(10, 10) - .addComponent(moveDownAnswerVariantBtn) - .addContainerGap(10, 10).addComponent( - insertAnswerVariantBtn).addContainerGap(10, 10) - .addComponent(deleteAnswerVariantBtn).addContainerGap( - 10, 10).addComponent( - editAnswerVariantInHtmlEditor) - .addContainerGap()).addGroup( - jPanel4Layout.createSequentialGroup().addContainerGap() - .addComponent(jScrollPane1, - javax.swing.GroupLayout.DEFAULT_SIZE, 364, - Short.MAX_VALUE).addContainerGap())); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout + .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel4Layout.createSequentialGroup() + .addComponent(moveUpAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(moveDownAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(insertAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(deleteAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(editAnswerVariantInHtmlEditor) + .addContainerGap() + ) + .addGroup( + jPanel4Layout.createSequentialGroup().addContainerGap() + .addComponent(jScrollPane1, + javax.swing.GroupLayout.DEFAULT_SIZE, 364, + Short.MAX_VALUE) + .addContainerGap() + ) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, + jPanel4Layout + .createSequentialGroup() + .addContainerGap() + .addComponent(programminglanguageLabel, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE + ) + .addContainerGap(10, 10) + .addComponent(programmingLanguage, 118, 118, 118) + .addContainerGap() + ) + ); jPanel4Layout .setVerticalGroup(jPanel4Layout @@ -377,7 +415,22 @@ .addGroup( jPanel4Layout .createSequentialGroup() - .addContainerGap() + .addContainerGap(10, 10) + .addGroup( + jPanel4Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addGroup( + jPanel4Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(programminglanguageLabel, + 20, 20, 20) + .addComponent(programmingLanguage, + 20, 20, 20) + ) + ) + .addContainerGap(10, 10) .addComponent( jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumber.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumber.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumber.java 2008-05-18 15:05:01 UTC (rev 143) @@ -0,0 +1,21 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +public class PartNumber { + private int number = 0; + + public PartNumber(){ + + } + + public PartNumber(int aNumber){ + number = aNumber; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumberCellRenderer.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumberCellRenderer.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartNumberCellRenderer.java 2008-05-18 15:05:01 UTC (rev 143) @@ -0,0 +1,32 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +import java.awt.Color; +import java.awt.Component; + +import javax.swing.JLabel; +import javax.swing.JTable; +import javax.swing.UIManager; +import javax.swing.table.TableCellRenderer; + +public class PartNumberCellRenderer extends JLabel implements + TableCellRenderer { + + /** + * + */ + private static final long serialVersionUID = 1L; + + public PartNumberCellRenderer() { + setOpaque(true); + } + + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + + this.setBackground((Color)UIManager.getDefaults().get("Label.background")); + this.setForeground((Color)UIManager.getDefaults().get("Label.foreground")); + + setText((value == null) ? "" : String.valueOf(((PartNumber)value).getNumber())); + return this; + } +} \ No newline at end of file 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-18 13:47:32 UTC (rev 142) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartsTable.java 2008-05-18 15:05:01 UTC (rev 143) @@ -17,5 +17,6 @@ setDefaultRenderer(CompileQPart.class, new MultiLineCellRenderer()); setDefaultRenderer(PartAttributes.class, new PartAttributesRenderer()); + setDefaultRenderer(PartNumber.class, new PartNumberCellRenderer()); } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-18 13:47:32 UTC (rev 142) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-18 15:05:01 UTC (rev 143) @@ -5,151 +5,152 @@ import javax.swing.table.DefaultTableModel; +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.PartNumber; + public class CompileQPartsTableModel extends DefaultTableModel { - /** - * - */ - private static final long serialVersionUID = 1L; + /** + * + */ + private static final long serialVersionUID = 1L; - public List<CompileQPart> questionParts = new ArrayList<CompileQPart>(); + public List<CompileQPart> questionParts = new ArrayList<CompileQPart>(); - @Override - public Class<?> getColumnClass(int col) { - if (col == 1){ - return CompileQPart.class; - } - - if (col == 2){ - return PartAttributes.class; - } - - return Object.class; + @Override + public Class<?> getColumnClass(int col) { + switch (col) { + case 0: + return PartNumber.class; + case 1: + return CompileQPart.class; + case 2: + return PartAttributes.class; + default: + return Object.class; } + } - @Override - public int getColumnCount() { - return 3; + @Override + public int getColumnCount() { + return 3; + } + + @Override + public String getColumnName(int arg0) { + switch (arg0) { + case 0: + return "#"; + case 1: + return "Part content"; + default: + return "Options"; } + } - @Override - public String getColumnName(int arg0) { - switch (arg0) { - case 0: - return "#"; - case 1: - return "Part content"; - default: - return "Options"; - } + @Override + public int getRowCount() { + + if (questionParts == null) { + return 0; } - @Override - public int getRowCount() { + int answersCount = questionParts.size(); - if (questionParts == null) { - return 0; - } + return answersCount > 0 ? answersCount : 1; + } - int answersCount = questionParts.size(); - - - - return answersCount > 0 ? answersCount : 1; + @Override + public Object getValueAt(int row, int col) { + if (row == questionParts.size()) { + return null; } - @Override - public Object getValueAt(int row, int col) { - if (row == questionParts.size()) { - return null; - } + switch (col) { + case 0: + return new PartNumber(row + 1); + case 1: + return questionParts.get(row); + case 2: + return questionParts.get(row).getPartAttributes(); + default: + return null; + } + } - switch (col) { - case 0: - return row + 1; - case 1: - return questionParts.get(row); - case 2: - return questionParts.get(row).getPartAttributes(); - default: - return null; - } + @Override + public boolean isCellEditable(int row, int col) { + switch (col) { + case 0: + return false; + case 1: + return true; + case 2: + return true; + default: + return false; } + } - @Override - public boolean isCellEditable(int row, int col) { - switch (col){ - case 0: - return false; - case 1: - return true; - case 2: - return true; - default: - return false; - } + @Override + public void setValueAt(Object value, int row, int col) { + if (row == questionParts.size()) { + questionParts.add(new CompileQPart("")); } - @Override - public void setValueAt(Object value, int row, int col) { - if (row == questionParts.size()) { - questionParts.add(new CompileQPart("")); - } + String newValue = value.toString(); - String newValue = value.toString(); + switch (col) { + case 1: + questionParts.get(row).setAnswerText(newValue); + break; + case 2: + questionParts.get(row).setPartAttributes((PartAttributes) value); + break; + } - switch (col) { - case 1: - questionParts.get(row).setAnswerText(newValue); - break; - case 2: - questionParts.get(row).setPartAttributes((PartAttributes)value); - break; - } + fireTableRowsUpdated(row, row); + } - fireTableRowsUpdated(row, row); + public void deleteRow(int selectedRow) { + if (selectedRow < questionParts.size() && selectedRow >= 0) { + questionParts.remove(selectedRow); + fireTableRowsDeleted(selectedRow, selectedRow); } + } - public void deleteRow(int selectedRow) { - if (selectedRow < questionParts.size() && selectedRow >= 0) { - questionParts.remove(selectedRow); - fireTableRowsDeleted(selectedRow, selectedRow); - } + public void insertRow(int selectedRow) { + if (selectedRow >= questionParts.size()) { + selectedRow--; } - public void insertRow(int selectedRow) { - if (selectedRow >= questionParts.size()){ - selectedRow--; - } - - questionParts.add(selectedRow + 1, new CompileQPart("")); - fireTableRowsInserted(selectedRow + 1, selectedRow + 1); + questionParts.add(selectedRow + 1, new CompileQPart("")); + fireTableRowsInserted(selectedRow + 1, selectedRow + 1); + } + + public boolean moveUp(int selectedRow) { + if (selectedRow < 1 || selectedRow >= questionParts.size()) { + return false; } - public boolean moveUp(int selectedRow) { - if (selectedRow < 1 || selectedRow >= questionParts.size()){ - return false; - } - - CompileQPart answer = questionParts.get(selectedRow); - questionParts.set(selectedRow, questionParts.get(selectedRow - 1)); - questionParts.set(selectedRow - 1, answer); - - fireTableRowsUpdated(selectedRow - 1, selectedRow); - - return true; + CompileQPart answer = questionParts.get(selectedRow); + questionParts.set(selectedRow, questionParts.get(selectedRow - 1)); + questionParts.set(selectedRow - 1, answer); + + fireTableRowsUpdated(selectedRow - 1, selectedRow); + + return true; + } + + public boolean moveDown(int selectedRow) { + if (selectedRow < 0 || selectedRow >= questionParts.size() - 1) { + return false; } - public boolean moveDown(int selectedRow) { - if (selectedRow < 0 || selectedRow >= questionParts.size() - 1){ - return false; - } - - CompileQPart answer = questionParts.get(selectedRow); - questionParts.set(selectedRow, questionParts.get(selectedRow + 1)); - questionParts.set(selectedRow + 1, answer); - - fireTableRowsUpdated(selectedRow + 1, selectedRow); - - return true; - } + CompileQPart answer = questionParts.get(selectedRow); + questionParts.set(selectedRow, questionParts.get(selectedRow + 1)); + questionParts.set(selectedRow + 1, answer); + + fireTableRowsUpdated(selectedRow + 1, selectedRow); + + return true; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-24 18:52:22
|
Revision: 166 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=166&view=rev Author: sem62 Date: 2008-05-24 11:52:29 -0700 (Sat, 24 May 2008) Log Message: ----------- Fixed bugs with min / max score calculation and showing AnswerStatus dialog Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 17:14:09 UTC (rev 165) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 18:52:29 UTC (rev 166) @@ -4,6 +4,7 @@ import javax.swing.JApplet; +import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.FFManifest.resource.Resource; @@ -40,9 +41,14 @@ try { System.out.print("Initialize(" + parameter + ");\n"); - GlobalStateInformation.setCurrentActivity(SummaryPageManager - .getInstance().getManifest().findItemByIdentifier( - nextItemIdentifier)); + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + TreeItem item = manifest.findItemByIdentifier(nextItemIdentifier); + + GlobalStateInformation.setCurrentActivity(item); + + UserAnswerStatus answer = AnswersStatusManager.getInstance().getAnswerStatus(item); + + answer.setRawAnswer(null); } catch (Exception e) { e.printStackTrace(); return "false"; @@ -68,18 +74,18 @@ } private void showAnswerResult() { - TreeItem currentActivity = GlobalStateInformation - .getCurrentActivity(); + TreeItem currentActivity = GlobalStateInformation.getCurrentActivity(); String identifier = ""; if (currentActivity != null) { identifier = currentActivity.getIdentifier(); - TreeItem item = SummaryPageManager.getInstance() - .getManifest().findItemByIdentifier(identifier); + TreeItem item = SummaryPageManager.getInstance().getManifest().findItemByIdentifier(identifier); ItemModel model = ItemModels.getModelFromItem(item); - UserAnswerStatus answerStatus = AnswersStatusManager - .getInstance().getAnswerStatus(item); - model.showAnswerStatus(answerStatus); + UserAnswerStatus answerStatus = AnswersStatusManager.getInstance().getAnswerStatus(item); + + if (answerStatus.getRawAnswer() != null && answerStatus.getRawAnswer().length > 0){ + model.showAnswerStatus(answerStatus); + } } redirectTo(identifier); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-24 17:14:09 UTC (rev 165) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-24 18:52:29 UTC (rev 166) @@ -54,7 +54,7 @@ List<SimpleQuestionAnswer> answers = data.getAnswers().answers; - if (data.getAnswers().getAnswerType() != SimpleQuestionAnswersDataModel.ANSWER_TYPE_SELECT_ONE) { + if (data.getAnswers().getAnswerType() == SimpleQuestionAnswersDataModel.ANSWER_TYPE_CHOOSE_FEW) { result = getSum(result, answers, +1); } else { if (answers.size() > 0) { @@ -72,7 +72,7 @@ List<SimpleQuestionAnswer> answers = data.getAnswers().answers; - if (data.getAnswers().getAnswerType() != SimpleQuestionAnswersDataModel.ANSWER_TYPE_SELECT_ONE) { + if (data.getAnswers().getAnswerType() == SimpleQuestionAnswersDataModel.ANSWER_TYPE_CHOOSE_FEW) { result = getSum(result, answers, -1); } else { if (answers.size() > 0) { @@ -87,7 +87,7 @@ SimpleQuestionData data = getData(anItem); List<SimpleQuestionAnswer> answers = data.getAnswers().answers; - if (userAnswers.length != 1 || (userAnswers[0].length() != answers.size() && data.getAnswers().getAnswerType() != SimpleQuestionAnswersDataModel.ANSWER_TYPE_TYPE)) { + if (userAnswers == null || userAnswers.length != 1 || (userAnswers[0].length() != answers.size() && data.getAnswers().getAnswerType() != SimpleQuestionAnswersDataModel.ANSWER_TYPE_TYPE)) { return getAnswerMinScore(anItem); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-26 19:15:14
|
Revision: 170 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=170&view=rev Author: sem62 Date: 2008-05-26 12:15:22 -0700 (Mon, 26 May 2008) Log Message: ----------- Added "show user answer status dialog" parameter into Settings and put checkBoxMenuItem into MainMenu. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-26 18:45:06 UTC (rev 169) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-26 19:15:22 UTC (rev 170) @@ -39,15 +39,18 @@ System.out.print("Initialize(" + parameter + ");\n"); if (!nextItemIdentifier.equals("")) { - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - TreeItem item = manifest.findItemByIdentifier(nextItemIdentifier); + Manifest manifest = SummaryPageManager.getInstance() + .getManifest(); + TreeItem item = manifest + .findItemByIdentifier(nextItemIdentifier); if (item != null) { GlobalStateInformation.setCurrentActivity(item); - UserAnswerStatus answer = AnswersStatusManager.getInstance().getAnswerStatus(item); + UserAnswerStatus answer = AnswersStatusManager + .getInstance().getAnswerStatus(item); - if (answer != null){ + if (answer != null) { answer.setRawAnswer(null); } } @@ -82,20 +85,23 @@ String identifier = ""; if (currentActivity != null) { identifier = currentActivity.getIdentifier(); - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - TreeItem item = manifest.findItemByIdentifier(identifier); - ItemModel model = ItemModels.getModelFromItem(item); + if (Settings.getInstance().isShowAnswerResultDlg()) { + Manifest manifest = SummaryPageManager.getInstance() + .getManifest(); + TreeItem item = manifest.findItemByIdentifier(identifier); + ItemModel model = ItemModels.getModelFromItem(item); - UserAnswerStatus answerStatus = AnswersStatusManager.getInstance() - .getAnswerStatus(item); + UserAnswerStatus answerStatus = AnswersStatusManager + .getInstance().getAnswerStatus(item); - if (answerStatus.getRawAnswer() != null - && answerStatus.getRawAnswer().length > 0) { - model.showAnswerStatus(answerStatus); + if (answerStatus.getRawAnswer() != null + && answerStatus.getRawAnswer().length > 0) { + model.showAnswerStatus(answerStatus); + } } + + redirectTo(identifier); } - - redirectTo(identifier); } private void redirectTo(String identifier) { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java 2008-05-26 18:45:06 UTC (rev 169) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java 2008-05-26 19:15:22 UTC (rev 170) @@ -3,15 +3,27 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import edu.lnu.FireFly.WebEditor.Data.AnswersStatusManager; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; -public class MainMenu extends JMenuBar implements ActionListener { +public class MainMenu extends JMenuBar implements ActionListener, + ChangeListener { + @Override + public void stateChanged(ChangeEvent arg0) { + if (arg0.getSource().equals(showUserAnswerStautsMenuItem)) { + boolean selected = showUserAnswerStautsMenuItem.isSelected(); + Settings.getInstance().setShowAnswerResultDlg(selected); + } + } + private MainMenuListenet listener = null; /** * @@ -48,8 +60,8 @@ e.printStackTrace(); } } - - public void setListener(MainMenuListenet listener){ + + public void setListener(MainMenuListenet listener) { this.listener = listener; } @@ -60,9 +72,18 @@ JMenu editMenu = new JMenu("Edit"); add(editMenu); + JMenu optionMenu = new JMenu("Options"); + add(optionMenu); + + showUserAnswerStautsMenuItem = new JCheckBoxMenuItem( + "Show answer result dlg", Settings.getInstance() + .isShowAnswerResultDlg()); + showUserAnswerStautsMenuItem.addChangeListener(this); + optionMenu.add(showUserAnswerStautsMenuItem); + resetMenuItem = new JMenuItem("Reset user activity"); resetMenuItem.addActionListener(this); - fileMenu.add(resetMenuItem); + editMenu.add(resetMenuItem); openMenuItem = new JMenuItem("Open"); openMenuItem.addActionListener(this); @@ -82,6 +103,7 @@ protected JMenuItem openMenuItem = null; protected JMenuItem resetMenuItem = null; + protected JMenuItem showUserAnswerStautsMenuItem = null; protected JMenuItem saveMenuItem = null; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-26 18:45:06 UTC (rev 169) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-26 19:15:22 UTC (rev 170) @@ -10,6 +10,8 @@ private long autoSaveInterval = 5 * 60 * 1000; private long nopInterval = 60 * 1000; + + private boolean showAnswerResultDlg = false; private static Settings obj = null; @@ -89,4 +91,12 @@ public void setNopInterval(long nopInterval) { this.nopInterval = nopInterval; } + + public boolean isShowAnswerResultDlg() { + return showAnswerResultDlg; + } + + public void setShowAnswerResultDlg(boolean showAnswerResultDlg) { + this.showAnswerResultDlg = showAnswerResultDlg; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-08 20:56:53
|
Revision: 107 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=107&view=rev Author: sem62 Date: 2008-05-08 13:56:59 -0700 (Thu, 08 May 2008) Log Message: ----------- Fully working LecturePropertyDialog. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-08 20:11:53 UTC (rev 106) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-08 20:56:59 UTC (rev 107) @@ -1,16 +1,16 @@ package edu.lnu.FireFly.WebEditor; -import javax.swing.JTextField; +import javax.swing.text.JTextComponent; import netscape.javascript.JSObject; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; public class AppletWithWYSIWYGEditor extends AppletWithApiHandle{ private boolean htmlEditing = false; - private JTextField textField = null; + private JTextComponent textField = null; private PropertyDlg editingDlg = null; - public void htmlEdit(JTextField captionTextField2, PropertyDlg dlg) { + public void htmlEdit(JTextComponent captionTextField2, PropertyDlg dlg) { JSObject win = JSObject.getWindow(this); Object[] params = new String[1]; params[0] = captionTextField2.getText(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 20:11:53 UTC (rev 106) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 20:56:59 UTC (rev 107) @@ -24,7 +24,7 @@ captionTextField.setText(titleTextField.getText()); } captionTextField.setEnabled(!sameAsTitleCheckbox.isSelected()); - editContentInHtmlBtn.setEnabled(captionTextField.isEnabled()); + editCaptionInHtmlBtn.setEnabled(captionTextField.isEnabled()); } } @@ -35,10 +35,10 @@ private javax.swing.JCheckBox sameAsTitleCheckbox; + private javax.swing.JButton editCaptionInHtmlBtn; private javax.swing.JButton editContentInHtmlBtn; private javax.swing.JEditorPane contentEditorPane; - private javax.swing.JLabel titleLabel; private javax.swing.JPanel titlePanel; private javax.swing.JPanel captionPanel; private javax.swing.JPanel contentPanel; @@ -57,19 +57,23 @@ public void actionPerformed(ActionEvent arg0) { super.actionPerformed(arg0); - if (arg0.getSource() == editContentInHtmlBtn) { + if (arg0.getSource() == editCaptionInHtmlBtn) { editTextFieldInHtmlEditor(captionTextField); } + + if (arg0.getSource() == editContentInHtmlBtn) { + editTextFieldInHtmlEditor(contentEditorPane); + } } private void initComponents() { setTitle("Propertiests..."); titlePanel = new javax.swing.JPanel(); - titleLabel = new javax.swing.JLabel(); titleTextField = new javax.swing.JTextField(); captionPanel = new javax.swing.JPanel(); captionTextField = new javax.swing.JTextField(); sameAsTitleCheckbox = new javax.swing.JCheckBox(); + editCaptionInHtmlBtn = new javax.swing.JButton(); editContentInHtmlBtn = new javax.swing.JButton(); contentPanel = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); @@ -77,15 +81,19 @@ okButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); + editCaptionInHtmlBtn.addActionListener(this); editContentInHtmlBtn.addActionListener(this); okButton.addActionListener(this); cancelButton.addActionListener(this); sameAsTitleCheckbox.addChangeListener(this); + + editContentInHtmlBtn.setText("HTML Editor"); + setResizable(false); + setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); titlePanel.setBorder(javax.swing.BorderFactory .createTitledBorder("Title")); - titleLabel.setText("Title"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout( titlePanel); @@ -93,31 +101,22 @@ jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING).addComponent( titleTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 412, - Short.MAX_VALUE).addGroup( - jPanel1Layout.createSequentialGroup().addComponent(titleLabel) - .addContainerGap())); - jPanel1Layout - .setVerticalGroup(jPanel1Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel1Layout - .createSequentialGroup() - .addComponent(titleLabel) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - titleTextField, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE))); + Short.MAX_VALUE)); + jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING).addGroup( + jPanel1Layout.createSequentialGroup().addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(titleTextField, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE))); captionPanel.setBorder(javax.swing.BorderFactory .createTitledBorder("Caption")); sameAsTitleCheckbox.setText("Same as title"); - editContentInHtmlBtn.setText("..."); + editCaptionInHtmlBtn.setText("..."); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout( captionPanel); @@ -132,7 +131,7 @@ captionTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE).addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(editContentInHtmlBtn, 30, 30, 30))); + .addComponent(editCaptionInHtmlBtn, 30, 30, 30))); jPanel2Layout .setVerticalGroup(jPanel2Layout .createParallelGroup( @@ -151,7 +150,7 @@ .createParallelGroup( javax.swing.GroupLayout.Alignment.BASELINE) .addComponent( - editContentInHtmlBtn, + editCaptionInHtmlBtn, 20, 20, 20) .addComponent( captionTextField, @@ -167,13 +166,27 @@ javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout( contentPanel); contentPanel.setLayout(jPanel3Layout); - jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING).addComponent( - jScrollPane1)); - jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING).addComponent( - jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, - javax.swing.GroupLayout.PREFERRED_SIZE)); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup() + .addContainerGap() + .addComponent(editContentInHtmlBtn)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 486, Short.MAX_VALUE) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup() + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(editContentInHtmlBtn, 20, 20, 20)) + ); +// jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup( +// javax.swing.GroupLayout.Alignment.LEADING).addComponent( +// jScrollPane1)); +// jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup( +// javax.swing.GroupLayout.Alignment.LEADING).addComponent( +// jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174, +// javax.swing.GroupLayout.PREFERRED_SIZE)); okButton.setText("Ok"); @@ -194,11 +207,6 @@ layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - contentPanel, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) .addGroup( layout .createSequentialGroup() @@ -216,16 +224,20 @@ javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent( + contentPanel, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() - .addComponent( - cancelButton) + .addComponent(cancelButton, 80, 80, 80) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( - okButton) + okButton, 80, 80, 80) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED))) .addContainerGap())))); @@ -262,9 +274,8 @@ layout .createParallelGroup( javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent( - cancelButton) - .addComponent(okButton)) + .addComponent(cancelButton, 20, 20, 20) + .addComponent(okButton, 20, 20, 20)) .addContainerGap())); pack(); @@ -289,16 +300,16 @@ LectureModel model = new LectureModel(); String title = manifestItem.getTitle(); - String caption = ((LectureData) model - .getItemData(manifestItem)).getCaption(); - + String caption = ((LectureData) model.getItemData(manifestItem)) + .getCaption(); + dlg.sameAsTitleCheckbox.setSelected(title.equals(caption)); dlg.titleTextField.setText(title); dlg.titleTextField.selectAll(); dlg.captionTextField.setText(caption); - + dlg.contentEditorPane.setText(((LectureData) model .getItemData(manifestItem)).getContent()); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 20:11:53 UTC (rev 106) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 20:56:59 UTC (rev 107) @@ -4,7 +4,7 @@ import java.awt.event.ActionListener; import javax.swing.JDialog; -import javax.swing.JTextField; +import javax.swing.text.JTextComponent; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.WebEditor; @@ -15,8 +15,8 @@ */ private static final long serialVersionUID = -6002603750731392120L; - protected void editTextFieldInHtmlEditor(JTextField captionTextField2) { - WebEditor.instance.htmlEdit(captionTextField2, this); + protected void editTextFieldInHtmlEditor(JTextComponent textComponent) { + WebEditor.instance.htmlEdit(textComponent, this); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-10 09:19:01
|
Revision: 117 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=117&view=rev Author: sem62 Date: 2008-05-10 02:19:03 -0700 (Sat, 10 May 2008) Log Message: ----------- Fixed bug: Sometimes, PrimaryObjective in Summary page was null. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 09:16:37 UTC (rev 116) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 09:19:03 UTC (rev 117) @@ -3,11 +3,8 @@ import java.util.ArrayList; import edu.lnu.FireFly.FFManifest.Manifest; -import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.FFManifest.item.sequencing.Sequencing; -import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.MapInfo; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objective; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.parser.TestDocException; @@ -75,7 +72,8 @@ ArrayList<String> objectiveIds = getShowingItemsIds(root); - Objectives objectives = getObjectivesInstance(summaryPage); + ItemModel model = ItemModels.getModelFromItem(summaryPage); + Objectives objectives = model.getObjectivesInstance(summaryPage); objectives.objective = new ArrayList<Objective>(); for (int i = 0; i < objectiveIds.size(); i++) { @@ -89,16 +87,6 @@ } } - private Objectives getObjectivesInstance(Item summaryPage) { - Sequencing sequencing = getSequencingInstance(summaryPage); - - if (sequencing.objectives == null) { - sequencing.objectives = ManifestFactory.createObjectives(); - } - - return sequencing.objectives; - } - private ArrayList<String> getShowingItemsIds(TreeItem root) { ArrayList<String> result = new ArrayList<String>(); @@ -106,7 +94,7 @@ TreeItem item = root.getChild(i); ItemModel model = ItemModels.getModelFromItem(item); if (model.getShowOnSummaryPage(item)) { - result.add(getItemId(item)); + result.add(model.getIdentifier(item)); } for (int j = 0; j < item.getChildCount(); j++) { @@ -114,7 +102,7 @@ ItemModel childModel = ItemModels.getModelFromItem(child); if (childModel.getShowOnSummaryPage(child)) { - result.add(getItemId(child)); + result.add(model.getIdentifier(child)); result.addAll(getShowingItemsIds(child)); } } @@ -124,7 +112,9 @@ } private void recursivlyUpdateObjectives(TreeItem root) { - updateItemObjectives(root); + + ItemModel model = ItemModels.getModelFromItem(root); + model.updateItemObjectives(root); for (int i = 0; i < root.getChildCount(); i++) { recursivlyUpdateObjectives(root.getChild(i)); @@ -227,59 +217,4 @@ } } - private Sequencing getSequencingInstance(TreeItem anItem) { - Sequencing sequencing = null; - - if (anItem.getClass() == Organization.class) { - if (((Organization) anItem).sequencing == null) { - ((Organization) anItem).sequencing = ManifestFactory - .createSequencing(); - } - - sequencing = ((Organization) anItem).sequencing; - } - - if (anItem.getClass() == Item.class) { - if (((Item) anItem).sequencing == null) { - ((Item) anItem).sequencing = ManifestFactory.createSequencing(); - } - - sequencing = ((Item) anItem).sequencing; - } - return sequencing; - } - - private void updateItemObjectives(TreeItem anItem) { - Sequencing sequencing = getSequencingInstance(anItem); - - if (sequencing.objectives == null) { - sequencing.objectives = ManifestFactory.createObjectives(); - } - - sequencing.objectives.primaryObjective = ManifestFactory - .createObjective(); - sequencing.objectives.primaryObjective.objectiveID = getItemId(anItem); - sequencing.objectives.primaryObjective.satisfiedByMeasure = true; - - MapInfo mapInfo = ManifestFactory.createMapInfo(); - mapInfo.writeNormalizedMeasure = true; - mapInfo.writeSatisfiedStatus = true; - mapInfo.targetObjectiveID = sequencing.objectives.primaryObjective.objectiveID; - - sequencing.objectives.primaryObjective.mapInfo = ManifestFactory - .createMapInfos(); - sequencing.objectives.primaryObjective.mapInfo.add(mapInfo); - } - - private String getItemId(TreeItem anItem) { - if (anItem.getClass() == Item.class) { - return ((Item) anItem).identifier; - } - - if (anItem.getClass() == Organization.class) { - return ((Organization) anItem).identifier; - } - - return null; - } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:16:37 UTC (rev 116) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:19:03 UTC (rev 117) @@ -10,8 +10,12 @@ import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.FFManifest.item.sequencing.Sequencing; +import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.MapInfo; +import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; +import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public abstract class ItemModel { @@ -161,5 +165,60 @@ return null; } + public Objectives getObjectivesInstance(Item summaryPage) { + ItemModel model = ItemModels.getModelFromItem(summaryPage); + Sequencing sequencing = model.getSequencingInstance(summaryPage); + + if (sequencing.objectives == null) { + sequencing.objectives = ManifestFactory.createObjectives(); + } + + return sequencing.objectives; + } + + public void updateItemObjectives(TreeItem anItem) { + Sequencing sequencing = getSequencingInstance(anItem); + + if (sequencing.objectives == null) { + sequencing.objectives = ManifestFactory.createObjectives(); + } + + sequencing.objectives.primaryObjective = ManifestFactory + .createObjective(); + sequencing.objectives.primaryObjective.objectiveID = getIdentifier(anItem); + sequencing.objectives.primaryObjective.satisfiedByMeasure = true; + + MapInfo mapInfo = ManifestFactory.createMapInfo(); + mapInfo.writeNormalizedMeasure = true; + mapInfo.writeSatisfiedStatus = true; + mapInfo.targetObjectiveID = sequencing.objectives.primaryObjective.objectiveID; + + sequencing.objectives.primaryObjective.mapInfo = ManifestFactory + .createMapInfos(); + sequencing.objectives.primaryObjective.mapInfo.add(mapInfo); + } + + private Sequencing getSequencingInstance(TreeItem anItem) { + Sequencing sequencing = null; + + if (anItem.getClass() == Organization.class) { + if (((Organization) anItem).sequencing == null) { + ((Organization) anItem).sequencing = ManifestFactory + .createSequencing(); + } + + sequencing = ((Organization) anItem).sequencing; + } + + if (anItem.getClass() == Item.class) { + if (((Item) anItem).sequencing == null) { + ((Item) anItem).sequencing = ManifestFactory.createSequencing(); + } + + sequencing = ((Item) anItem).sequencing; + } + return sequencing; + } + protected abstract ItemData createItemDataInstance(); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-10 09:16:37 UTC (rev 116) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-10 09:19:03 UTC (rev 117) @@ -2,8 +2,8 @@ import java.util.ArrayList; +import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; public class ItemModels { @@ -38,21 +38,27 @@ return null; } - public static void initializeAllItemDatas(TreeItem root) { + public static void synchronizeAllItemDatas(TreeItem root) { int childsCount = root.getChildCount(); + if (root.getClass() == Organization.class) { + // this is a root of tree. + synchronizeItemDatas(root, false); + } + for (int i = 0; i < childsCount; i++) { - TreeItem item = root.getChild(i); - ItemModel model = ItemModels.getModelFromItem(item); + synchronizeItemDatas(root.getChild(i), true); + } + } - if (item.getClass() == Item.class) { - model.synchronizeItemWithResource((Item)item, "course"); - } + private static void synchronizeItemDatas(TreeItem item, boolean recursivly) { + ItemModel model = ItemModels.getModelFromItem(item); - if (model.getClass() == ChapterModel.class - || model.getClass() == OrganizationModel.class) { - initializeAllItemDatas(item); - } + model.synchronizeItemWithResource(item, "course"); + + if ((model.getClass() == ChapterModel.class || model.getClass() == OrganizationModel.class) + && recursivly) { + synchronizeAllItemDatas(item); } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:16:37 UTC (rev 116) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:19:03 UTC (rev 117) @@ -76,7 +76,7 @@ .getFileContent("imsmanifest.xml", "course")); TreeDataModel.initInstance(manifest); - ItemModels.initializeAllItemDatas(manifest.getRoot()); + ItemModels.synchronizeAllItemDatas(manifest.getRoot()); SummaryPageManager.getInstance().setManifest(manifest); } @@ -137,7 +137,7 @@ try { manifest = ManifestFactory.createManifest(); SummaryPageManager.getInstance().setManifest(manifest); - ItemModels.initializeAllItemDatas(manifest.getRoot()); + ItemModels.synchronizeAllItemDatas(manifest.getRoot()); TreeDataModel.initInstance(manifest); TreeItem root = manifest.getRoot(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-10 10:09:07
|
Revision: 119 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=119&view=rev Author: sem62 Date: 2008-05-10 03:09:14 -0700 (Sat, 10 May 2008) Log Message: ----------- * Autosave process modification: AvtoSave called after last saving or opening with some interval, but not every interval milliseconds. * Not calling process. Simply getting LectureModel.conf from template with some interval after last communicating. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 09:32:21 UTC (rev 118) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 10:09:14 UTC (rev 119) @@ -6,15 +6,18 @@ public class AutoSaveThread implements Runnable { + private long nextSaveAt = 0; + @Override public void run() { + reset(); + try { while (true) { - Thread.sleep(Settings.getInstance().getAutoSaveInterval()); - try { - WebEditor.instance.saveManifest(); - } catch (TestDocException e) { - System.out.println("WARNING: Can't save manifest."); + Thread.sleep(5000); + if (System.currentTimeMillis() > nextSaveAt){ + processSave(); + reset(); } } } catch (InterruptedException e) { @@ -23,4 +26,16 @@ } } + public void reset() { + nextSaveAt = System.currentTimeMillis() + Settings.getInstance().getAutoSaveInterval(); + } + + private void processSave() { + try { + WebEditor.instance.saveManifest(); + } catch (TestDocException e) { + System.out.println("WARNING: Can't save manifest."); + } + } + } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 09:32:21 UTC (rev 118) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 10:09:14 UTC (rev 119) @@ -7,6 +7,7 @@ private String resourceLocation = "http://127.0.0.1/sem/WebEditor/"; private long autoSaveInterval = 5 * 60 * 1000; + private long nopInterval = 60 * 1000; public static Settings obj = null; @@ -58,4 +59,12 @@ public void setAutoSaveInterval(long autoSaveInterval) { this.autoSaveInterval = autoSaveInterval; } + + public long getNopInterval() { + return nopInterval; + } + + public void setNopInterval(long nopInterval) { + this.nopInterval = nopInterval; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 09:32:21 UTC (rev 118) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 10:09:14 UTC (rev 119) @@ -14,43 +14,68 @@ private HashMap<String, String> templates; private HashMap<String, String> contents; - + private long lastCommunicationTime = 0; + private static WebEditorServiceClient obj = null; - - private WebEditorServiceClient(){ - templates = new HashMap<String, String>(); - contents = new HashMap<String, String>(); + + private WebEditorServiceClient() { + templates = new HashMap<String, String>(); + contents = new HashMap<String, String>(); + + nopThread = new Thread(new Runnable() { + public void run() { + while (true) { + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + // do nothing. + } + + long lastCommunication = WebEditorServiceClient + .getInstance().getLastCommunicationTime(); + + if (System.currentTimeMillis() - lastCommunication > Settings.getInstance().getNopInterval()){ + WebEditorServiceClient.getInstance().nop(); + } + } + } + }); + nopThread.start(); } - - public static WebEditorServiceClient getInstance(){ - if (obj == null){ + + public static WebEditorServiceClient getInstance() { + if (obj == null) { obj = new WebEditorServiceClient(); } - + return obj; } + /** - * @param fName File name - * @param location Location name = template | course + * @param fName + * File name + * @param location + * Location name = template | course * @return */ public String getFileContent(String fName, String location) { - System.out.println("Getting file's content (fName=" + fName + "; location=" + location + ")..."); - - if (location.equalsIgnoreCase("template")){ + System.out.println("Getting file's content (fName=" + fName + + "; location=" + location + ")..."); + + if (location.equalsIgnoreCase("template")) { String template = templates.get(fName); - if (template != null){ + if (template != null) { System.out.println("Founded in templates hash."); return template; } } else { String content = contents.get(fName); - if (content != null){ + if (content != null) { System.out.println("Founded in contents hash."); return content; } } - + String result = ""; try { // Construct data @@ -58,18 +83,18 @@ + URLEncoder.encode(fName, "UTF-8"); data += "&" + URLEncoder.encode("location", "UTF-8") + "=" - + URLEncoder.encode(location, "UTF-8"); + + URLEncoder.encode(location, "UTF-8"); // Send data URL url = new URL(Settings.getInstance().getServiceLocation() + "getFileContent.php"); - + URLConnection conn = url.openConnection(); conn.setDoOutput(true); - + OutputStreamWriter wr = new OutputStreamWriter(conn .getOutputStream()); - + wr.write(data); wr.flush(); @@ -85,23 +110,24 @@ } catch (Exception e) { e.printStackTrace(); } - - if (location.equalsIgnoreCase("template")){ + + if (location.equalsIgnoreCase("template")) { templates.put(fName, result); } else { contents.put(fName, result); } - + + lastCommunicationTime = System.currentTimeMillis(); return result; } public void setFileContent(String fName, String content) { System.out.println("Setting file's content (fName=" + fName + ")..."); - + String hashedContent = contents.get(fName); - if (content.equals(hashedContent)){ + if (content.equals(hashedContent)) { System.out.println("Not modified."); - return ; + return; } contents.put(fName, content); @@ -112,18 +138,18 @@ String data = URLEncoder.encode("fName", "UTF-8") + "=" + URLEncoder.encode(fName, "UTF-8"); data += "&" + URLEncoder.encode("content", "UTF-8") + "=" - + URLEncoder.encode(content, "UTF-8"); + + URLEncoder.encode(content, "UTF-8"); // Send data URL url = new URL(Settings.getInstance().getServiceLocation() + "setFileContent.php"); - + URLConnection conn = url.openConnection(); conn.setDoOutput(true); - + OutputStreamWriter wr = new OutputStreamWriter(conn .getOutputStream()); - + wr.write(data); wr.flush(); @@ -139,5 +165,24 @@ } catch (Exception e) { e.printStackTrace(); } + + lastCommunicationTime = System.currentTimeMillis(); } + + protected void nop() { + lastCommunicationTime = System.currentTimeMillis(); + System.out.println("Nop"); + + getFileContent("LectureModel.conf", "template"); + } + + protected Thread nopThread; + + public long getLastCommunicationTime() { + return lastCommunicationTime; + } + + public void setLastCommunicationTime(long lastCommunicationTime) { + this.lastCommunicationTime = lastCommunicationTime; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:32:21 UTC (rev 118) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 10:09:14 UTC (rev 119) @@ -49,6 +49,10 @@ protected JMenuItem saveMenuItem = null; + private Thread threadForAautoSave; + + private AutoSaveThread autoSaveThread; + @Override public void actionPerformed(ActionEvent arg0) { try { @@ -66,12 +70,18 @@ public void saveManifest() throws TestDocException { Parser parser = new Parser(); + + autoSaveThread.reset(); + WebEditorServiceClient.getInstance().setFileContent("imsmanifest.xml", parser.toXML(manifest)); } public void openManifest() throws TestDocException { Parser parser = new Parser(); + + autoSaveThread.reset(); + manifest = parser.fromXML(WebEditorServiceClient.getInstance() .getFileContent("imsmanifest.xml", "course")); TreeDataModel.initInstance(manifest); @@ -86,26 +96,14 @@ @Override public void init() { - String paramCourseLocation = getParameter("courseLocation"); - String paramServiceLocation = getParameter("serviceLocation"); - String paramTemplateLocation = getParameter("templateLocation"); - String paramResourceLocation = getParameter("resourceLocation"); + parseParameter(); - if (paramCourseLocation != null){ - Settings.getInstance().setCourseLocation(paramCourseLocation); - } - if (paramServiceLocation != null){ - Settings.getInstance().setServiceLocation(paramServiceLocation); - } - if (paramTemplateLocation != null){ - Settings.getInstance().setTemplateLocation(paramTemplateLocation); - } - if (paramResourceLocation != null){ - Settings.getInstance().setResourceLocation(paramResourceLocation); - } - instance = this; + autoSaveThread = new AutoSaveThread(); + threadForAautoSave = new Thread(autoSaveThread); + threadForAautoSave.start(); + initMenu(); ItemModels.clear(); ItemModels.registerModel(new LectureModel()); @@ -121,10 +119,6 @@ CreateNewCourse(); } - Thread autoSaveThread = new Thread(new AutoSaveThread()); - - autoSaveThread.start(); - tree = new JTree(TreeDataModel.getInstance()); this.add(new JScrollPane(tree)); @@ -133,6 +127,26 @@ tree.addMouseListener(new CourseTreePopupMenu()); } + private void parseParameter() { + String paramCourseLocation = getParameter("courseLocation"); + String paramServiceLocation = getParameter("serviceLocation"); + String paramTemplateLocation = getParameter("templateLocation"); + String paramResourceLocation = getParameter("resourceLocation"); + + if (paramCourseLocation != null){ + Settings.getInstance().setCourseLocation(paramCourseLocation); + } + if (paramServiceLocation != null){ + Settings.getInstance().setServiceLocation(paramServiceLocation); + } + if (paramTemplateLocation != null){ + Settings.getInstance().setTemplateLocation(paramTemplateLocation); + } + if (paramResourceLocation != null){ + Settings.getInstance().setResourceLocation(paramResourceLocation); + } + } + private void CreateNewCourse() { try { manifest = ManifestFactory.createManifest(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <se...@us...> - 2008-05-13 16:49:10
|
Revision: 135 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=135&view=rev Author: sem62 Date: 2008-05-13 09:49:15 -0700 (Tue, 13 May 2008) Log Message: ----------- Added unknown item model for correct operations with courses, generated with third party editors. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-13 16:49:15 UTC (rev 135) @@ -202,7 +202,7 @@ .getShowOnSummaryPageMenuVisible()); limitConditionsMenu.setVisible(model - .getLimitConditionsMenuVisible()); + .getLimitConditionsMenuVisible(manifestItem)); showSummaryPageMenuItem.setVisible(model .getShowSummaryPageMenuVisible()); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -1,7 +1,6 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; @@ -59,7 +58,7 @@ } @Override - public boolean getLimitConditionsMenuVisible() { + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { return false; } @@ -87,21 +86,6 @@ } @Override - public boolean isApplaingForItem(TreeItem treeItem) { - if (treeItem.getClass() != Item.class) { - return false; - } - - Item item = (Item) treeItem; - if (item.parameters != null - && item.parameters.contains("pageType=Chapter")) { - return true; - } - - return false; - } - - @Override public boolean isRemovable() { return true; } @@ -110,7 +94,7 @@ public void remove(TreeItem aChapter) { if (!canDeleteChapter(aChapter)) { System.out - .print("This chapter contain items. Please, remove all childs and try again.\n"); + .print("This chapter contains items. Please, remove all childs and try again.\n"); return; } @@ -152,13 +136,6 @@ return result; } - @Override - public void rename(TreeItem item, String newTitle) { - ((Item) item).title = newTitle; - - TreeDataModel.getInstance().treeNodesChanged(item); - } - public void setShowSummaryPage(TreeItem anItem, boolean state) { ChapterItemData itemData = getData(anItem); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -16,6 +16,7 @@ import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; +import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public abstract class ItemModel { @@ -132,23 +133,38 @@ } } - public abstract boolean isApplaingForItem(TreeItem treeItem); + public boolean isApplaingForItem(TreeItem treeItem) { + if (treeItem.getClass() != Item.class) { + return false; + } + Item item = (Item) treeItem; + if (item.parameters != null + && item.parameters.contains("pageType=" + modelName)) { + return true; + } + + return false; + } + public final boolean isContainer() { return isContainerItem; } public abstract boolean isRemovable(); - public abstract void remove(TreeItem item); + public abstract void remove(TreeItem anItem); - public abstract void rename(TreeItem item, String newTitle); + public void rename(TreeItem item, String newTitle) { + ((Item) item).title = newTitle; + TreeDataModel.getInstance().treeNodesChanged(item); + } public abstract boolean synchronizeItemWithResource(TreeItem anItem, String location); public abstract boolean updateItemResource(TreeItem item, boolean updateSummaryPages); - public abstract boolean getLimitConditionsMenuVisible(); + public abstract boolean getLimitConditionsMenuVisible(TreeItem anItem); public abstract boolean getShowOnSummaryPageMenuVisible(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-13 16:49:15 UTC (rev 135) @@ -5,10 +5,23 @@ import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; +import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; +import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; +import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public class ItemModels { protected static ArrayList<ItemModel> registeredModels = new ArrayList<ItemModel>(); + + private static UnknownItemModel unknownModel = null; + public static UnknownItemModel getUnknownModel() { + if (unknownModel == null){ + unknownModel = new UnknownItemModel(); + } + + return unknownModel; + } + public static void registerModel(ItemModel model) { if (!registeredModels.contains(model)) { registeredModels.add(model); @@ -35,7 +48,7 @@ return registeredModels.get(i); } } - return null; + return getUnknownModel(); } public static void synchronizeAllItemDatas(TreeItem root) { @@ -65,4 +78,13 @@ public static void clear() { registeredModels.clear(); } + + static { + ItemModels.clear(); + ItemModels.registerModel(new LectureModel()); + ItemModels.registerModel(new SimpleQuestionModel()); + ItemModels.registerModel(new ChapterModel()); + ItemModels.registerModel(new OrganizationModel()); + ItemModels.registerModel(new SummaryPageModel()); + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -22,7 +22,7 @@ } @Override - public boolean getLimitConditionsMenuVisible() { + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { return true; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -2,7 +2,6 @@ import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; public class OrganizationModel extends ChapterModel{ @@ -41,13 +40,6 @@ } @Override - public void rename(TreeItem item, String newTitle) { - ((Organization)item).title = newTitle; - - TreeDataModel.getInstance().treeNodesChanged(item); - } - - @Override public boolean isRemovable() { return false; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -59,29 +59,14 @@ } @Override - public boolean isApplaingForItem(TreeItem treeItem) { - if (treeItem.getClass() != Item.class) { - return false; - } - - Item item = (Item) treeItem; - if (item.parameters != null - && item.parameters.contains("pageType=" + modelName)) { - return true; - } - - return false; - } - - @Override public boolean isRemovable() { return true; } @Override public void remove(TreeItem anItem) { - TreeDataModel.getInstance().treeNodesDeleted(anItem); anItem.getParent().removeChild(anItem); + TreeDataModel.getInstance().treeNodesDeleted(anItem); deleteResource(anItem); } @@ -108,12 +93,6 @@ return true; } - @Override - public void rename(TreeItem item, String newTitle) { - ((Item) item).title = newTitle; - TreeDataModel.getInstance().treeNodesChanged(item); - } - public final boolean synchronizeItemWithResource(TreeItem anItem, String location) { String res = loadResource(location, anItem); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -19,7 +19,7 @@ } @Override - public boolean getLimitConditionsMenuVisible() { + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { return true; } @@ -58,31 +58,10 @@ } @Override - public boolean isApplaingForItem(TreeItem treeItem) { - if (treeItem.getClass() != Item.class) { - return false; - } - - Item item = (Item) treeItem; - if (item.parameters != null - && item.parameters.contains("pageType=SimpleQuestion")) { - return true; - } - - return false; - } - - @Override public boolean isRemovable() { return true; } - @Override - public void rename(TreeItem item, String newTitle) { - ((Item) item).title = newTitle; - TreeDataModel.getInstance().treeNodesChanged(item); - } - protected ItemData createItemDataInstance() { return new SimpleQuestionData(); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -21,7 +21,7 @@ } @Override - public boolean getLimitConditionsMenuVisible() { + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { return false; } Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-13 16:49:15 UTC (rev 135) @@ -0,0 +1,81 @@ +package edu.lnu.FireFly.WebEditor.ItemModels; + +import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; + +public class UnknownItemModel extends ItemModel { + + @Override + public void ConfigureItem(TreeItem item) { + System.out.println("Can't doing this operation with unknown item model"); + } + + @Override + public void addItem(TreeItem parent) { + System.out.println("Can't doing this operation with unknown item model"); + } + + @Override + public boolean canAddToItem(TreeItem parent) { + return false; + } + + @Override + public boolean canConvertItem(TreeItem parent) { + return false; + } + + @Override + protected ItemData createItemDataInstance() { + System.out.println("Can't doing this operation with unknown item model"); + return null; + } + + @Override + protected String getDefaultTitle() { + return "Unknown"; + } + + @Override + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { + return anItem.getChildCount() == 0; + } + + @Override + public boolean getShowOnSummaryPageMenuVisible() { + return false; + } + + @Override + public boolean getShowSummaryPageMenuVisible() { + return false; + } + + @Override + protected void initializeDataForItem(Item anItem) { + System.out.println("Can't doing this operation with unknown item model"); + } + + @Override + public boolean isRemovable() { + return true; + } + + @Override + public void remove(TreeItem anItem) { + anItem.getParent().removeChild(anItem); + TreeDataModel.getInstance().treeNodesDeleted(anItem); + } + + @Override + public boolean synchronizeItemWithResource(TreeItem anItem, String location) { + return false; + } + + @Override + public boolean updateItemResource(TreeItem item, boolean updateSummaryPages) { + return false; + } + +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-12 21:39:55 UTC (rev 134) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-13 16:49:15 UTC (rev 135) @@ -25,10 +25,6 @@ import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; -import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; -import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; -import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; -import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class WebEditor extends AppletWithWYSIWYGEditor implements @@ -111,12 +107,6 @@ threadForAautoSave.start(); initMenu(); - ItemModels.clear(); - ItemModels.registerModel(new LectureModel()); - ItemModels.registerModel(new SimpleQuestionModel()); - ItemModels.registerModel(new ChapterModel()); - ItemModels.registerModel(new OrganizationModel()); - ItemModels.registerModel(new SummaryPageModel()); try { openManifest(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-14 21:06:42
|
Revision: 138 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=138&view=rev Author: sem62 Date: 2008-05-14 14:05:22 -0700 (Wed, 14 May 2008) Log Message: ----------- Added CompileQ model. Not working properly jet. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/TreeDataModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.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/ItemModels/CompileQ/ 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 Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,508 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.ListSelectionModel; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import javax.swing.table.DefaultTableColumnModel; + +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQData; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQModel; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPartsTableModel; + +/** + * + * @author Yura + */ +public class CompileQPropertiestsDlg extends PropertyDlg implements + ActionListener, ChangeListener { + + private static final long serialVersionUID = 1961383080461718171L; + + private javax.swing.JCheckBox sameAsTitleCheckBox; + private javax.swing.JCheckBox oneAnswerCheckBox; + private javax.swing.JLabel titleLabel; + private javax.swing.JPanel generalPanel; + private javax.swing.JPanel captionPanel; + private javax.swing.JPanel partsPanel; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JTable partsTable; + private javax.swing.JTextField titleTextField; + private javax.swing.JTextField captionTextField; + private javax.swing.JTextField questionTextField; + private javax.swing.JButton editCaptionInHtmlBtn; + private javax.swing.JButton editQuestionInHtmlBtn; + private javax.swing.JButton editAnswerVariantInHtmlEditor; + private javax.swing.JButton insertAnswerVariantBtn; + private javax.swing.JButton deleteAnswerVariantBtn; + private javax.swing.JButton moveUpAnswerVariantBtn; + private javax.swing.JButton moveDownAnswerVariantBtn; + private CompileQPartsTableModel simpleQuestionAnswersDataModel; + + private javax.swing.JTextField currentAnswerVariant; + + public CompileQPropertiestsDlg() { + obj = this; + + initComponents(); + } + + @Override + public void actionPerformed(ActionEvent arg0) { + super.actionPerformed(arg0); + + if (arg0.getSource() == editQuestionInHtmlBtn) { + editTextFieldInHtmlEditor(questionTextField); + } + + if (arg0.getSource() == editCaptionInHtmlBtn) { + editTextFieldInHtmlEditor(captionTextField); + } + + if (arg0.getSource() == editAnswerVariantInHtmlEditor) { + int selectedRow = partsTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + String text = partsTable.getModel().getValueAt(selectedRow, 1) + .toString(); + + currentAnswerVariant.setText(text); + + editTextFieldInHtmlEditor(currentAnswerVariant); + } + + if (arg0.getSource() == insertAnswerVariantBtn) { + int selectedRow = partsTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + simpleQuestionAnswersDataModel.insertRow(selectedRow); + partsTable.getSelectionModel().setSelectionInterval(selectedRow + 1, selectedRow + 1); + } + + if (arg0.getSource() == deleteAnswerVariantBtn) { + int selectedRow = partsTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + simpleQuestionAnswersDataModel.deleteRow(selectedRow); + + if (selectedRow >= simpleQuestionAnswersDataModel.getRowCount()){ + selectedRow--; + } + + partsTable.getSelectionModel().setSelectionInterval(selectedRow, + selectedRow); + } + if (arg0.getSource() == moveUpAnswerVariantBtn) { + int selectedRow = partsTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + if (simpleQuestionAnswersDataModel.moveUp(selectedRow)){ + partsTable.getSelectionModel().setSelectionInterval(selectedRow - 1, selectedRow - 1); + } + } + + if (arg0.getSource() == moveDownAnswerVariantBtn) { + int selectedRow = partsTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + if (simpleQuestionAnswersDataModel.moveDown(selectedRow)){ + partsTable.getSelectionModel().setSelectionInterval(selectedRow + 1, selectedRow+1); + } + } + } + + @Override + protected void fillFields() { + CompileQPropertiestsDlg dlg = (CompileQPropertiestsDlg) obj; + dlg.titleTextField.setText(manifestItem.getTitle()); + + CompileQModel itemModel = new CompileQModel(); + + 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(); + dlg.partsTable.setModel(dlg.simpleQuestionAnswersDataModel); + partsTable.getColumnModel().getColumn(1).setCellEditor(new MultiLineTableCellEditor()); + + DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable + .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 = partsTable.getSelectedRow(); + partsTable.getModel().setValueAt(text, selectedRow, 1); + } + + private void initComponents() { + setTitle("Propertiests..."); + + generalPanel = new javax.swing.JPanel(); + titleLabel = new javax.swing.JLabel(); + titleTextField = new javax.swing.JTextField(); + captionPanel = new javax.swing.JPanel(); + captionTextField = new javax.swing.JTextField(); + sameAsTitleCheckBox = new javax.swing.JCheckBox(); + questionTextField = new javax.swing.JTextField(); + oneAnswerCheckBox = new javax.swing.JCheckBox(); + partsPanel = new javax.swing.JPanel(); + jScrollPane1 = new javax.swing.JScrollPane(); + cancelButton = new javax.swing.JButton("Cancel"); + okButton = new javax.swing.JButton("Ok"); + editCaptionInHtmlBtn = new JButton("..."); + editQuestionInHtmlBtn = new JButton("..."); + editAnswerVariantInHtmlEditor = new JButton("HTML Editor"); + insertAnswerVariantBtn = new JButton("Insert"); + deleteAnswerVariantBtn = new JButton("Delete"); + + moveDownAnswerVariantBtn = new JButton("Down"); + moveUpAnswerVariantBtn = new JButton("Up"); + + insertAnswerVariantBtn.addActionListener(this); + deleteAnswerVariantBtn.addActionListener(this); + moveDownAnswerVariantBtn.addActionListener(this); + moveUpAnswerVariantBtn.addActionListener(this); + + 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); + + partsTable = new javax.swing.JTable(); + partsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + partsTable.setDefaultRenderer(String.class, new MultiLineCellRenderer()); + partsTable.setDefaultRenderer(Object.class, new MultiLineCellRenderer()); + partsTable.setDefaultRenderer(PartOptionsPanel.class, new PartOptionsPanel()); + + setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); + + generalPanel.setBorder(javax.swing.BorderFactory + .createTitledBorder("General")); + titleLabel.setText("Title"); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout( + generalPanel); + generalPanel.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING).addGroup( + jPanel1Layout.createSequentialGroup().addContainerGap() + .addComponent(titleLabel)).addGroup( + jPanel1Layout.createSequentialGroup().addContainerGap() + .addComponent(titleTextField, + javax.swing.GroupLayout.DEFAULT_SIZE, 364, + Short.MAX_VALUE).addContainerGap())); + jPanel1Layout + .setVerticalGroup(jPanel1Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel1Layout + .createSequentialGroup() + .addComponent(titleLabel) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + titleTextField, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap())); + + captionPanel.setBorder(javax.swing.BorderFactory + .createTitledBorder("Caption")); + sameAsTitleCheckBox.setText("Some as the title"); + + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout( + captionPanel); + captionPanel.setLayout(jPanel2Layout); + jPanel2Layout + .setHorizontalGroup(jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel2Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addComponent( + sameAsTitleCheckBox)) + .addContainerGap(283, Short.MAX_VALUE)) + .addGroup( + javax.swing.GroupLayout.Alignment.TRAILING, + jPanel2Layout + .createSequentialGroup() + .addContainerGap() + .addComponent( + captionTextField, + javax.swing.GroupLayout.DEFAULT_SIZE, + 370, Short.MAX_VALUE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + editCaptionInHtmlBtn, + javax.swing.GroupLayout.PREFERRED_SIZE, + 30, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap())); + jPanel2Layout + .setVerticalGroup(jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel2Layout + .createSequentialGroup() + .addComponent(sameAsTitleCheckBox) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup( + jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent( + editCaptionInHtmlBtn, + javax.swing.GroupLayout.PREFERRED_SIZE, + 20, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent( + captionTextField, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap())); + + oneAnswerCheckBox.setText("Only one correct answer"); + + partsPanel.setBorder(javax.swing.BorderFactory + .createTitledBorder("Variants of answer")); + + jScrollPane1.setViewportView(partsTable); + + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout( + partsPanel); + partsPanel.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup( + javax.swing.GroupLayout.Alignment.TRAILING).addGroup( + jPanel4Layout.createSequentialGroup() + .addComponent(moveUpAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(moveDownAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(insertAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent(deleteAnswerVariantBtn) + .addContainerGap(10, 10) + .addComponent( + editAnswerVariantInHtmlEditor) + .addContainerGap()).addGroup( + jPanel4Layout.createSequentialGroup().addContainerGap() + .addComponent(jScrollPane1, + javax.swing.GroupLayout.DEFAULT_SIZE, 364, + 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(10, 10) + .addGroup( + jPanel4Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent( + moveUpAnswerVariantBtn, + 20, 20, 20) + .addComponent( + moveDownAnswerVariantBtn, + 20, 20, 20) + .addComponent( + insertAnswerVariantBtn, + 20, 20, 20) + .addComponent( + deleteAnswerVariantBtn, + 20, 20, 20) + .addComponent( + editAnswerVariantInHtmlEditor, + 20, 20, 20)) + .addContainerGap())); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout( + getContentPane()); + getContentPane().setLayout(layout); + layout + .setHorizontalGroup(layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addComponent( + partsPanel, + 600, + 600, + Short.MAX_VALUE) + .addComponent( + captionPanel, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + generalPanel, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addGroup( + javax.swing.GroupLayout.Alignment.TRAILING, + layout + .createSequentialGroup() + .addComponent( + okButton) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + cancelButton))) + .addContainerGap())); + layout + .setVerticalGroup(layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + layout + .createSequentialGroup() + .addContainerGap() + .addComponent( + generalPanel, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + captionPanel, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + partsPanel, + 300, + 300, + 300) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup( + layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent( + cancelButton, + 20, 20, 20) + .addComponent(okButton, + 20, 20, 20)) + .addContainerGap( + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE))); + + this.getRootPane().setDefaultButton(okButton); + + pack(); + } + + @Override + protected void saveChanges() { + CompileQModel itemModel = new CompileQModel(); + + manifestItem.setTitle(titleTextField.getText()); + + CompileQData data = itemModel.getData(manifestItem); + + if (sameAsTitleCheckBox.isSelected()) { + data.setCaption(titleTextField.getText()); + } else { + data.setCaption(captionTextField.getText()); + } + + data.setQuestion(questionTextField.getText()); + + data.setAnswers(simpleQuestionAnswersDataModel); + + itemModel.updateItemResource(manifestItem, true); + } + + @Override + public void stateChanged(ChangeEvent e) { + if (e.getSource() == sameAsTitleCheckBox) { + if (sameAsTitleCheckBox.isSelected() + && captionTextField.isEnabled()) { + captionTextField.setText(titleTextField.getText()); + } + captionTextField.setEnabled(!sameAsTitleCheckBox.isSelected()); + } + + if (e.getSource() == oneAnswerCheckBox) { + simpleQuestionAnswersDataModel.setSingleVariant(oneAnswerCheckBox + .isSelected()); + } + } + +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,45 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +import java.awt.Component; + +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.UIManager; +import javax.swing.border.EmptyBorder; +import javax.swing.table.TableCellRenderer; + +class MultiLineCellRenderer extends JTextArea implements TableCellRenderer { + /** + * + */ + private static final long serialVersionUID = 1L; + + public MultiLineCellRenderer() { + setLineWrap(true); + setWrapStyleWord(true); + setOpaque(true); + } + + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + if (isSelected) { + setForeground(table.getSelectionForeground()); + setBackground(table.getSelectionBackground()); + } else { + setForeground(table.getForeground()); + 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)); + } + setText((value == null) ? "" : value.toString()); + return this; + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,51 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +import java.awt.Component; + +import javax.swing.AbstractCellEditor; +import javax.swing.BorderFactory; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.table.TableCellEditor; + +public class MultiLineTableCellEditor extends AbstractCellEditor implements TableCellEditor +{ + /** + * + */ + private static final long serialVersionUID = 1L; + protected JTextArea myEditor; + protected JScrollPane myScrollPane; + + public MultiLineTableCellEditor() { + myEditor = new JTextArea(); + myEditor.setWrapStyleWord(true); + myEditor.setLineWrap(true); + myEditor.setOpaque(true); +// myEditor.setRows(3); + myScrollPane = new JScrollPane(myEditor); + myScrollPane.setBorder(BorderFactory.createEmptyBorder()); + myScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + myScrollPane.getVerticalScrollBar().setFocusable(false); + myScrollPane.getHorizontalScrollBar().setFocusable(false); + } + + public Component getTableCellEditorComponent(JTable table, Object value, + boolean isSelected, int row, int column) + { + myEditor.setBackground(isSelected ? table.getSelectionBackground() : table.getBackground()); + myEditor.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); + myEditor.setText(value == null ? "" : value.toString()); + + myScrollPane.setBounds(0,0,table.getColumnModel().getColumn(column).getWidth(), 0); + int thisHeight = myEditor.getPreferredSize().height+2; + table.setRowHeight(row, thisHeight); + + return myScrollPane; + } + + public Object getCellEditorValue() { + return myEditor.getText(); + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/PartOptionsPanel.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,83 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ; + +import java.awt.Component; +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 { + + @Override + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + if (isSelected) { + setForeground(table.getSelectionForeground()); + setBackground(table.getSelectionBackground()); + + readOnlyCheckBox.setForeground(table.getSelectionForeground()); + isAnswerCheckBox.setForeground(table.getSelectionForeground()); + isVisibleCheckBox.setForeground(table.getSelectionForeground()); + + readOnlyCheckBox.setBackground(table.getSelectionBackground()); + isAnswerCheckBox.setBackground(table.getSelectionBackground()); + isVisibleCheckBox.setBackground(table.getSelectionBackground()); + } else { + setForeground(table.getForeground()); + setBackground(table.getBackground()); + + readOnlyCheckBox.setForeground(table.getForeground()); + isAnswerCheckBox.setForeground(table.getForeground()); + isVisibleCheckBox.setForeground(table.getForeground()); + + 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)); + } + + + + return this; + } + + /** + * + */ + private static final long serialVersionUID = 1L; + + public JCheckBox readOnlyCheckBox; + public JCheckBox isAnswerCheckBox; + public JCheckBox isVisibleCheckBox; + + public PartOptionsPanel() { + initComponents(); + } + + 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"); + + add(readOnlyCheckBox); + add(isAnswerCheckBox); + add(isVisibleCheckBox); + } +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/TreeDataModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/TreeDataModel.java 2008-05-14 18:01:48 UTC (rev 137) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/TreeDataModel.java 2008-05-14 21:05:22 UTC (rev 138) @@ -133,16 +133,16 @@ } public void treeNodesDeleted(TreeItem item) { + TreePath path = getItemPath(item); + + int[] indicies = new int[1]; + indicies[0] = item.getParent().getChildIndex(item); + Object[] children = new Object[1]; + children[0] = item; + TreeModelEvent event = new TreeModelEvent(this, path.getParentPath(), indicies, children); + for (int i=0; i < listeners.size(); i++){ TreeModelListener listener = listeners.get(i); - - TreePath path = getItemPath(item); - - int[] indicies = new int[1]; - indicies[0] = item.getParent().getChildIndex(item); - Object[] children = new Object[1]; - children[0] = item; - TreeModelEvent event = new TreeModelEvent(this, path.getParentPath(), indicies, children); listener.treeNodesRemoved(event); } } Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,108 @@ +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()); + + 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; + } + 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(); + + 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; + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,101 @@ +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 + protected String getDefaultTitle() { + return "New compile question"; + } + + @Override + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { + return true; + } + + @Override + public boolean getShowOnSummaryPageMenuVisible() { + return true; + } + + public CompileQModel() { + modelName = "CompileQModel"; + } + + @Override + public boolean canAddToItem(TreeItem parent) { + // TODO Auto-generated method stub + return true; + } + + @Override + public boolean canConvertItem(TreeItem parent) { + // TODO Auto-generated method stub + return false; + } + + @Override + public void ConfigureItem(TreeItem item) { + new CompileQPropertiestsDlg().showDialog(item); + + TreeDataModel.getInstance().treeNodesChanged(item); + WebEditor.tree.setSelectionPath(null); + WebEditor.tree.setSelectionPath(TreeDataModel.getInstance() + .getItemPath(item)); + } + + public CompileQData getData(TreeItem item) { + return ((CompileQData) getItemData(item)); + } + + @Override + public boolean isRemovable() { + return true; + } + + protected ItemData createItemDataInstance() { + return new CompileQData(); + } + + @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(); + } + + @Override + public boolean getShowSummaryPageMenuVisible() { + return false; + } +} \ No newline at end of file Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,26 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ; + +public class CompileQPart { + private String answerText = ""; + private double answerPoint = 0; + + public CompileQPart(String answerText) { + this.answerText = answerText; + } + + public double getAnswerPoint() { + return answerPoint; + } + + public String getAnswerText() { + return answerText; + } + + public void setAnswerPoint(double answerPoint) { + this.answerPoint = answerPoint; + } + + public void setAnswerText(String answerText) { + this.answerText = answerText; + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-14 21:05:22 UTC (rev 138) @@ -0,0 +1,174 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.table.DefaultTableModel; + +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> answers = new ArrayList<CompileQPart>(); + + @Override + public Class<?> getColumnClass(int col) { + + if (col == 2){ + return PartOptionsPanel.class; + } + + return Object.class; + } + + @Override + public int getColumnCount() { + return 3; + } + + @Override + public String getColumnName(int arg0) { + switch (arg0) { + case 0: + return "#"; + case 1: + return "Part content"; + default: + return "Options"; + } + } + + @Override + public int getRowCount() { + + if (answers == null) { + return 0; + } + + int answersCount = answers.size(); + + + + return answersCount > 0 ? answersCount : 1; + } + + @Override + public Object getValueAt(int row, int col) { + if (row == answers.size()) { + return ""; + } + + switch (col) { + case 0: + return row + 1; + case 1: + return answers.get(row).getAnswerText(); + case 2: + return answers.get(row).getAnswerPoint(); + default: + return ""; + } + } + + @Override + public boolean isCellEditable(int row, int col) { + switch (col){ + case 0: + return false; + case 1: + return true; + case 2: + return false; + 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("")); + } + + switch (arg2) { + case 1: + answers.get(arg1).setAnswerText(arg0.toString()); + break; + case 2: + try { + double value = 0; + if (!arg0.toString().equals("")) { + value = Double.valueOf(arg0.toString()); + } + answers.get(arg1).setAnswerPoint(value); + } catch (NumberFormatException e) { + System.out.print("Entered value is't a double value!\n"); + } + break; + } + + fireTableRowsUpdated(arg1, arg1); + } + + public void deleteRow(int selectedRow) { + if (selectedRow < answers.size() && selectedRow >= 0) { + answers.remove(selectedRow); + fireTableRowsDeleted(selectedRow, selectedRow); + } + } + + public void insertRow(int selectedRow) { + if (selectedRow >= answers.size()){ + selectedRow--; + } + + answers.add(selectedRow + 1, new CompileQPart("")); + fireTableRowsInserted(selectedRow + 1, selectedRow + 1); + } + + public boolean moveUp(int selectedRow) { + if (selectedRow < 1 || selectedRow >= answers.size()){ + return false; + } + + CompileQPart answer = answers.get(selectedRow); + answers.set(selectedRow, answers.get(selectedRow - 1)); + answers.set(selectedRow - 1, answer); + + fireTableRowsUpdated(selectedRow - 1, selectedRow); + + return true; + } + + public boolean moveDown(int selectedRow) { + if (selectedRow < 0 || selectedRow >= answers.size() - 1){ + return false; + } + + CompileQPart answer = answers.get(selectedRow); + answers.set(selectedRow, answers.get(selectedRow + 1)); + answers.set(selectedRow + 1, answer); + + fireTableRowsUpdated(selectedRow + 1, selectedRow); + + return true; + } +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-14 18:01:48 UTC (rev 137) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-14 21:05:22 UTC (rev 138) @@ -5,6 +5,7 @@ import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQModel; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; @@ -81,9 +82,10 @@ static { ItemModels.clear(); + ItemModels.registerModel(new ChapterModel()); ItemModels.registerModel(new LectureModel()); ItemModels.registerModel(new SimpleQuestionModel()); - ItemModels.registerModel(new ChapterModel()); + ItemModels.registerModel(new CompileQModel()); ItemModels.registerModel(new OrganizationModel()); ItemModels.registerModel(new SummaryPageModel()); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-14 18:01:48 UTC (rev 137) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-14 21:05:22 UTC (rev 138) @@ -65,8 +65,8 @@ @Override public void remove(TreeItem anItem) { + TreeDataModel.getInstance().treeNodesDeleted(anItem); anItem.getParent().removeChild(anItem); - TreeDataModel.getInstance().treeNodesDeleted(anItem); deleteResource(anItem); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-14 21:36:46
|
Revision: 139 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=139&view=rev Author: sem62 Date: 2008-05-14 14:36:31 -0700 (Wed, 14 May 2008) Log Message: ----------- Added cellSizeUpdae calls in MouseLister. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.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-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-14 21:36:31 UTC (rev 139) @@ -210,8 +210,7 @@ partsTable = new javax.swing.JTable(); partsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - partsTable.setDefaultRenderer(String.class, new MultiLineCellRenderer()); - partsTable.setDefaultRenderer(Object.class, new MultiLineCellRenderer()); + partsTable.setDefaultRenderer(MultiLineCellRenderer.class, new MultiLineCellRenderer()); partsTable.setDefaultRenderer(PartOptionsPanel.class, new PartOptionsPanel()); setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineCellRenderer.java 2008-05-14 21:36:31 UTC (rev 139) @@ -8,15 +8,15 @@ import javax.swing.border.EmptyBorder; import javax.swing.table.TableCellRenderer; -class MultiLineCellRenderer extends JTextArea implements TableCellRenderer { +public class MultiLineCellRenderer extends JTextArea implements TableCellRenderer { /** * */ private static final long serialVersionUID = 1L; public MultiLineCellRenderer() { + setWrapStyleWord(true); setLineWrap(true); - setWrapStyleWord(true); setOpaque(true); } @@ -39,7 +39,12 @@ } else { setBorder(new EmptyBorder(1, 2, 1, 2)); } + setText((value == null) ? "" : value.toString()); + +// int thisHeight = getPreferredSize().height + 2; +// table.setRowHeight(row, thisHeight); + return this; } } 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-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/MultiLineTableCellEditor.java 2008-05-14 21:36:31 UTC (rev 139) @@ -1,6 +1,10 @@ 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; import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; @@ -9,43 +13,84 @@ import javax.swing.JTextArea; import javax.swing.table.TableCellEditor; -public class MultiLineTableCellEditor extends AbstractCellEditor implements TableCellEditor -{ +public class MultiLineTableCellEditor extends AbstractCellEditor implements + TableCellEditor, InputMethodListener, KeyListener { + @Override + public void keyPressed(KeyEvent e) { +// cellSizeUpdate(); + } + + @Override + public void keyReleased(KeyEvent e) { +// cellSizeUpdate(); + } + + @Override + public void keyTyped(KeyEvent e) { + cellSizeUpdate(); + } + + protected int tableRow; + protected JTable table; + + @Override + public void caretPositionChanged(InputMethodEvent arg0) { + cellSizeUpdate(); + } + + private void cellSizeUpdate() { + int thisHeight = myEditor.getPreferredSize().height + 2; + table.setRowHeight(tableRow, thisHeight); + } + + @Override + public void inputMethodTextChanged(InputMethodEvent arg0) { + cellSizeUpdate(); + } + /** * */ private static final long serialVersionUID = 1L; protected JTextArea myEditor; protected JScrollPane myScrollPane; - + public MultiLineTableCellEditor() { myEditor = new JTextArea(); myEditor.setWrapStyleWord(true); myEditor.setLineWrap(true); myEditor.setOpaque(true); -// myEditor.setRows(3); + myEditor.addInputMethodListener(this); + myEditor.addKeyListener(this); + myScrollPane = new JScrollPane(myEditor); myScrollPane.setBorder(BorderFactory.createEmptyBorder()); - myScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + myScrollPane + .setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); myScrollPane.getVerticalScrollBar().setFocusable(false); myScrollPane.getHorizontalScrollBar().setFocusable(false); } public Component getTableCellEditorComponent(JTable table, Object value, - boolean isSelected, int row, int column) - { - myEditor.setBackground(isSelected ? table.getSelectionBackground() : table.getBackground()); - myEditor.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); + boolean isSelected, int row, int column) { + this.table = table; + this.tableRow = row; + + myEditor.setBackground(isSelected ? table.getSelectionBackground() + : table.getBackground()); + myEditor.setForeground(isSelected ? table.getSelectionForeground() + : table.getForeground()); myEditor.setText(value == null ? "" : value.toString()); - myScrollPane.setBounds(0,0,table.getColumnModel().getColumn(column).getWidth(), 0); - int thisHeight = myEditor.getPreferredSize().height+2; - table.setRowHeight(row, thisHeight); - + myScrollPane.setBounds(0, 0, table.getColumnModel().getColumn(column) + .getWidth(), 0); + + cellSizeUpdate(); + return myScrollPane; } public Object getCellEditorValue() { return myEditor.getText(); - } + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-14 21:05:22 UTC (rev 138) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPartsTableModel.java 2008-05-14 21:36:31 UTC (rev 139) @@ -5,6 +5,7 @@ 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 { @@ -19,7 +20,10 @@ @Override public Class<?> getColumnClass(int col) { - + if (col == 1){ + return MultiLineCellRenderer.class; + } + if (col == 2){ return PartOptionsPanel.class; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-20 21:40:26
|
Revision: 155 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=155&view=rev Author: sem62 Date: 2008-05-20 14:40:05 -0700 (Tue, 20 May 2008) Log Message: ----------- Called synchronizing activities methods if needed. Global objectives not synchronizing properly. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-20 21:37:32 UTC (rev 154) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-20 21:40:05 UTC (rev 155) @@ -36,7 +36,7 @@ System.out.print("GetValue(" + parameter + ");\n"); Cmi cmi = getCmiModel(); - + if (parameter.toLowerCase().startsWith("cmi.")){ return cmi.getValue(parameter.substring(4)); } else { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-20 21:37:32 UTC (rev 154) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-20 21:40:05 UTC (rev 155) @@ -14,8 +14,10 @@ import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.MapInfo; import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.resource.Resource; +import edu.lnu.FireFly.Rte.Activity; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; +import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; @@ -86,6 +88,8 @@ // .getItemPath(item)); TreeDataModel.getInstance().treeNodesChanged(item); + + Activity.synchronizeActivitiesStructure(SummaryPageManager.getInstance().getManifest()); } public final void registerConfigDlg(PropertyDlg dlg){ Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-20 21:37:32 UTC (rev 154) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-20 21:40:05 UTC (rev 155) @@ -6,6 +6,7 @@ import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; @@ -14,137 +15,168 @@ public abstract class ResourcedItemModel extends ItemModel { - @Override - public final void addItem(TreeItem parent) { - - if (this.getClass() == OrganizationModel.class){ - System.out.println("Can't add Organization into course."); - return ; - } - - Item item = new Item(); - item.setParent(parent); + @Override + public final void addItem(TreeItem parent) { - item.identifier = this.getClass().getSimpleName() + "_Item_" - + UUID.randomUUID().toString(); - item.title = getDefaultTitle(); - item.parameters = "pageType=" + modelName; + if (this.getClass() == OrganizationModel.class) { + System.out.println("Can't add Organization into course."); + return; + } - item.identifierref = createNewResource(); + Item item = new Item(); + item.setParent(parent); - initializeDataForItem(item); + item.identifier = this.getClass().getSimpleName() + "_Item_" + + UUID.randomUUID().toString(); + item.title = getDefaultTitle(); + item.parameters = "pageType=" + modelName; - try { - parent.addChild(item); - TreeDataModel.getInstance().treeNodesInserted(item); - } catch (Exception e) { - e.printStackTrace(); - return; - } + item.identifierref = createNewResource(); - ConfigureItem(item); + initializeDataForItem(item); + + try { + parent.addChild(item); + TreeDataModel.getInstance().treeNodesInserted(item); + } catch (Exception e) { + e.printStackTrace(); + return; } - protected final String loadResource(String location, TreeItem anItem) { - String res = ""; + ConfigureItem(item); + } - if (location.equalsIgnoreCase("course")) { - res = WebEditorServiceClient.getInstance().getFileContent(getConfFileName(anItem), - location); - } else { - res = WebEditorServiceClient.getInstance().getFileContent(modelName + ".conf", - location); - } - return res; + protected final String loadResource(String location, TreeItem anItem) { + String res = ""; + + if (location.equalsIgnoreCase("course")) { + res = WebEditorServiceClient.getInstance().getFileContent( + getConfFileName(anItem), location); + } else { + res = WebEditorServiceClient.getInstance().getFileContent( + modelName + ".conf", location); } + return res; + } - @Override - public boolean isRemovable() { + @Override + public boolean isRemovable() { + return true; + } + + @Override + public void remove(TreeItem anItem) { + TreeDataModel.getInstance().treeNodesDeleted(anItem); + anItem.getParent().removeChild(anItem); + + deleteResource(anItem); + } + + private void deleteResource(TreeItem anItem) { + if (canDeleteResource(anItem)) { + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + + String identifier = getIdentifierRef(anItem); + Resource resource = manifest.resources + .findResourceByIdentifier(identifier); + + WebEditorServiceClient.getInstance().deleteFile( + resource.getFullHref()); + WebEditorServiceClient.getInstance().deleteFile( + getConfFileName(anItem)); + + manifest.resources.deleteResource(identifier); + + SummaryPageManager.getInstance().updateSummaryPages(); + } + } + + private boolean isSubTreeUsingResource(TreeItem root, String identifierref, TreeItem exceptItem){ + if (root != exceptItem){ + if (getIdentifierRef(root).equals(identifierref)){ return true; + } } + + for (int i=0; i < root.getChildCount(); i++){ + TreeItem newRoot = root.getChild(i); + + if (isSubTreeUsingResource(newRoot, identifierref, exceptItem)){ + return true; + } + } + + return false; + } - @Override - public void remove(TreeItem anItem) { - TreeDataModel.getInstance().treeNodesDeleted(anItem); - anItem.getParent().removeChild(anItem); - - deleteResource(anItem); + private boolean canDeleteResource(TreeItem anItem) { + // TODO need check links to resource from other items in course tree. + + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + + TreeItem root = null; + try{ + root = manifest.getRoot(); } + catch (TestDocException e) { + e.printStackTrace(); + } + + return !isSubTreeUsingResource(root, getIdentifier(anItem), anItem); + } - private void deleteResource(TreeItem anItem) { - if (canDeleteResource(anItem)){ - Manifest manifest = SummaryPageManager.getInstance().getManifest(); + public final boolean synchronizeItemWithResource(TreeItem anItem, + String location) { + String res = loadResource(location, anItem); - String identifier = getIdentifierRef(anItem); - Resource resource = manifest.resources.findResourceByIdentifier(identifier); - - WebEditorServiceClient.getInstance().deleteFile(resource.getFullHref()); - WebEditorServiceClient.getInstance().deleteFile(getConfFileName(anItem)); - - manifest.resources.deleteResource(identifier); + ItemData itemData = getItemData(anItem); - SummaryPageManager.getInstance().updateSummaryPages(); - } + if (itemData == null) { + itemData = createItemDataInstance(); + setItemData(anItem, itemData); } - private boolean canDeleteResource(TreeItem anItem) { - // TODO need check links to resource from other items in course tree. - - return true; + if (res == null || res.trim().equals("")) { + return false; } - public final boolean synchronizeItemWithResource(TreeItem anItem, String location) - { - String res = loadResource(location, anItem); + itemData.unmarshal(new StringReader(res), anItem); - ItemData itemData = getItemData(anItem); + return true; + } - if (itemData == null) { - itemData = createItemDataInstance(); - setItemData(anItem, itemData); - } + protected String getConfFileName(TreeItem anItem) { + Resource resource = WebEditor.instance.getManifest().resources + .findResourceByIdentifier(getIdentifierRef(anItem)); - if (res == null || res.trim().equals("")) { - return false; - } + return resource.identifier + ".conf"; + } - itemData.unmarshal(new StringReader(res), anItem); + protected final void initializeDataForItem(Item anItem) { + ItemData itemData = createItemDataInstance(); - return true; - } + String res = loadResource("template", anItem); - protected String getConfFileName(TreeItem anItem) { - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(getIdentifierRef(anItem)); - - return resource.identifier + ".conf"; - } + itemData.unmarshal(new StringReader(res), anItem); - protected final void initializeDataForItem(Item anItem){ - ItemData itemData = createItemDataInstance(); - - String res = loadResource("template", anItem); - - itemData.unmarshal(new StringReader(res), anItem); - - setItemData(anItem, itemData); - } + setItemData(anItem, itemData); + } - protected abstract void updateResourceFile(TreeItem anItem); + protected abstract void updateResourceFile(TreeItem anItem); - public boolean updateItemResource(TreeItem anItem, - boolean updateSummaryPages) { + public boolean updateItemResource(TreeItem anItem, + boolean updateSummaryPages) { - updateResourceFile(anItem); - ItemData itemData = getItemData(anItem); + updateResourceFile(anItem); + ItemData itemData = getItemData(anItem); - WebEditorServiceClient.getInstance().setFileContent( - getConfFileName(anItem), itemData.marshal(anItem)); + WebEditorServiceClient.getInstance().setFileContent( + getConfFileName(anItem), itemData.marshal(anItem)); - if (updateSummaryPages) { - SummaryPageManager.getInstance().updateSummaryPages(); - } + if (updateSummaryPages) { + SummaryPageManager.getInstance().updateSummaryPages(); + } - return true; - } + return true; + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-20 21:37:32 UTC (rev 154) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-20 21:40:05 UTC (rev 155) @@ -86,7 +86,7 @@ ItemModels.synchronizeAllItemDatas(manifest.getRoot()); SummaryPageManager.getInstance().setManifest(manifest); - Activity.fullUpdate(manifest); + Activity.fullsynchronizeActivitiesStructure(manifest); } public Manifest getManifest() { @@ -152,7 +152,7 @@ model.synchronizeItemWithResource(root, "template"); SummaryPageManager.getInstance().updateSummaryPages(); - Activity.fullUpdate(manifest); + Activity.fullsynchronizeActivitiesStructure(manifest); } catch (Exception e) { e.printStackTrace(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-20 15:56:15
|
Revision: 147 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=147&view=rev Author: sem62 Date: 2008-05-20 08:54:30 -0700 (Tue, 20 May 2008) Log Message: ----------- * Creating method registerPropertyDlg(PropertyDlg dlg). It must be called from constructor of current model or somethig else. It must set an instance of property dialog for this model. * remove all methods Configure because they was the same. * Deleted all constructors from subclasses of PropertyDlg and added the same constructor to they parent class. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.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/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-20 15:54:30 UTC (rev 147) @@ -29,6 +29,7 @@ } public CourseTree(TreeDataModel dataModel, AppletContext appletContext) { + super(dataModel); this.appletContext = appletContext; this.addTreeSelectionListener(this); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-20 15:54:30 UTC (rev 147) @@ -16,569 +16,566 @@ */ public class ChapterPropertiestsDlg extends PropertyDlg implements ItemListener { - /** - * - */ - private static final long serialVersionUID = -4476966699237610316L; + /** + * + */ + private static final long serialVersionUID = -4476966699237610316L; - private javax.swing.JCheckBox flowCheckBox; - private javax.swing.JCheckBox choiceCheckBox; - private javax.swing.JCheckBox choiceExitCheckBox; - private javax.swing.JCheckBox forwarOnlyCheckBox; - private javax.swing.JComboBox configurationComboBox; - private javax.swing.JLabel titleLabel; - private javax.swing.JLabel jLabel2; - private javax.swing.JLabel jLabel3; - private javax.swing.JLabel jLabel4; - private javax.swing.JLabel jLabel5; - private javax.swing.JLabel jLabel6; - private javax.swing.JPanel generalPanel; - private javax.swing.JPanel controlModesPanel; - private javax.swing.JPanel jPanel3; - private javax.swing.JPanel jPanel4; - private javax.swing.JPanel jPanel5; - private javax.swing.JPanel jPanel6; - private javax.swing.JTextField titleTextField; + private javax.swing.JCheckBox flowCheckBox; + private javax.swing.JCheckBox choiceCheckBox; + private javax.swing.JCheckBox choiceExitCheckBox; + private javax.swing.JCheckBox forwarOnlyCheckBox; + private javax.swing.JComboBox configurationComboBox; + private javax.swing.JLabel titleLabel; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel6; + private javax.swing.JPanel generalPanel; + private javax.swing.JPanel controlModesPanel; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JTextField titleTextField; - /** Creates new form ChapterPropertiests */ - public ChapterPropertiestsDlg() { - obj = this; + protected void initComponents() { + setDefaultCloseOperation(HIDE_ON_CLOSE); + setTitle("Propertiests..."); - initComponents(); - } + generalPanel = new javax.swing.JPanel(); + titleLabel = new javax.swing.JLabel(); + titleTextField = new javax.swing.JTextField(); + controlModesPanel = new javax.swing.JPanel(); + jPanel3 = new javax.swing.JPanel(); + flowCheckBox = new javax.swing.JCheckBox(); + jLabel2 = new javax.swing.JLabel(); + jPanel4 = new javax.swing.JPanel(); + choiceCheckBox = new javax.swing.JCheckBox(); + jLabel3 = new javax.swing.JLabel(); + jPanel5 = new javax.swing.JPanel(); + choiceExitCheckBox = new javax.swing.JCheckBox(); + jLabel4 = new javax.swing.JLabel(); + jPanel6 = new javax.swing.JPanel(); + forwarOnlyCheckBox = new javax.swing.JCheckBox(); + jLabel5 = new javax.swing.JLabel(); + jLabel6 = new javax.swing.JLabel(); - private void initComponents() { - setDefaultCloseOperation(HIDE_ON_CLOSE); - setTitle("Propertiests..."); + configurationComboBox = new javax.swing.JComboBox(); + configurationComboBox.addItemListener(this); - generalPanel = new javax.swing.JPanel(); - titleLabel = new javax.swing.JLabel(); - titleTextField = new javax.swing.JTextField(); - controlModesPanel = new javax.swing.JPanel(); - jPanel3 = new javax.swing.JPanel(); - flowCheckBox = new javax.swing.JCheckBox(); - jLabel2 = new javax.swing.JLabel(); - jPanel4 = new javax.swing.JPanel(); - choiceCheckBox = new javax.swing.JCheckBox(); - jLabel3 = new javax.swing.JLabel(); - jPanel5 = new javax.swing.JPanel(); - choiceExitCheckBox = new javax.swing.JCheckBox(); - jLabel4 = new javax.swing.JLabel(); - jPanel6 = new javax.swing.JPanel(); - forwarOnlyCheckBox = new javax.swing.JCheckBox(); - jLabel5 = new javax.swing.JLabel(); - jLabel6 = new javax.swing.JLabel(); + cancelButton = new javax.swing.JButton("Cancel"); + okButton = new javax.swing.JButton("Ok"); + okButton.addActionListener(this); + cancelButton.addActionListener(this); - configurationComboBox = new javax.swing.JComboBox(); - configurationComboBox.addItemListener(this); + cancelButton.setPreferredSize(new java.awt.Dimension(65, 23)); + okButton.setPreferredSize(new java.awt.Dimension(65, 23)); - cancelButton = new javax.swing.JButton("Cancel"); - okButton = new javax.swing.JButton("Ok"); - okButton.addActionListener(this); - cancelButton.addActionListener(this); + setName("Propertiests..."); - cancelButton.setPreferredSize(new java.awt.Dimension(65, 23)); - okButton.setPreferredSize(new java.awt.Dimension(65, 23)); + generalPanel.setBorder(javax.swing.BorderFactory + .createTitledBorder("General")); + titleLabel.setText("Title"); - setName("Propertiests..."); - - generalPanel.setBorder(javax.swing.BorderFactory - .createTitledBorder("General")); - titleLabel.setText("Title"); - - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout( - generalPanel); - generalPanel.setLayout(jPanel1Layout); - jPanel1Layout - .setHorizontalGroup(jPanel1Layout - .createParallelGroup( + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout( + generalPanel); + generalPanel.setLayout(jPanel1Layout); + jPanel1Layout + .setHorizontalGroup(jPanel1Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel1Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel1Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( + .addComponent( + titleTextField, + javax.swing.GroupLayout.DEFAULT_SIZE, + 588, + Short.MAX_VALUE) + .addGroup( jPanel1Layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - jPanel1Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - titleTextField, - javax.swing.GroupLayout.DEFAULT_SIZE, - 588, - Short.MAX_VALUE) - .addGroup( - jPanel1Layout - .createSequentialGroup() - .addComponent( - titleLabel) - .addContainerGap( - 568, - Short.MAX_VALUE) - )) - .addContainerGap())); - jPanel1Layout - .setVerticalGroup(jPanel1Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel1Layout - .createSequentialGroup() - .addComponent(titleLabel) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - titleTextField, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap())); + .createSequentialGroup() + .addComponent( + titleLabel) + .addContainerGap( + 568, + Short.MAX_VALUE))) + .addContainerGap())); + jPanel1Layout + .setVerticalGroup(jPanel1Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel1Layout + .createSequentialGroup() + .addComponent(titleLabel) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + titleTextField, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap())); - controlModesPanel.setBorder(javax.swing.BorderFactory - .createTitledBorder("Control modes")); + controlModesPanel.setBorder(javax.swing.BorderFactory + .createTitledBorder("Control modes")); - jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + jPanel3.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - flowCheckBox.setText("Flow"); + flowCheckBox.setText("Flow"); - jLabel2 - .setText("Indicates the flow sequencing requests is permitted to the children of this activity."); // NOI18N + jLabel2 + .setText("Indicates the flow sequencing requests is permitted to the children of this activity."); // NOI18N - javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout( - jPanel3); - jPanel3.setLayout(jPanel3Layout); - jPanel3Layout - .setHorizontalGroup(jPanel3Layout - .createParallelGroup( + javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout( + jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout + .setHorizontalGroup(jPanel3Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel3Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel3Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel3Layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - jPanel3Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - flowCheckBox) - .addComponent(jLabel2)) - .addContainerGap(180, Short.MAX_VALUE))); - jPanel3Layout - .setVerticalGroup(jPanel3Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel3Layout - .createSequentialGroup() - .addContainerGap( - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) - .addComponent(flowCheckBox) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel2))); + .addComponent( + flowCheckBox) + .addComponent(jLabel2)) + .addContainerGap(180, Short.MAX_VALUE))); + jPanel3Layout + .setVerticalGroup(jPanel3Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel3Layout + .createSequentialGroup() + .addContainerGap( + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent(flowCheckBox) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel2))); - jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + jPanel4.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - choiceCheckBox.setText("Choice"); + choiceCheckBox.setText("Choice"); - jLabel3 - .setText("Indicates that a choice sequencing request is permitted to target the children of the activity."); // NOI18N + jLabel3 + .setText("Indicates that a choice sequencing request is permitted to target the children of the activity."); // NOI18N - javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout( - jPanel4); - jPanel4.setLayout(jPanel4Layout); - jPanel4Layout - .setHorizontalGroup(jPanel4Layout - .createParallelGroup( + javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout( + jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout + .setHorizontalGroup(jPanel4Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel4Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel4Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel4Layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - jPanel4Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - choiceCheckBox) - .addComponent(jLabel3)) - .addContainerGap(130, Short.MAX_VALUE))); - jPanel4Layout - .setVerticalGroup(jPanel4Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel4Layout - .createSequentialGroup() - .addContainerGap() - .addComponent(choiceCheckBox) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel3).addContainerGap( - 3, Short.MAX_VALUE))); + .addComponent( + choiceCheckBox) + .addComponent(jLabel3)) + .addContainerGap(130, Short.MAX_VALUE))); + jPanel4Layout + .setVerticalGroup(jPanel4Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel4Layout + .createSequentialGroup() + .addContainerGap() + .addComponent(choiceCheckBox) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel3).addContainerGap( + 3, Short.MAX_VALUE))); - jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - choiceExitCheckBox.setText("Choice exit"); + choiceExitCheckBox.setText("Choice exit"); - jLabel4 - .setText("Indicates that an active child of this activity is permitted to terminate if a choice sequencing request is processed."); // NOI18N + jLabel4 + .setText("Indicates that an active child of this activity is permitted to terminate if a choice sequencing request is processed."); // NOI18N - javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout( - jPanel5); - jPanel5.setLayout(jPanel5Layout); - jPanel5Layout - .setHorizontalGroup(jPanel5Layout - .createParallelGroup( + javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout( + jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout + .setHorizontalGroup(jPanel5Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel5Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel5Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel5Layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - jPanel5Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - choiceExitCheckBox) - .addComponent(jLabel4)) - .addContainerGap(30, Short.MAX_VALUE))); - jPanel5Layout - .setVerticalGroup(jPanel5Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel5Layout - .createSequentialGroup() - .addContainerGap( - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) - .addComponent(choiceExitCheckBox) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel4))); + .addComponent( + choiceExitCheckBox) + .addComponent(jLabel4)) + .addContainerGap(30, Short.MAX_VALUE))); + jPanel5Layout + .setVerticalGroup(jPanel5Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel5Layout + .createSequentialGroup() + .addContainerGap( + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent(choiceExitCheckBox) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel4))); - jPanel6.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - forwarOnlyCheckBox.setText("Forward only"); - jLabel5 - .setText("Indicates that backward targets (in terms of activity tree traversal) are not permitted for the children of this activity. "); + jPanel6.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + forwarOnlyCheckBox.setText("Forward only"); + jLabel5 + .setText("Indicates that backward targets (in terms of activity tree traversal) are not permitted for the children of this activity. "); - javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout( - jPanel6); - jPanel6.setLayout(jPanel6Layout); - jPanel6Layout - .setHorizontalGroup(jPanel6Layout - .createParallelGroup( + javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout( + jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout + .setHorizontalGroup(jPanel6Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel6Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel6Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel6Layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - jPanel6Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addComponent( - forwarOnlyCheckBox) - .addComponent(jLabel5)) - .addContainerGap( - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE))); - jPanel6Layout - .setVerticalGroup(jPanel6Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - jPanel6Layout - .createSequentialGroup() - .addContainerGap() - .addComponent(forwarOnlyCheckBox) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel5) - )); + .addComponent( + forwarOnlyCheckBox) + .addComponent(jLabel5)) + .addContainerGap( + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE))); + jPanel6Layout + .setVerticalGroup(jPanel6Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel6Layout + .createSequentialGroup() + .addContainerGap() + .addComponent(forwarOnlyCheckBox) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel5))); - configurationComboBox.setModel(new javax.swing.DefaultComboBoxModel( - new String[] { "User defined", "Lecture materials", - "Examinations materials" })); - jLabel6.setText("Choose configuration"); + configurationComboBox.setModel(new javax.swing.DefaultComboBoxModel( + new String[] { "User defined", "Lecture materials", + "Examinations materials" })); + jLabel6.setText("Choose configuration"); - javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout( - controlModesPanel); - controlModesPanel.setLayout(jPanel2Layout); - jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING).addGroup( - jPanel2Layout.createSequentialGroup() - .addContainerGap().addGroup( - jPanel2Layout.createParallelGroup( + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout( + controlModesPanel); + controlModesPanel.setLayout(jPanel2Layout); + jPanel2Layout + .setHorizontalGroup(jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + jPanel2Layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + jPanel2Layout + .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jPanel6, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE).addComponent(jPanel5, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE).addComponent(jPanel4, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE).addComponent(jPanel3, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE).addComponent( - configurationComboBox, 0, 588, - Short.MAX_VALUE).addComponent(jLabel6)) - .addContainerGap())); - jPanel2Layout - .setVerticalGroup(jPanel2Layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - javax.swing.GroupLayout.Alignment.TRAILING, - jPanel2Layout - .createSequentialGroup() - .addComponent(jLabel6) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) - .addComponent( - configurationComboBox, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - jPanel3, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - jPanel4, - javax.swing.GroupLayout.PREFERRED_SIZE, - 53, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - jPanel5, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - jPanel6, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(10, Short.MAX_VALUE) - )); + .addComponent( + jPanel6, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + jPanel5, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + jPanel4, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + jPanel3, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + configurationComboBox, + 0, 588, + Short.MAX_VALUE) + .addComponent(jLabel6)) + .addContainerGap())); + jPanel2Layout + .setVerticalGroup(jPanel2Layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + javax.swing.GroupLayout.Alignment.TRAILING, + jPanel2Layout + .createSequentialGroup() + .addComponent(jLabel6) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + configurationComboBox, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + jPanel3, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + jPanel4, + javax.swing.GroupLayout.PREFERRED_SIZE, + 53, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + jPanel5, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + jPanel6, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(10, Short.MAX_VALUE))); - javax.swing.GroupLayout layout = new javax.swing.GroupLayout( - getContentPane()); - getContentPane().setLayout(layout); - layout - .setHorizontalGroup(layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - javax.swing.GroupLayout.Alignment.TRAILING, + javax.swing.GroupLayout layout = new javax.swing.GroupLayout( + getContentPane()); + getContentPane().setLayout(layout); + layout + .setHorizontalGroup(layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + javax.swing.GroupLayout.Alignment.TRAILING, + layout + .createSequentialGroup() + .addContainerGap() + .addGroup( + layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent( + controlModesPanel, + javax.swing.GroupLayout.Alignment.LEADING, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addComponent( + generalPanel, + javax.swing.GroupLayout.Alignment.LEADING, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE) + .addGroup( layout - .createSequentialGroup() - .addContainerGap() - .addGroup( - layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent( - controlModesPanel, - javax.swing.GroupLayout.Alignment.LEADING, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) - .addComponent( - generalPanel, - javax.swing.GroupLayout.Alignment.LEADING, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE) - .addGroup( - layout - .createSequentialGroup() - .addComponent( - okButton, - javax.swing.GroupLayout.PREFERRED_SIZE, - 86, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - cancelButton, - javax.swing.GroupLayout.PREFERRED_SIZE, - 91, - javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap())); - layout - .setVerticalGroup(layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING) - .addGroup( - layout - .createSequentialGroup() - .addContainerGap() - .addComponent( - generalPanel, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent( - controlModesPanel, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap( - javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup( - layout - .createParallelGroup( - javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent( - okButton, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent( - cancelButton, - javax.swing.GroupLayout.PREFERRED_SIZE, - javax.swing.GroupLayout.DEFAULT_SIZE, - javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap( - javax.swing.GroupLayout.DEFAULT_SIZE, - Short.MAX_VALUE))); + .createSequentialGroup() + .addComponent( + okButton, + javax.swing.GroupLayout.PREFERRED_SIZE, + 86, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + cancelButton, + javax.swing.GroupLayout.PREFERRED_SIZE, + 91, + javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap())); + layout + .setVerticalGroup(layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.LEADING) + .addGroup( + layout + .createSequentialGroup() + .addContainerGap() + .addComponent( + generalPanel, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent( + controlModesPanel, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap( + javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup( + layout + .createParallelGroup( + javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent( + okButton, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent( + cancelButton, + javax.swing.GroupLayout.PREFERRED_SIZE, + javax.swing.GroupLayout.DEFAULT_SIZE, + javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap( + javax.swing.GroupLayout.DEFAULT_SIZE, + Short.MAX_VALUE))); - this.getRootPane().setDefaultButton(okButton); - pack(); - } + this.getRootPane().setDefaultButton(okButton); + pack(); + } - @Override - public void itemStateChanged(ItemEvent arg0) { - if (arg0.getStateChange() == ItemEvent.SELECTED) { - ChapterPropertiestsDlg dlg = (ChapterPropertiestsDlg) obj; + @Override + public void itemStateChanged(ItemEvent arg0) { + if (arg0.getStateChange() == ItemEvent.SELECTED) { + switch (configurationComboBox.getSelectedIndex()) { + case 0: + flowCheckBox.setSelected(false); + choiceCheckBox.setSelected(true); + forwarOnlyCheckBox.setSelected(false); + choiceExitCheckBox.setSelected(true); - switch (configurationComboBox.getSelectedIndex()) { - case 0: - dlg.flowCheckBox.setSelected(false); - dlg.choiceCheckBox.setSelected(true); - dlg.forwarOnlyCheckBox.setSelected(false); - dlg.choiceExitCheckBox.setSelected(true); + flowCheckBox.setEnabled(true); + choiceCheckBox.setEnabled(true); + forwarOnlyCheckBox.setEnabled(true); + choiceExitCheckBox.setEnabled(true); - dlg.flowCheckBox.setEnabled(true); - dlg.choiceCheckBox.setEnabled(true); - dlg.forwarOnlyCheckBox.setEnabled(true); - dlg.choiceExitCheckBox.setEnabled(true); + break; + case 1: + flowCheckBox.setSelected(true); + choiceCheckBox.setSelected(true); + forwarOnlyCheckBox.setSelected(false); + choiceExitCheckBox.setSelected(true); - break; - case 1: - dlg.flowCheckBox.setSelected(true); - dlg.choiceCheckBox.setSelected(true); - dlg.forwarOnlyCheckBox.setSelected(false); - dlg.choiceExitCheckBox.setSelected(true); + flowCheckBox.setEnabled(false); + choiceCheckBox.setEnabled(false); + forwarOnlyCheckBox.setEnabled(false); + choiceExitCheckBox.setEnabled(false); - dlg.flowCheckBox.setEnabled(false); - dlg.choiceCheckBox.setEnabled(false); - dlg.forwarOnlyCheckBox.setEnabled(false); - dlg.choiceExitCheckBox.setEnabled(false); + break; + case 2: + flowCheckBox.setSelected(true); + choiceCheckBox.setSelected(false); + forwarOnlyCheckBox.setSelected(true); + choiceExitCheckBox.setSelected(false); - break; - case 2: - dlg.flowCheckBox.setSelected(true); - dlg.choiceCheckBox.setSelected(false); - dlg.forwarOnlyCheckBox.setSelected(true); - dlg.choiceExitCheckBox.setSelected(false); + flowCheckBox.setEnabled(false); + choiceCheckBox.setEnabled(false); + forwarOnlyCheckBox.setEnabled(false); + choiceExitCheckBox.setEnabled(false); - dlg.flowCheckBox.setEnabled(false); - dlg.choiceCheckBox.setEnabled(false); - dlg.forwarOnlyCheckBox.setEnabled(false); - dlg.choiceExitCheckBox.setEnabled(false); - - break; - } - } + break; + } } + } - @Override - protected void fillFields() { - ChapterPropertiestsDlg dlg = (ChapterPropertiestsDlg) obj; + @Override + protected void fillFields() { + titleTextField.setText(manifestItem.getTitle()); + titleTextField.selectAll(); - dlg.titleTextField.setText(manifestItem.getTitle()); - dlg.titleTextField.selectAll(); + Sequencing sequencing = null; + if (manifestItem.getClass() == Item.class) { + sequencing = ((Item) manifestItem).sequencing; + } - Sequencing sequencing = null; - if (manifestItem.getClass() == Item.class) { - sequencing = ((Item) manifestItem).sequencing; - } + if (manifestItem.getClass() == Organization.class) { + sequencing = ((Organization) manifestItem).sequencing; + } - if (manifestItem.getClass() == Organization.class) { - sequencing = ((Organization) manifestItem).sequencing; - } - - if (sequencing != null && sequencing.controlMode != null) { - dlg.flowCheckBox.setSelected(sequencing.controlMode.flow); - dlg.choiceCheckBox.setSelected(sequencing.controlMode.choice); - dlg.forwarOnlyCheckBox - .setSelected(sequencing.controlMode.forwardOnly); - dlg.choiceExitCheckBox - .setSelected(sequencing.controlMode.choiceExit); - } else { - dlg.flowCheckBox.setSelected(false); - dlg.choiceCheckBox.setSelected(true); - dlg.forwarOnlyCheckBox.setSelected(false); - dlg.choiceExitCheckBox.setSelected(true); - } + if (sequencing != null && sequencing.controlMode != null) { + flowCheckBox.setSelected(sequencing.controlMode.flow); + choiceCheckBox.setSelected(sequencing.controlMode.choice); + forwarOnlyCheckBox.setSelected(sequencing.controlMode.forwardOnly); + choiceExitCheckBox.setSelected(sequencing.controlMode.choiceExit); + } else { + flowCheckBox.setSelected(false); + choiceCheckBox.setSelected(true); + forwarOnlyCheckBox.setSelected(false); + choiceExitCheckBox.setSelected(true); } + } - @Override - protected void saveChanges() { - ChapterPropertiestsDlg dlg = (ChapterPropertiestsDlg) obj; + @Override + protected void saveChanges() { + manifestItem.setTitle(titleTextField.getText()); - manifestItem.setTitle(dlg.titleTextField.getText()); + Sequencing sequencing = null; + if (manifestItem.getClass() == Item.class) { + sequencing = ((Item) manifestItem).sequencing; - Sequencing sequencing = null; - if (manifestItem.getClass() == Item.class) { - sequencing = ((Item) manifestItem).sequencing; + if (sequencing == null) { + sequencing = new Sequencing(); + ((Item) manifestItem).sequencing = sequencing; + } + } - if (sequencing == null) { - sequencing = new Sequencing(); - ((Item) manifestItem).sequencing = sequencing; - } - } + if (manifestItem.getClass() == Organization.class) { + sequencing = ((Organization) manifestItem).sequencing; + if (sequencing == null) { + sequencing = new Sequencing(); + ((Organization) manifestItem).sequencing = sequencing; + } + } - if (manifestItem.getClass() == Organization.class) { - sequencing = ((Organization) manifestItem).sequencing; - if (sequencing == null) { - sequencing = new Sequencing(); - ((Organization) manifestItem).sequencing = sequencing; - } - } + if (sequencing.controlMode == null) { + sequencing.controlMode = new ControlMode(); + } - if (sequencing.controlMode == null) { - sequencing.controlMode = new ControlMode(); - } + sequencing.controlMode.flow = flowCheckBox.isSelected(); + sequencing.controlMode.choice = choiceCheckBox.isSelected(); + sequencing.controlMode.forwardOnly = forwarOnlyCheckBox.isSelected(); + sequencing.controlMode.choiceExit = choiceExitCheckBox.isSelected(); - sequencing.controlMode.flow = dlg.flowCheckBox.isSelected(); - sequencing.controlMode.choice = dlg.choiceCheckBox.isSelected(); - sequencing.controlMode.forwardOnly = dlg.forwarOnlyCheckBox - .isSelected(); - sequencing.controlMode.choiceExit = dlg.choiceExitCheckBox.isSelected(); + setVisible(false); - obj.setVisible(false); - - ((ResourcedItemModel) ItemModels.getModelFromItem(manifestItem)) - .updateItemResource(manifestItem, true); - } + ((ResourcedItemModel) ItemModels.getModelFromItem(manifestItem)) + .updateItemResource(manifestItem, true); + } } 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-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-20 15:54:30 UTC (rev 147) @@ -52,12 +52,6 @@ private MultiLineTableCellEditor multiLineTableCellEditor = new MultiLineTableCellEditor(); private PartAttributesCellEditor partAttributesCellEditor = new PartAttributesCellEditor(); - public CompileQPropertiestsDlg() { - obj = this; - - initComponents(); - } - @Override public void actionPerformed(ActionEvent arg0) { super.actionPerformed(arg0); @@ -168,28 +162,27 @@ @Override protected void fillFields() { - CompileQPropertiestsDlg dlg = (CompileQPropertiestsDlg) obj; - dlg.titleTextField.setText(manifestItem.getTitle()); + titleTextField.setText(manifestItem.getTitle()); CompileQModel itemModel = new CompileQModel(); - dlg.captionTextField.setText(itemModel.getData(manifestItem) + captionTextField.setText(itemModel.getData(manifestItem) .getCaption()); - dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText() - .equals(dlg.captionTextField.getText())); + sameAsTitleCheckBox.setSelected(titleTextField.getText() + .equals(captionTextField.getText())); - dlg.compileQTableDataModel = itemModel.getData(manifestItem).getParts(); + compileQTableDataModel = itemModel.getData(manifestItem).getParts(); - dlg.programmingLanguage.addItem("Any"); - dlg.programmingLanguage.addItem("C++"); - dlg.programmingLanguage.addItem("Pascal"); + programmingLanguage.addItem("Any"); + programmingLanguage.addItem("C++"); + programmingLanguage.addItem("Pascal"); - dlg.programmingLanguage.setSelectedItem(itemModel.getData(manifestItem).getLanguge()); + programmingLanguage.setSelectedItem(itemModel.getData(manifestItem).getLanguge()); - dlg.partsTable.setModel(dlg.compileQTableDataModel); + partsTable.setModel(compileQTableDataModel); - DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.partsTable + DefaultTableColumnModel columnModel = (DefaultTableColumnModel) partsTable .getColumnModel(); columnModel.getColumn(1).setCellEditor(multiLineTableCellEditor); @@ -205,7 +198,7 @@ columnModel.getColumn(2).setMinWidth(100); columnModel.getColumn(2).setResizable(false); - dlg.titleTextField.selectAll(); + titleTextField.selectAll(); } @Override @@ -217,7 +210,7 @@ partsTable.getModel().setValueAt(text, selectedRow, 1); } - private void initComponents() { + protected void initComponents() { setTitle("Propertiests..."); generalPanel = new javax.swing.JPanel(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-20 15:54:30 UTC (rev 147) @@ -49,13 +49,6 @@ private JLabel titleLabel; - /** Creates new form NewJFrame */ - public LecturePropertiestsDlg() { - obj = this; - - initComponents(); - } - @Override public void actionPerformed(ActionEvent arg0) { super.actionPerformed(arg0); @@ -69,7 +62,7 @@ } } - private void initComponents() { + protected void initComponents() { setTitle("Propertiests..."); titlePanel = new javax.swing.JPanel(); titleLabel = new JLabel("Title"); @@ -380,21 +373,20 @@ @Override protected void fillFields() { - LecturePropertiestsDlg dlg = (LecturePropertiestsDlg) obj; LectureModel model = new LectureModel(); String title = manifestItem.getTitle(); String caption = ((LectureData) model.getItemData(manifestItem)) .getCaption(); - dlg.sameAsTitleCheckbox.setSelected(title.equals(caption)); + sameAsTitleCheckbox.setSelected(title.equals(caption)); - dlg.titleTextField.setText(title); - dlg.titleTextField.selectAll(); + titleTextField.setText(title); + titleTextField.selectAll(); - dlg.captionTextField.setText(caption); + captionTextField.setText(caption); - dlg.contentEditorPane.setText(((LectureData) model + contentEditorPane.setText(((LectureData) model .getItemData(manifestItem)).getContent()); } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-20 15:54:30 UTC (rev 147) @@ -15,24 +15,28 @@ */ private static final long serialVersionUID = -6002603750731392120L; + public PropertyDlg(){ + initComponents(); + } + protected void editTextFieldInHtmlEditor(JTextComponent textComponent) { WebEditor.instance.htmlEdit(textComponent, this); } + + protected abstract void initComponents(); @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == okButton) { saveChanges(); - obj.setVisible(false); + setVisible(false); } if (e.getSource() == cancelButton) { - obj.setVisible(false); + setVisible(false); } } - protected PropertyDlg obj; - protected TreeItem manifestItem; protected abstract void saveChanges(); @@ -45,10 +49,10 @@ public void showDialog(TreeItem item) { manifestItem = item; - obj.fillFields(); + fillFields(); - obj.setModal(true); - obj.setVisible(true); + setModal(true); + 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-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-20 15:54:30 UTC (rev 147) @@ -45,12 +45,6 @@ private javax.swing.JTextField currentAnswerVariant; - public SimpleQuestionPropertiestsDlg() { - obj = this; - - initComponents(); - } - @Override public void actionPerformed(ActionEvent arg0) { super.actionPerformed(arg0); @@ -132,29 +126,28 @@ @Override protected void fillFields() { - SimpleQuestionPropertiestsDlg dlg = (SimpleQuestionPropertiestsDlg) obj; - dlg.titleTextField.setText(manifestItem.getTitle()); + titleTextField.setText(manifestItem.getTitle()); SimpleQuestionModel itemModel = new SimpleQuestionModel(); - dlg.captionTextField.setText(itemModel.getData(manifestItem) + captionTextField.setText(itemModel.getData(manifestItem) .getCaption()); - dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText() - .equals(dlg.captionTextField.getText())); - dlg.questionTextField.setText(itemModel.getData(manifestItem) + sameAsTitleCheckBox.setSelected(titleTextField.getText() + .equals(captionTextField.getText())); + questionTextField.setText(itemModel.getData(manifestItem) .getQuestion()); - dlg.simpleQuestionAnswersDataModel = itemModel.getData(manifestItem) + simpleQuestionAnswersDataModel = itemModel.getData(manifestItem) .getAnswers(); - dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel); + answersTable.setModel(simpleQuestionAnswersDataModel); - DefaultTableColumnModel columnModel = (DefaultTableColumnModel) dlg.answersTable + DefaultTableColumnModel columnModel = (DefaultTableColumnModel) answersTable .getColumnModel(); columnModel.getColumn(0).setPreferredWidth(1); columnModel.getColumn(1).setPreferredWidth(300); columnModel.getColumn(2).setPreferredWidth(1); - dlg.titleTextField.selectAll(); + titleTextField.selectAll(); } @Override @@ -166,7 +159,7 @@ answersTable.getModel().setValueAt(text, selectedRow, 1); } - private void initComponents() { + protected void initComponents() { setTitle("Propertiests..."); generalPanel = new javax.swing.JPanel(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -17,6 +17,8 @@ super(); modelName = "ChapterModel"; isContainerItem = true; + + registerConfigDlg(new ChapterPropertiestsDlg()); } @Override @@ -32,13 +34,6 @@ } @Override - public void ConfigureItem(TreeItem item) { - new ChapterPropertiestsDlg().showDialog(item); - - TreeDataModel.getInstance().treeNodesChanged(item); - } - - @Override protected ItemData createItemDataInstance() { return new ChapterItemData(); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -6,13 +6,13 @@ 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 protected String getDefaultTitle() { return "New compile question"; @@ -30,6 +30,7 @@ public CompileQModel() { modelName = "CompileQModel"; + registerConfigDlg(new CompileQPropertiestsDlg()); } @Override @@ -44,16 +45,6 @@ return false; } - @Override - public void ConfigureItem(TreeItem item) { - new CompileQPropertiestsDlg().showDialog(item); - - TreeDataModel.getInstance().treeNodesChanged(item); - WebEditor.tree.setSelectionPath(null); - WebEditor.tree.setSelectionPath(TreeDataModel.getInstance() - .getItemPath(item)); - } - public CompileQData getData(TreeItem item) { return ((CompileQData) getItemData(item)); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -17,6 +17,7 @@ import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; public abstract class ItemModel { @@ -32,6 +33,8 @@ protected boolean isContainerItem = false; + private PropertyDlg propertyDlg = null; + public final boolean getShowOnSummaryPage(TreeItem anItem) { if (this.getClass() == SummaryPageModel.class){ return false; @@ -71,9 +74,24 @@ public abstract boolean canAddToItem(TreeItem parent); public abstract boolean canConvertItem(TreeItem parent); + + public final void ConfigureItem(TreeItem item) { + if (propertyDlg != null){ + propertyDlg.showDialog(item); + } - public abstract void ConfigureItem(TreeItem item); +// In SimpleQModel +// WebEditor.tree.setSelectionPath(null); +// WebEditor.tree.setSelectionPath(TreeDataModel.getInstance() +// .getItemPath(item)); + TreeDataModel.getInstance().treeNodesChanged(item); + } + + public final void registerConfigDlg(PropertyDlg dlg){ + this.propertyDlg = dlg; + } + protected String createNewResource() { if (modelHasResource()){ Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -4,7 +4,6 @@ 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.LecturePropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; @@ -33,6 +32,7 @@ public LectureModel() { modelName = "LectureModel"; + registerConfigDlg(new LecturePropertiestsDlg()); } @Override @@ -47,17 +47,6 @@ return false; } - @Override - public void ConfigureItem(TreeItem item) { - new LecturePropertiestsDlg().showDialog(item); - TreeDataModel.getInstance().treeNodesChanged(item); - WebEditor.tree.setSelectionPath(null); - WebEditor.tree.setSelectionPath(TreeDataModel.getInstance() - .getItemPath(item)); - - TreeDataModel.getInstance().treeNodesChanged(item); - } - private LectureData getData(TreeItem item) { return (LectureData) getItemData(item); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -6,7 +6,6 @@ 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.SimpleQuestionPropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; @@ -30,6 +29,7 @@ public SimpleQuestionModel() { modelName = "SimpleQuestionModel"; + registerConfigDlg(new SimpleQuestionPropertiestsDlg()); } @Override @@ -44,15 +44,6 @@ return false; } - @Override - public void ConfigureItem(TreeItem item) { - new SimpleQuestionPropertiestsDlg().showDialog(item); - TreeDataModel.getInstance().treeNodesChanged(item); - WebEditor.tree.setSelectionPath(null); - WebEditor.tree.setSelectionPath(TreeDataModel.getInstance() - .getItemPath(item)); - } - public SimpleQuestionData getData(TreeItem item) { return ((SimpleQuestionData) getItemData(item)); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -84,11 +84,6 @@ } @Override - public void ConfigureItem(TreeItem item) { - // Currently this model doesn't configurable. - } - - @Override public boolean canAddToItem(TreeItem parent) { // It can be added to any item because it must generated automatically. return false; Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-19 21:30:10 UTC (rev 146) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-20 15:54:30 UTC (rev 147) @@ -7,11 +7,6 @@ public class UnknownItemModel extends ItemModel { @Override - public void ConfigureItem(TreeItem item) { - System.out.println("Can't doing this operation with unknown item model"); - } - - @Override public void addItem(TreeItem parent) { System.out.println("Can't doing this operation with unknown item model"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-24 13:10:06
|
Revision: 163 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=163&view=rev Author: sem62 Date: 2008-05-24 06:10:11 -0700 (Sat, 24 May 2008) Log Message: ----------- Added dialog for showing user answer status. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/ScoredUserAnswerStatus.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/GeneralUserAnswerStatusDlg.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 13:10:11 UTC (rev 163) @@ -1,14 +1,21 @@ package edu.lnu.FireFly.WebEditor; +import java.net.URL; + import javax.swing.JApplet; import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.Rte.Cmi; import edu.lnu.FireFly.Rte.CmiManager; import edu.lnu.FireFly.Rte.ElementName; import edu.lnu.FireFly.Rte.GlobalStateInformation; import edu.lnu.FireFly.WebEditor.Data.AnswersStatusManager; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; +import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; +import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; /** * It is an Applet, but it contain API handlers. @@ -29,81 +36,144 @@ nextItemIdentifier = itemIdentifier; } - public String Initialize(String parameter) { - System.out.print("Initialize(" + parameter + ");\n"); + public synchronized String Initialize(String parameter) { + try { + System.out.print("Initialize(" + parameter + ");\n"); - GlobalStateInformation.setCurrentActivity(SummaryPageManager - .getInstance().getManifest().findItemByIdentifier( - nextItemIdentifier)); + GlobalStateInformation.setCurrentActivity(SummaryPageManager + .getInstance().getManifest().findItemByIdentifier( + nextItemIdentifier)); + } catch (Exception e) { + e.printStackTrace(); + return "false"; + } return "true"; } - public String Terminate(String parameter) { - System.out.print("Terminate(" + parameter + ");\n"); + public synchronized String Terminate(String parameter) { + try { + System.out.print("Terminate(" + parameter + ");\n"); - GlobalStateInformation.setCurrentActivity(null); + if (nextItemIdentifier.equals(GlobalStateInformation.getCurrentActivity().getIdentifier())){ + showAnswerResult(); + } + GlobalStateInformation.setCurrentActivity(null); + } catch (Exception e) { + e.printStackTrace(); + return "false"; + } return "true"; } - public String GetValue(String parameter) { - System.out.print("GetValue(" + parameter + ")"); + private void showAnswerResult() { + TreeItem currentActivity = GlobalStateInformation + .getCurrentActivity(); + String identifier = ""; + if (currentActivity != null) { + identifier = currentActivity.getIdentifier(); + TreeItem item = SummaryPageManager.getInstance() + .getManifest().findItemByIdentifier(identifier); + ItemModel model = ItemModels.getModelFromItem(item); - Cmi cmi = getCmiModel(); + UserAnswerStatus answerStatus = AnswersStatusManager + .getInstance().getAnswerStatus(item); + model.showAnswerStatus(answerStatus); + } + redirectTo(identifier); + } + + private void redirectTo(String identifier) { + try { + TreeItem item = SummaryPageManager.getInstance().getManifest() + .findItemByIdentifier(identifier); + + if (item.getClass() != Item.class) { + return; + } + + Resource resource = WebEditor.instance.getManifest().resources + .findResourceByIdentifier(((Item) item).identifierref); + if (resource != null) { + getAppletContext().showDocument( + new URL(Settings.getInstance().getCourseLocation() + + resource.getFullHref()), "ContentFrame"); + System.out.print("redirected\n"); + } + } catch (Exception exc) { + exc.printStackTrace(); + } + } + + public synchronized String GetValue(String parameter) { String result = ""; - if (parameter.toLowerCase().startsWith("cmi.")) { - result = cmi.getValue(new ElementName(parameter.substring(4))); + + try { + System.out.print("GetValue(" + parameter + ")"); + + Cmi cmi = getCmiModel(); + + if (parameter.toLowerCase().startsWith("cmi.")) { + result = cmi.getValue(new ElementName(parameter.substring(4))); + } + + System.out.println(" returned " + result); + } catch (Exception e) { + e.printStackTrace(); + return ""; } - - System.out.println(" returned " + result); return result; } private Cmi getCmiModel() { - TreeItem activity = GlobalStateInformation.getCurrentActivity(); Cmi cmi = CmiManager.getInstance().getModelForActivity(activity); return cmi; } - public boolean SetValue(String parameter, String value) { - System.out.print("SetValue(" + parameter + ", " + value + ");\n"); + public synchronized String SetValue(String parameter, String value) { + try { + System.out.print("SetValue(" + parameter + ", " + value + ");\n"); - Cmi cmi = getCmiModel(); + Cmi cmi = getCmiModel(); - if (parameter.toLowerCase().startsWith("cmi.")) { - cmi.setValue(new ElementName(parameter.substring(4)), value); + if (parameter.toLowerCase().startsWith("cmi.")) { + cmi.setValue(new ElementName(parameter.substring(4)), value); - if (parameter.startsWith("cmi.answers.")) { - String itemIdentifier = GlobalStateInformation - .getCurrentActivity().getIdentifier(); + if (parameter.startsWith("cmi.answers.")) { + String itemIdentifier = GlobalStateInformation + .getCurrentActivity().getIdentifier(); - TreeItem item = SummaryPageManager.getInstance().getManifest() - .findItemByIdentifier(itemIdentifier); + TreeItem item = SummaryPageManager.getInstance() + .getManifest().findItemByIdentifier(itemIdentifier); - AnswersStatusManager.getInstance().cmiAnswersChanged(item); + AnswersStatusManager.getInstance().cmiAnswersChanged(item); + } + + return "true"; + } else { + return "false"; } - - return true; - } else { - return false; + } catch (Exception e) { + e.printStackTrace(); + return "false"; } } - public String Commit(String parameter) { + public synchronized String Commit(String parameter) { System.out.print("Commit(" + parameter + ");\n"); return "true"; } - public int GetLastError() { + public synchronized int GetLastError() { System.out.print("GetLastError();\n"); return 0; } - public String GetErrorString(String parameter) { + public synchronized String GetErrorString(String parameter) { int code = Integer.parseInt(parameter); String result = ""; @@ -113,7 +183,7 @@ return result; } - public String GetDiagnostic(String parameter) { + public synchronized String GetDiagnostic(String parameter) { System.out.print("GetDiagnostic(" + parameter + ");\n"); return ""; } Added: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/GeneralUserAnswerStatusDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/GeneralUserAnswerStatusDlg.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/GeneralUserAnswerStatusDlg.java 2008-05-24 13:10:11 UTC (rev 163) @@ -0,0 +1,222 @@ +package edu.lnu.FireFly.WebEditor.GUI.Dialogs; + +/** + * + * @author Yura + */ +public class GeneralUserAnswerStatusDlg extends javax.swing.JDialog { + /** + * + */ + private static final long serialVersionUID = 1L; + /** A return status code - returned if Cancel button has been pressed */ + public static final int RET_CANCEL = 0; + /** A return status code - returned if OK button has been pressed */ + public static final int RET_OK = 1; + + /** Creates new form NewOkCancelDialog */ + public GeneralUserAnswerStatusDlg(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + } + + /** @return the return status of this dialog - one of RET_OK or RET_CANCEL */ + public int getReturnStatus() { + return returnStatus; + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + okButton = new javax.swing.JButton(); + jPanel1 = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + completionValueLabel = new javax.swing.JLabel(); + succesValueLabel = new javax.swing.JLabel(); + rawValueLabel = new javax.swing.JLabel(); + maxValueLabel = new javax.swing.JLabel(); + minValueLabel = new javax.swing.JLabel(); + + setTitle("Answer status"); + setModal(true); + setResizable(false); + + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosing(java.awt.event.WindowEvent evt) { + closeDialog(evt); + } + }); + + okButton.setText("Ok"); + okButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + okButtonActionPerformed(evt); + } + }); + + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Checking results")); + + jLabel1.setText("Min score :"); + + jLabel2.setText("Max score :"); + + jLabel3.setText("Raw score :"); + + jLabel4.setText("Completion status :"); + + jLabel5.setText("Success status :"); + + completionValueLabel.setText("6"); + + succesValueLabel.setText("successStatus"); + + rawValueLabel.setText("rawScore"); + + maxValueLabel.setText("maxScore"); + + minValueLabel.setText("minScore"); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel4) + .addComponent(jLabel5) + .addComponent(jLabel3) + .addComponent(jLabel1) + .addComponent(jLabel2)) + .addGap(12, 12, 12) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(succesValueLabel) + .addComponent(completionValueLabel) + .addComponent(rawValueLabel) + .addComponent(maxValueLabel) + .addComponent(minValueLabel)) + .addContainerGap(16, Short.MAX_VALUE)) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(completionValueLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(succesValueLabel)) + .addGroup(jPanel1Layout.createSequentialGroup() + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel1) + .addComponent(minValueLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel2) + .addComponent(maxValueLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel3) + .addComponent(rawValueLabel)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel5))) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap() + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(okButton) + .addContainerGap()) + ); + + pack(); + } + + private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed + doClose(RET_OK); + } + + /** Closes the dialog */ + private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog + doClose(RET_CANCEL); + } + + private void doClose(int retStatus) { + returnStatus = retStatus; + setVisible(false); + dispose(); + } + + public void show(double min, double max, double raw, String completion, String success){ + minValueLabel.setText(String.valueOf(min)); + maxValueLabel.setText(String.valueOf(max)); + rawValueLabel.setText(String.valueOf(raw)); + + completionValueLabel.setText(completion); + succesValueLabel.setText(success); + + setVisible(true); + } + +// /** +// * @param args the command line arguments +// */ +// public static void main(String args[]) { +// java.awt.EventQueue.invokeLater(new Runnable() { +// public void run() { +// GeneralUserAnswerStatusDlg dialog = new GeneralUserAnswerStatusDlg(new javax.swing.JFrame(), true); +// dialog.addWindowListener(new java.awt.event.WindowAdapter() { +// public void windowClosing(java.awt.event.WindowEvent e) { +// System.exit(0); +// } +// }); +// +// dialog.show(0, 1, 0.5, "completed", "passed"); +// } +// }); +// } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel minValueLabel; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel completionValueLabel; + private javax.swing.JLabel succesValueLabel; + private javax.swing.JLabel rawValueLabel; + private javax.swing.JLabel maxValueLabel; + private javax.swing.JPanel jPanel1; + private javax.swing.JButton okButton; + // End of variables declaration//GEN-END:variables + + private int returnStatus = RET_CANCEL; +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -181,4 +181,10 @@ // do nothing. // Chapter currently haven't resource file } + + @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + // TODO Auto-generated method stub + + } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -116,4 +116,10 @@ // TODO Auto-generated method stub return 0; } + + @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + // TODO Auto-generated method stub + + } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -72,6 +72,8 @@ updateItemResource(anItem, true); } } + + public abstract void showAnswerStatus(UserAnswerStatus answerStatus); public abstract void addItem(TreeItem parent); @@ -286,8 +288,7 @@ public abstract UserAnswerStatus createUserAnswerInstance(TreeItem anItem); - public abstract double getAnswerRawScore(TreeItem anItem, - String[] userAnswers); + public abstract double getAnswerRawScore(TreeItem anItem, String[] userAnswers); public abstract double getAnswerMinScore(TreeItem item); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -94,4 +94,10 @@ // TODO Auto-generated method stub return 0; } + + @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + // TODO Auto-generated method stub + + } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -15,6 +15,72 @@ public class SimpleQuestionModel extends ResourcedItemModel { @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + ((ScoredUserAnswerStatus)answerStatus).showStatus(); + } + + public SimpleQuestionModel() { + modelName = "SimpleQuestionModel"; + registerConfigDlg(new SimpleQuestionPropertiestsDlg()); + } + + @Override + public boolean canAddToItem(TreeItem parent) { + // TODO Auto-generated method stub + return true; + } + + @Override + public boolean canConvertItem(TreeItem parent) { + // TODO Auto-generated method stub + return false; + } + + @Override + protected ItemData createItemDataInstance() { + return new SimpleQuestionData(); + } + + @Override + public UserAnswerStatus createUserAnswerInstance(TreeItem anItem) { + return new ScoredUserAnswerStatus(anItem); + } + + @Override + public double getAnswerMaxScore(TreeItem item) { + double result = 0d; + + SimpleQuestionData data = getData(item); + + for (int i = 0; i < data.getAnswers().answers.size(); i++) { + double answerPoint = data.getAnswers().answers.get(i) + .getAnswerPoint(); + if (answerPoint > 0) { + result += answerPoint; + } + } + + return result; + } + + @Override + public double getAnswerMinScore(TreeItem item) { + double result = 0d; + + SimpleQuestionData data = getData(item); + + for (int i = 0; i < data.getAnswers().answers.size(); i++) { + double answerPoint = data.getAnswers().answers.get(i) + .getAnswerPoint(); + if (answerPoint < 0) { + result += answerPoint; + } + } + + return result; + } + + @Override public double getAnswerRawScore(TreeItem anItem, String[] userAnswers) { SimpleQuestionData data = getData(anItem); @@ -36,9 +102,8 @@ return result; } - @Override - public UserAnswerStatus createUserAnswerInstance(TreeItem anItem) { - return new ScoredUserAnswerStatus(anItem); + public SimpleQuestionData getData(TreeItem item) { + return ((SimpleQuestionData) getItemData(item)); } @Override @@ -56,38 +121,17 @@ return true; } - public SimpleQuestionModel() { - modelName = "SimpleQuestionModel"; - registerConfigDlg(new SimpleQuestionPropertiestsDlg()); - } - @Override - public boolean canAddToItem(TreeItem parent) { - // TODO Auto-generated method stub - return true; - } - - @Override - public boolean canConvertItem(TreeItem parent) { - // TODO Auto-generated method stub + public boolean getShowSummaryPageMenuVisible() { return false; } - public SimpleQuestionData getData(TreeItem item) { - return ((SimpleQuestionData) getItemData(item)); - } - @Override public boolean isRemovable() { return true; } @Override - protected ItemData createItemDataInstance() { - return new SimpleQuestionData(); - } - - @Override protected void updateResourceFile(TreeItem anItem) { Resource resource = WebEditor.instance.getManifest().resources .findResourceByIdentifier(((Item) anItem).identifierref); @@ -114,43 +158,4 @@ template.setProperty("answers", answers); template.updateResource(); } - - @Override - public boolean getShowSummaryPageMenuVisible() { - return false; - } - - @Override - public double getAnswerMaxScore(TreeItem item) { - double result = 0d; - - SimpleQuestionData data = getData(item); - - for (int i = 0; i < data.getAnswers().answers.size(); i++) { - double answerPoint = data.getAnswers().answers.get(i) - .getAnswerPoint(); - if (answerPoint > 0) { - result += answerPoint; - } - } - - return result; - } - - @Override - public double getAnswerMinScore(TreeItem item) { - double result = 0d; - - SimpleQuestionData data = getData(item); - - for (int i = 0; i < data.getAnswers().answers.size(); i++) { - double answerPoint = data.getAnswers().answers.get(i) - .getAnswerPoint(); - if (answerPoint < 0) { - result += answerPoint; - } - } - - return result; - } } \ No newline at end of file Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -16,6 +16,12 @@ import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; public class SummaryPageModel extends ResourcedItemModel { + @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + // TODO Auto-generated method stub + + } + public SummaryPageModel() { modelName = "SummaryPageModel"; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-24 13:10:11 UTC (rev 163) @@ -13,6 +13,10 @@ } @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + } + + @Override public UserAnswerStatus createUserAnswerInstance(TreeItem anItem) { return new UnknownModelAnswerStatus(anItem); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/ScoredUserAnswerStatus.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/ScoredUserAnswerStatus.java 2008-05-23 17:44:49 UTC (rev 162) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/ScoredUserAnswerStatus.java 2008-05-24 13:10:11 UTC (rev 163) @@ -4,6 +4,7 @@ import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.Rte.Cmi; import edu.lnu.FireFly.Rte.ElementName; +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.GeneralUserAnswerStatusDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; @@ -14,6 +15,11 @@ public ScoredUserAnswerStatus(TreeItem anItem) { super(anItem); } + + public void showStatus(){ + GeneralUserAnswerStatusDlg dlg = new GeneralUserAnswerStatusDlg(null, true); + dlg.show(minScore, maxScore, rawScore, completion_status, success_status); + } @Override public void updateRteFields(Cmi cmi) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-24 14:29:17
|
Revision: 164 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=164&view=rev Author: sem62 Date: 2008-05-24 07:29:24 -0700 (Sat, 24 May 2008) Log Message: ----------- * Created class for managing main menu * moved parsing parameter to Setting class Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenuListenet.java Added: WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenu.java 2008-05-24 14:29:24 UTC (rev 164) @@ -0,0 +1,90 @@ +package edu.lnu.FireFly.WebEditor; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; + +import edu.lnu.FireFly.WebEditor.Data.AnswersStatusManager; +import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; + +public class MainMenu extends JMenuBar implements ActionListener { + + private MainMenuListenet listener = null; + /** + * + */ + private static final long serialVersionUID = 8349926727749029112L; + + public MainMenu() { + init(); + } + + @Override + public void actionPerformed(ActionEvent arg0) { + try { + if (arg0.getSource() == openMenuItem) { + if (listener != null) { + listener.openManifest(); + } + } + + if (arg0.getSource() == resetMenuItem) { + AnswersStatusManager.getInstance().resetAllAnswers(); + } + + if (arg0.getSource() == publishMenuItem) { + WebEditorServiceClient.getInstance().publish(); + } + + if (arg0.getSource() == saveMenuItem) { + if (listener != null) { + listener.saveManifest(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void setListener(MainMenuListenet listener){ + this.listener = listener; + } + + private void init() { + JMenu fileMenu = new JMenu("File"); + add(fileMenu); + + JMenu editMenu = new JMenu("Edit"); + add(editMenu); + + resetMenuItem = new JMenuItem("Reset user activity"); + resetMenuItem.addActionListener(this); + fileMenu.add(resetMenuItem); + + openMenuItem = new JMenuItem("Open"); + openMenuItem.addActionListener(this); + fileMenu.add(openMenuItem); + + // Create a menu item + saveMenuItem = new JMenuItem("Save"); + saveMenuItem.addActionListener(this); + fileMenu.add(saveMenuItem); + + // Create a menu item + publishMenuItem = new JMenuItem("Publish"); + publishMenuItem.addActionListener(this); + fileMenu.add(publishMenuItem); + } + + protected JMenuItem openMenuItem = null; + + protected JMenuItem resetMenuItem = null; + + protected JMenuItem saveMenuItem = null; + + private JMenuItem publishMenuItem; + +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenuListenet.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenuListenet.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/MainMenuListenet.java 2008-05-24 14:29:24 UTC (rev 164) @@ -0,0 +1,8 @@ +package edu.lnu.FireFly.WebEditor; + +import edu.lnu.FireFly.FFManifest.parser.TestDocException; + +public interface MainMenuListenet { + public void saveManifest() throws TestDocException; + public void openManifest() throws TestDocException; +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-24 13:10:11 UTC (rev 163) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-24 14:29:24 UTC (rev 164) @@ -1,5 +1,7 @@ package edu.lnu.FireFly.WebEditor; +import javax.swing.JApplet; + public class Settings { private String courseLocation = "http://127.0.0.1/sem/course/"; private String templateLocation = "http://127.0.0.1/sem/WebEditor/template/"; @@ -19,7 +21,27 @@ return obj; } + + public void parseAppletParameters(JApplet applet){ + String paramCourseLocation = applet.getParameter("courseLocation"); + String paramServiceLocation = applet.getParameter("serviceLocation"); + String paramTemplateLocation = applet.getParameter("templateLocation"); + String paramResourceLocation = applet.getParameter("resourceLocation"); + if (paramCourseLocation != null) { + Settings.getInstance().setCourseLocation(paramCourseLocation); + } + if (paramServiceLocation != null) { + Settings.getInstance().setServiceLocation(paramServiceLocation); + } + if (paramTemplateLocation != null) { + Settings.getInstance().setTemplateLocation(paramTemplateLocation); + } + if (paramResourceLocation != null) { + Settings.getInstance().setResourceLocation(paramResourceLocation); + } + } + public String getCourseLocation() { return courseLocation; } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 13:10:11 UTC (rev 163) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 14:29:24 UTC (rev 164) @@ -1,11 +1,5 @@ package edu.lnu.FireFly.WebEditor; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JScrollPane; import edu.lnu.FireFly.FFManifest.Manifest; @@ -22,8 +16,7 @@ import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; -public class WebEditor extends AppletWithWYSIWYGEditor implements - ActionListener { +public class WebEditor extends AppletWithWYSIWYGEditor implements MainMenuListenet{ /** * @@ -36,41 +29,11 @@ protected Manifest manifest = null; - protected JMenuItem openMenuItem = null; - - protected JMenuItem resetMenuItem = null; - - protected JMenuItem saveMenuItem = null; - private Thread threadForAautoSave; private AutoSaveThread autoSaveThread; - private JMenuItem publishMenuItem; - @Override - public void actionPerformed(ActionEvent arg0) { - try { - if (arg0.getSource() == openMenuItem) { - openManifest(); - } - - if (arg0.getSource() == resetMenuItem) { - AnswersStatusManager.getInstance().resetAllAnswers(); - } - - if (arg0.getSource() == publishMenuItem) { - WebEditorServiceClient.getInstance().publish(); - } - - if (arg0.getSource() == saveMenuItem) { - saveManifest(); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - public void saveManifest() throws TestDocException { Parser parser = new Parser(); @@ -80,6 +43,7 @@ parser.toXML(manifest)); } + @Override public void openManifest() throws TestDocException { Parser parser = new Parser(); @@ -101,8 +65,8 @@ @Override public void init() { - parseParameter(); - + Settings.getInstance().parseAppletParameters(this); + instance = this; autoSaveThread = new AutoSaveThread(); @@ -125,26 +89,6 @@ courseTree.addMouseListener(new CourseTreePopupMenu()); } - private void parseParameter() { - String paramCourseLocation = getParameter("courseLocation"); - String paramServiceLocation = getParameter("serviceLocation"); - String paramTemplateLocation = getParameter("templateLocation"); - String paramResourceLocation = getParameter("resourceLocation"); - - if (paramCourseLocation != null) { - Settings.getInstance().setCourseLocation(paramCourseLocation); - } - if (paramServiceLocation != null) { - Settings.getInstance().setServiceLocation(paramServiceLocation); - } - if (paramTemplateLocation != null) { - Settings.getInstance().setTemplateLocation(paramTemplateLocation); - } - if (paramResourceLocation != null) { - Settings.getInstance().setResourceLocation(paramResourceLocation); - } - } - private void CreateNewCourse() { try { manifest = ManifestFactory.createManifest(); @@ -166,35 +110,8 @@ } public void initMenu() { - // Create the menu bar - JMenuBar menuBar = new JMenuBar(); - - // Create a menu - JMenu fileMenu = new JMenu("File"); - menuBar.add(fileMenu); - - JMenu editMenu = new JMenu("Edit"); - menuBar.add(editMenu); - - resetMenuItem = new JMenuItem("Reset user activity"); - resetMenuItem.addActionListener(this); - fileMenu.add(resetMenuItem); - - openMenuItem = new JMenuItem("Open"); - openMenuItem.addActionListener(this); - fileMenu.add(openMenuItem); - - // Create a menu item - saveMenuItem = new JMenuItem("Save"); - saveMenuItem.addActionListener(this); - fileMenu.add(saveMenuItem); - - // Create a menu item - publishMenuItem = new JMenuItem("Publish"); - publishMenuItem.addActionListener(this); - fileMenu.add(publishMenuItem); - - // Install the menu bar in the frame + MainMenu menuBar = new MainMenu(); + menuBar.setListener(this); this.setJMenuBar(menuBar); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-24 19:20:03
|
Revision: 167 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=167&view=rev Author: sem62 Date: 2008-05-24 12:20:07 -0700 (Sat, 24 May 2008) Log Message: ----------- * Moved frame redirection code to one method. * Called redirect browser after configure item's property. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 18:52:29 UTC (rev 166) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 19:20:07 UTC (rev 167) @@ -1,13 +1,10 @@ package edu.lnu.FireFly.WebEditor; -import java.net.URL; - import javax.swing.JApplet; import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.Rte.Cmi; import edu.lnu.FireFly.Rte.CmiManager; import edu.lnu.FireFly.Rte.ElementName; @@ -43,11 +40,12 @@ Manifest manifest = SummaryPageManager.getInstance().getManifest(); TreeItem item = manifest.findItemByIdentifier(nextItemIdentifier); - + GlobalStateInformation.setCurrentActivity(item); - - UserAnswerStatus answer = AnswersStatusManager.getInstance().getAnswerStatus(item); - + + UserAnswerStatus answer = AnswersStatusManager.getInstance() + .getAnswerStatus(item); + answer.setRawAnswer(null); } catch (Exception e) { e.printStackTrace(); @@ -61,7 +59,8 @@ try { System.out.print("Terminate(" + parameter + ");\n"); - if (nextItemIdentifier.equals(GlobalStateInformation.getCurrentActivity().getIdentifier())){ + if (nextItemIdentifier.equals(GlobalStateInformation + .getCurrentActivity().getIdentifier())) { showAnswerResult(); } GlobalStateInformation.setCurrentActivity(null); @@ -78,12 +77,13 @@ String identifier = ""; if (currentActivity != null) { identifier = currentActivity.getIdentifier(); - TreeItem item = SummaryPageManager.getInstance().getManifest().findItemByIdentifier(identifier); + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + TreeItem item = manifest.findItemByIdentifier(identifier); ItemModel model = ItemModels.getModelFromItem(item); UserAnswerStatus answerStatus = AnswersStatusManager.getInstance().getAnswerStatus(item); - - if (answerStatus.getRawAnswer() != null && answerStatus.getRawAnswer().length > 0){ + + if (answerStatus.getRawAnswer() != null && answerStatus.getRawAnswer().length > 0) { model.showAnswerStatus(answerStatus); } } @@ -92,25 +92,14 @@ } private void redirectTo(String identifier) { - try { - TreeItem item = SummaryPageManager.getInstance().getManifest() - .findItemByIdentifier(identifier); + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + TreeItem item = manifest.findItemByIdentifier(identifier); - if (item.getClass() != Item.class) { - return; - } - - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(((Item) item).identifierref); - if (resource != null) { - getAppletContext().showDocument( - new URL(Settings.getInstance().getCourseLocation() - + resource.getFullHref()), "ContentFrame"); - System.out.print("redirected\n"); - } - } catch (Exception exc) { - exc.printStackTrace(); + if (item.getClass() != Item.class) { + return; } + + WebEditor.instance.showItemResource(item); } public synchronized String GetValue(String parameter) { @@ -150,11 +139,10 @@ cmi.setValue(new ElementName(parameter.substring(4)), value); if (parameter.startsWith("cmi.answers.")) { - String itemIdentifier = GlobalStateInformation - .getCurrentActivity().getIdentifier(); + String itemIdentifier = GlobalStateInformation.getCurrentActivity().getIdentifier(); - TreeItem item = SummaryPageManager.getInstance() - .getManifest().findItemByIdentifier(itemIdentifier); + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + TreeItem item = manifest.findItemByIdentifier(itemIdentifier); AnswersStatusManager.getInstance().cmiAnswersChanged(item); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-24 18:52:29 UTC (rev 166) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-24 19:20:07 UTC (rev 167) @@ -1,14 +1,12 @@ package edu.lnu.FireFly.WebEditor; import java.applet.AppletContext; -import java.net.URL; import javax.swing.JTree; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; public class CourseTree extends JTree implements TreeSelectionListener { @@ -35,41 +33,30 @@ } @Override - public void valueChanged(TreeSelectionEvent e) { - if (e.getNewLeadSelectionPath() == null) { + public void valueChanged(TreeSelectionEvent event) { + if (event.getNewLeadSelectionPath() == null) { try { AppletWithApiHandle.setNextItemIdentifier(""); - getAppletContext().showDocument( - new URL(Settings.getInstance().getResourceLocation() - + "/empty.htm"), "ContentFrame"); + WebEditor.instance.showItemResource(null); + System.out.print("browse to empty document.\n"); Thread.sleep(300); + } catch (InterruptedException e1) { + // do nothing } catch (Exception e1) { - // TODO Auto-generated catch block e1.printStackTrace(); } return; } - if (e.getNewLeadSelectionPath().getLastPathComponent().getClass() == Item.class) { - Item item = (Item) e.getNewLeadSelectionPath() + if (event.getNewLeadSelectionPath().getLastPathComponent().getClass() == Item.class) { + Item item = (Item) event.getNewLeadSelectionPath() .getLastPathComponent(); AppletWithApiHandle.setNextItemIdentifier(item.identifier); - try { - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(item.identifierref); - if (resource != null) { - getAppletContext().showDocument( - new URL(Settings.getInstance().getCourseLocation() - + resource.getFullHref()), "ContentFrame"); - System.out.print("redirected\n"); - } - } catch (Exception exc) { - exc.printStackTrace(); - } + WebEditor.instance.showItemResource(item); } } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-24 18:52:29 UTC (rev 166) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-24 19:20:07 UTC (rev 167) @@ -87,6 +87,7 @@ } TreeDataModel.getInstance().treeNodesChanged(item); + WebEditor.instance.showItemResource(item); } public final void registerConfigDlg(PropertyDlg dlg) { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 18:52:29 UTC (rev 166) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 19:20:07 UTC (rev 167) @@ -1,11 +1,16 @@ package edu.lnu.FireFly.WebEditor; +import java.net.MalformedURLException; +import java.net.URL; + import javax.swing.JScrollPane; import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.FFManifest.parser.Parser; import edu.lnu.FireFly.FFManifest.parser.TestDocException; +import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.Data.AnswersStatusManager; import edu.lnu.FireFly.WebEditor.Data.AutoSaveThread; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; @@ -16,7 +21,8 @@ import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; -public class WebEditor extends AppletWithWYSIWYGEditor implements MainMenuListenet{ +public class WebEditor extends AppletWithWYSIWYGEditor implements + MainMenuListenet { /** * @@ -63,10 +69,32 @@ return manifest; } + public void showItemResource(TreeItem anItem) { + try { + + if (anItem.getClass() != Item.class){ + return; + } + + Manifest manifest = WebEditor.instance.getManifest(); + Resource resource = manifest.resources + .findResourceByIdentifier(((Item)anItem).identifierref); + + if (resource != null) { + String href = Settings.getInstance().getCourseLocation() + resource.getFullHref(); + getAppletContext().showDocument(new URL(href), "ContentFrame"); + + System.out.print("redirected\n"); + } + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + @Override public void init() { Settings.getInstance().parseAppletParameters(this); - + instance = this; autoSaveThread = new AutoSaveThread(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-24 22:27:25
|
Revision: 168 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=168&view=rev Author: sem62 Date: 2008-05-24 15:27:29 -0700 (Sat, 24 May 2008) Log Message: ----------- Fixed some bugs. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 19:20:07 UTC (rev 167) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-24 22:27:29 UTC (rev 168) @@ -38,15 +38,20 @@ try { System.out.print("Initialize(" + parameter + ");\n"); - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - TreeItem item = manifest.findItemByIdentifier(nextItemIdentifier); + if (!nextItemIdentifier.equals("")) { + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + TreeItem item = manifest.findItemByIdentifier(nextItemIdentifier); - GlobalStateInformation.setCurrentActivity(item); + if (item != null) { + GlobalStateInformation.setCurrentActivity(item); - UserAnswerStatus answer = AnswersStatusManager.getInstance() - .getAnswerStatus(item); + UserAnswerStatus answer = AnswersStatusManager.getInstance().getAnswerStatus(item); - answer.setRawAnswer(null); + if (answer != null){ + answer.setRawAnswer(null); + } + } + } } catch (Exception e) { e.printStackTrace(); return "false"; @@ -81,9 +86,11 @@ TreeItem item = manifest.findItemByIdentifier(identifier); ItemModel model = ItemModels.getModelFromItem(item); - UserAnswerStatus answerStatus = AnswersStatusManager.getInstance().getAnswerStatus(item); + UserAnswerStatus answerStatus = AnswersStatusManager.getInstance() + .getAnswerStatus(item); - if (answerStatus.getRawAnswer() != null && answerStatus.getRawAnswer().length > 0) { + if (answerStatus.getRawAnswer() != null + && answerStatus.getRawAnswer().length > 0) { model.showAnswerStatus(answerStatus); } } @@ -139,10 +146,13 @@ cmi.setValue(new ElementName(parameter.substring(4)), value); if (parameter.startsWith("cmi.answers.")) { - String itemIdentifier = GlobalStateInformation.getCurrentActivity().getIdentifier(); + String itemIdentifier = GlobalStateInformation + .getCurrentActivity().getIdentifier(); - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - TreeItem item = manifest.findItemByIdentifier(itemIdentifier); + Manifest manifest = SummaryPageManager.getInstance() + .getManifest(); + TreeItem item = manifest + .findItemByIdentifier(itemIdentifier); AnswersStatusManager.getInstance().cmiAnswersChanged(item); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-24 19:20:07 UTC (rev 167) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/CourseTree.java 2008-05-24 22:27:29 UTC (rev 168) @@ -5,7 +5,9 @@ import javax.swing.JTree; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.TreePath; +import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; @@ -36,11 +38,8 @@ public void valueChanged(TreeSelectionEvent event) { if (event.getNewLeadSelectionPath() == null) { try { - AppletWithApiHandle.setNextItemIdentifier(""); - WebEditor.instance.showItemResource(null); - System.out.print("browse to empty document.\n"); Thread.sleep(300); } catch (InterruptedException e1) { // do nothing @@ -51,12 +50,15 @@ } if (event.getNewLeadSelectionPath().getLastPathComponent().getClass() == Item.class) { - Item item = (Item) event.getNewLeadSelectionPath() - .getLastPathComponent(); + Item item = (Item) event.getNewLeadSelectionPath().getLastPathComponent(); - AppletWithApiHandle.setNextItemIdentifier(item.identifier); - WebEditor.instance.showItemResource(item); } } + + public void setSelectionItem(TreeItem anItem, boolean notifyListeners) { + TreeDataModel model = (TreeDataModel)getModel(); + TreePath path = model.getItemPath(anItem); + setSelectionPath(path); + } } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-24 19:20:07 UTC (rev 167) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-24 22:27:29 UTC (rev 168) @@ -22,6 +22,7 @@ import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.FFManifest.item.sequencing.Sequencing; import edu.lnu.FireFly.FFManifest.parser.DurationConverter; +import edu.lnu.FireFly.WebEditor.CourseTree; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.RenameDlg; @@ -181,9 +182,9 @@ private void displayMenu(MouseEvent e) { if (e.isPopupTrigger()) { Point pt = e.getPoint(); - TreePath path = WebEditor.getCourseTree() - .getClosestPathForLocation(pt.x, pt.y); - WebEditor.getCourseTree().setSelectionPath(path); + CourseTree tree = WebEditor.getCourseTree(); + TreePath path = tree.getClosestPathForLocation(pt.x, pt.y); + tree.setSelectionPath(path); manifestItem = (TreeItem) path.getLastPathComponent(); ItemModel model = ItemModels.getModelFromItem(manifestItem); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 19:20:07 UTC (rev 167) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-24 22:27:29 UTC (rev 168) @@ -72,25 +72,39 @@ public void showItemResource(TreeItem anItem) { try { - if (anItem.getClass() != Item.class){ + if (anItem == null || anItem.getClass() != Item.class){ + showEmptyDocument(); return; } Manifest manifest = WebEditor.instance.getManifest(); - Resource resource = manifest.resources - .findResourceByIdentifier(((Item)anItem).identifierref); + String identifierref = ((Item)anItem).identifierref; + Resource resource = manifest.resources.findResourceByIdentifier(identifierref); if (resource != null) { String href = Settings.getInstance().getCourseLocation() + resource.getFullHref(); + + AppletWithApiHandle.setNextItemIdentifier(anItem.getIdentifier()); getAppletContext().showDocument(new URL(href), "ContentFrame"); - System.out.print("redirected\n"); + courseTree.setSelectionItem(anItem, false); + + System.out.println("redirected to " + identifierref); + } else { + showEmptyDocument(); } } catch (MalformedURLException e) { e.printStackTrace(); } } + public void showEmptyDocument() throws MalformedURLException { + AppletWithApiHandle.setNextItemIdentifier(""); + getAppletContext().showDocument(new URL("/empty.html"), "ContentFrame"); + + System.out.println("redirected to empty page"); + } + @Override public void init() { Settings.getInstance().parseAppletParameters(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |