Friday, January 22, 2010

Work Progress - Jan 18 - Jan 22

Summary of my work in the winter:
  • Complete the display of objects' method prototype (which is going to be for users to drag and construct their simulation's visual programming) on the left hand side of the pCSDT main window. Now when a particular object is selected in the render view on the right hand side of the pCSDT main window, the available methods of the object are shown, with their respect argument names.
  • Complete the display of the PStatement tree, which tells what actions to do when an event is triggered, at the middle of the pCSDT main window. Now once an event of a object is selected, the corresponding PStatement tree will be shown.
The two images in the weekly progress section presents visual illustrations of the above two points.

Potential future work:
For the scripting functionality you mention, sorry I didn't have a time looking into it in details. The existing code has just allowed me to complete the display part of the method, though. Below are some potential tasks I can think of (may be done in parallel):
  • The Save() function in every JPnlLine subclass.
  • The actual drag-n-drop. I think the right function call has already been available in the repository's drag-n-drop test code.
  • The completion of the display of other function blocks, like the if...then..., while do...
  • The execution of the PStatement tree when the corresponding event is triggered. (My impression is most parts have already been completed - of course you need to check with Jason for the actual situation - we may just need an example to demonstrate it.)

Weekly progress
Run SB/SBGui.java for a demonstration.
  • Enhancement on the the codelet prototype and statement tree view, as follows.
  • Add a static member of PStatementConst called Void, which corresponds to a PStatementConst wrapped around a PVariant.Void. Since then when a codelet is freshly dragged from the prototype view on the left to the statement tree in JPnlScriptlet window in the middle, the parameter values can be initialized directly with the same PStatmentConst.Void, instead of instantiating separate PStatementConst objects. This saves memory. See SB/BoarderEngine.java line 115 in revision 242 for an example.
  • Documentation

No comments:

Post a Comment