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. |