Personal tools
You are here: Home Documentation Guides for software developers JCT software developer documentation

JCT software developer documentation

Instructions on how to extend various components within the JAST JCT software

Version 1.0

Craig Nicol, 5 October 2005


Overview


Adding A New XML Element to experiment data

  1. Add element and attribute list to JastExpt.dtd
    • Make sure to synchronise both the jast_src and the jast_install version as necessary
  2. Add element to JastSAX2Handler::startElement() to process attributes
    • Use processTextAttribute() to handle all screen messages
  3. Add element to JastSAX2Handler::endElement() unless content is always empty
  4. Document new element in UserDoc.html

Adding A New String to JastExpt

  1. Add element to experiment data if required (se above)
  2. Add RemovableExtText* member to jast::JastExpt
  3. Add NULL constructor to new member in jast::JastExpt::JastExpt()
  4. Add jast::JastExpt::setText???() to be called from JastSAX2Handler::endElement()
    • Remember to add to both the .cpp and .h file
  5. Add default value for string to jast::JastExpt::validate()

System Messages within JCT experiment

Internal Name code arguments notes
JSM_EXPT_START "xs"

JSM_EXPT_ABORT
"xa"

JSM_EXPT_END_BY_SUBJECT_REQUESTED
"xr"

JSM_EXPT_END_BY_SUBJECT_CONFIRMED 
"xc"

JSM_EXPT_END_BY_SUBJECT_REJECTED
"xx"

JSM_EXPT_END_TIMEOUT
"xt"

JSM_CURSOR_MOVE
"cm" &own [0,1], &x, &y
JSM_EYE_CURSOR_MOVE
"em" &own [0,1], &x, &y JCE added, move eye gaze cursor
JSM_PART_MOVE
"pm" &id, &x, &y
JSM_PART_MOVE_START
"pn" &id, &local, &x, &y
JSM_PART_MOVE_END "po" &id, &local
JSM_PART_ROTATE
"pr" &id, &angle
JSM_PART_ROTATE_START
"ps" &id, &refangle, &local
JSM_PART_ROTATE_END
"pt" &id, &local
JSM_PART_JOIN
"pj" &aID, &aX, &aY, &aRot, &bID, &bX, &bY, &bRot, &newID
JSM_PART_CREATE
"pa" &uid, &x, &y, &id, &local
JSM_PART_REMOVE
"pd" &id, &countBreak, &updateUniqueCounts
JSM_REQUEST_CURSOR_MOVE
"rc" &x, &y
JSM_REQUEST_EYE_CURSOR_MOVE
"re" &x, &y JCE added, request movement of eye gaze cursor
JSM_REQUEST_PART_MOVE
"rm" &id, &x, &y
JSM_REQUEST_PART_MOVE_START
"rn" &id, &x, &y
JSM_REQUEST_PART_MOVE_END
"ro" &id
JSM_REQUEST_PART_ROTATE
"rr" &id, &angle
JSM_REQUEST_PART_ROTATE_START
"rs" &id, &refangle
JSM_REQUEST_PART_ROTATE_END
"rt" &id
JSM_REQUEST_PART_CREATE
"ra" &uid, &x, &y, &id
JSM_REQUEST_PART_REMOVE "rd" &id, &countBreak, &updateUniqueCounts
Document Actions