scale.wait

getScale(id).wait() or getScale(id).wait(“first”) or getScale(id).wait(test) Waits until one of the buttons is clicked before evaluating and executing the next commands. If you call wait(“first”), then if a button is already selected when this command is evaluated, the next commands are evaluated and executed right away. If no button in the scale was clicked before, the …

key.test.pressed

getKey(id).test.pressed() or getKey(id).test.pressed( string ) or getKey(id).test.pressed( string , “first” ) (since beta 0.3) or getKey(id).test.pressed( number ) or getKey(id).test.pressed( number , “first” ) (since beta 0.3) Tests whether a key was pressed. If you pass no argument, it will yield success if any (valid) key has been pressed since the creation of the Key …

key.settings.log

getKey(id).settings.log() or getKey(id).settings.log(“wait”) (since beta 0.4) or getKey(id).settings.log(“first”) (since beta 0.4) or getKey(id).settings.log(“last”) (since beta 0.4) or getKey(id).settings.log(“all”) A line will be added to the results file indicating which key was pressed when. If you leave the parentheses blank or pass “wait” (those are equivalent) then key presses will only be logged if they validate …

key.wait

getKey(id).wait() or getKey(id).wait(“first”) or getKey(id).wait(test) Waits until a key is pressed. If you call wait(“first”), then if a valid key has been pressed since the creation of the key element, the next commands are evaluated and executed right away. If no valid key was pressed in the meantime, the next commands are only evaluated and …

html.test.complete

getHtml(id).test.complete() (since beta 0.3) Tests whether all the obligatory fields form the HTML document have been filled. See the IBEX documentation about the Form controller for a discussion of how fields are set as obligatory. Example: [js highlight=”7″ try=”true”]newHtml(“demographics”, “example_intro.html”) .print() , newButton(“continue”, “Continue to the next page”) .print() .wait( getHtml(“demographics”).test.complete() .failure( getHtml(“demographics”).warn() ) )[/js] …

html.settings.log

getHtml(id).settings.log() (since beta 0.2) Will add a line at the end of the trial for each <textarea>, <input type=’text’>, <input type=’checkbox’> and <input type=’radio’> in the document. Example: [js highlight=”2″]newHtml(“feedback”, “Feedback.html”) .settings.log() .print() , newButton(“send”, “Send”) .print() .wait()[/js] Adds the content of the file Feedback.html from the Resources (chunk_includes) folder of the Ibex project to …

html.warn

getHtml(id).warn() (since beta 0.3) Displays an error message for each of the obligatory fields from the HTML document that have not been filled yet. See the IBEX documentation about the Form controller for a discussion of how fields are set as obligatory. Example: [js highlight=”8″ try=”true”]newHtml(“demographics”, “example_intro.html”) .print() , newButton(“continue”, “Continue to the next page”) …

function.test.is

getFunction(id).test.is() or getFunction(id).test.is( value ) Executes the function and tests the value it returns. If you specify no value, it yields success if the return value is 0, null, undefined or false. NOTE: remember that the expression you pass as the test value is executed at the very beginning of the experiment. So calling getFunction(“myFunction”).test.is( …

function.call

getFunction(id).call() Executes the function. Example: [js try=”true” highlight=”12-13″] newFunction(“setKeyTime”, function(){ this.keyTime = Date.now(); }), newFunction(“keyTimerDelay”, function(){ return Date.now() – this.keyTime > 10; }), newButton(“Start”, “Start”) .print() .wait(), newText(“instrutions”, “Quick, you have one second to press the T key!”) .print(), newTimer(“quick”, 1010) .start(), newKey(“t”, “T”) .wait(), getFunction(“setKeyTime”) .call(), getTimer(“quick”) .wait(“first”), getFunction(“keyTimerDelay”) .test.is(true) .success( newText(“success”, “Good job!”) …

canvas.settings.add

getCanvas(id).settings.add( x, y, element ) or getCanvas(id).settings.add( “left at x”, “top at y”, element ) (since PennController 1.1) or getCanvas(id).settings.add( “center at x”, “middle at y”, element ) (since PennController 1.1) or getCanvas(id).settings.add( “right at x”, “bottom at y”, element ) (since PennController 1.1) Places element onto the canvas at the coordinates (x, y). Note …