Sunday, August 29, 2010

Work Progress - Aug 25 - Aug 31

For trying out the effect:
Work done:
  • Bug mentioned in previous entry fixed.
  • Having the middle scriptlet panel moved with dragged codelet. (Suppose the middle scriptlet window is already very full, so that one needs to scroll in order to access some script location. In the past, one has to click on the scrollbar, adjust the viewport of the scriptlet window to the required script location before you can insert a dragged codelet to the location. Now it is able to scroll the scriptlet window when you are dragging a codelet.)
  • (x, y) mouse pointer location display
  • SHOW GOAL IMAGE button and functionality

Bug to fix:
  • Dragging method codelet away doesn't remove the method actually.
Possible next steps:
  • Object duplication
  • Codelet size reduction

Tuesday, August 24, 2010

Work Progress - Aug 18 - Aug 24

Instruction to test
  1. Get the XML file at http://www.rpi.edu/~laut/SB/sb_sample.xml
  2. Load the SB app at http://www.rpi.edu/~laut/SB2/app.jnlp
  3. Load the XML file to the SB app from the main menu, File -> Open
Tasks completed
  • Core: Right-click on the object list in bottom right window allows deletion and duplication of the selected object.
  • Core: Complete the 2-button system, BEGIN/STOP and CLEAR DRAWING
  • Help Ping to fix her loadXml file problem. My solution is to expose an interface called DeferredInitialize() for all PObject. Application developers should put PObject initialization code that depends on respective attribute values there. It will be automatically called when the object is created and added to the respective container (GUI for PEngine and PEngine for other PObject).
  • Core: More precise decision on when the script associated with an event is dragged away from the middle scriptlet window (for deletion).
  • Core: The button group is never floatable again.
  • Core: "Create Object" button in Object Manager is now working. The newly created object is selected.
Bug to fix:
  • On reloading an XML file, the object record in the object panel at the bottom right should be all clear before loading in objects in the file.
Next steps:
  • duplicating objects
  • show goal images
  • xy cursor readout
  • Middle scriptlet window rolls with the mouse cursor

Monday, August 16, 2010

Work Progress - Aug 11 - Aug 17

Web demo: here

About the renovated Core by Jason
  • Add back a few modifications not taken care by Jason after his big renovation of the code.
  • Fix the location where the pressed codelet should show up.
Core new feature continued...
  • Object Property panel is now moved to the Object Manager at the bottom right.
  • Drag the event codelet away from the middle scriptlet panel, and the associated script will be deleted. (still need some work)
  • Vertical scrollbar always show up in the middle scriptlet window.


Suggestion: Use annotation to denote the default event for an object, rather than defaulting to the OnBegin event.

Monday, August 9, 2010

Work Progress - Aug 4 - Aug 10

  • Core: The "RUN" button is renamed to "BEGIN". (TODO: drag the event codelet. Then all the scripts associated with the event should be gone. NOTE: In long term, we should separate the naming to a config text file.)
  • Core: The tab and PObject duplicate bug as blogged in the previous entry has been fixed.
  • Core: Right click on an object in the render view. One is able to delete and create a new copy. (NOTE: Currently not working with app usng Graphics2D engine. TODO: copy the properties and event scripts to the new object created on duplicate. Note the x,y display location of the PObject should be slightly displaced. Also PEngine shouldn't be able to get deleted or duplicated.)
  • Core: Object Manager Panel now displays both name and class of all PObjects in the system, even if reloaded from file. The name and description of the PObject can also be updated.
  • Core: Fix the bug of having multiple method codelets sharing the same PVariant as arguments.
  • Core: Allowing default arguments on AutomatableMethod via argVals annotation.
  • SB: Add the link to the demo here

Tuesday, August 3, 2010

Work Progress - Jul 29 - Aug 3

Work achieved:
* While codelet: Size of the operand part is now changing properly with the operands attached to it.
* Assignment codelet and comparison codelet can also be properly displayed in the middle JPnlScriptlet window.

Next step:
* Enabling codelet drag and drop to the while, assignment and comparison codelets. Shall take the idea from JPnlScriptlet which does similar things.

Bug report:
* Whenever I minimize the window and then maximize it again, the tabs on the left view repeats themselves, so do the PObjects in the right render view.