<-- Notes -->
-  Take a look at OpenDeclaration.java.
   -  It has a declaration picker openSelectionDialog(defs).
   -  It also has openEditorOn(def). We can use this in our own code.
   -  Borrow no token error code from resolveBinding
-  Call ensureVPGIsUpToDate in the delegate before doing anything else. In the
   results, filter out by file, project or no filter for ssFile, ssProject, and
   ssWorkspace respectively. LoadVPGFor... can be removed.
-  If we're curious, we should examine VPG.printErrorLog

<-- BEGIN Chuck James -->
-  Day 2
   -  Added two more action delegate subclasses to handle project and workspace
      searching and added the menus for each to the plugin XML.
   -  Made a first attempt at getting the VPG search to work over multiple
      files with limited success. Work on this aspect will continue at the next meeting.
<-- END Chuck James -->

<-- BEGIN Sarah Kevin -->
-  Day 2
   -  Borrowing from CDT's example, implemented double click and arrow clicking
      capability to the search results. Arrows jump to each result, double
      clicking jumps to the correct editor, and results are highlighted in the source.
<-- END Sarah Kevin -->  

<-- BEGIN Group work -->
-  Day 1
   -  Researched user story 3.6 as a group to establish what portion was complete and what was yet to 
      do. Look at example from Nick on Wiki on how to use the VPG to load files.
-  Day 2
   -  Discussed remaining stories, and split up UI work and backend work.
   -  Discussed methods for activating the VPG on relevant files as a group.
-  Day 3
   -  Finished implementing the VPG search for File, Project, and Workspace.
   -  Refactored some code for better design.
   -  Implemented the declaration picker openSelectionDialog(defs) in the 
      FortranFindReferenceActionDelegate. Test to be written for this.
-  Day 4
   -  Wiki is updated to reflect our complete user stories.
   -  While our progress has been tracked on the Wiki, our problems
      and continued work have been documented in the Milestone1-3.txt documents.
      We've added a page to the wiki to help enumerate our difficulties
   -  A workspace has been created with projects that can be used to demo
      our completed functionality. (runtime-EclipseApplication.tgz in Docs).
      Individual projects cannot be saved since Photran dependences are stored not
      in the project but in the workspace plugins directory.
   -  Unit test has been checked in, but we hope for updates to make it more
      autonomous.
   -  Manual/acceptance tests are partially completed.
-  Day 5
   -  Unit test verified to work with Unix. Loading a full workspace is too difficult
      for the remaining time and will be documented.      
   -  Review the milestone documents and the wiki to create documentation as
      specified on the CS427 Agora page. Added Milestone docs to the Wiki as attachments.
   -  Apparently have to make sure our code works with the Head Revision. This
      will be difficult since our code is so integrated with the existing project
      structure. Done.
   -  Discussed and divided the documentation for a draft that we plan to submit on
      Wednesday.
-  Day 6
   -  Presented to Nick who received our work well. We asked for an extension
      to submit the documentation which as granted.
-  Day 7/8
   -  Doc draft and final versions created and submitted.   
<-- END Group work -->

<-- What's left -->
X  Review and update user story list
X  Write acceptance tests for each relevant User Story (XP Spike and automated tests excluded)
   X  Build a demo workspace (two projects) to represent our use cases.
   X  One main UI test to make sure that all the user stories are met. 
   X  Unit Test to verify results are returned from several files in workspace
-  JavaDoc
X  Documentation as specified
X  Make sure our code works with Head
