BlockPyEditor.html 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Class: BlockPyEditor</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Class: BlockPyEditor</h1>
  17. <section>
  18. <header>
  19. <h2>BlockPyEditor</h2>
  20. </header>
  21. <article>
  22. <div class="container-overview">
  23. <h4 class="name" id="BlockPyEditor"><span class="type-signature"></span>new BlockPyEditor<span class="signature">(main, tag)</span><span class="type-signature"></span></h4>
  24. <div class="description">
  25. An object that manages the various editors, where users can edit their program. Also manages the
  26. movement between editors.
  27. There are currently four editors:
  28. - Blocks: A Blockly instance
  29. - Text: A CodeMirror instance
  30. - Instructor: Features for changing the assignment and environment settings
  31. - Upload: (Incomplete) A menu for uploading and running code from a desktop file.
  32. </div>
  33. <h5>This:</h5>
  34. <ul><li>{<a href="BlockPyEditor.html">BlockPyEditor</a>}</li></ul>
  35. <h5>Parameters:</h5>
  36. <table class="params">
  37. <thead>
  38. <tr>
  39. <th>Name</th>
  40. <th>Type</th>
  41. <th class="last">Description</th>
  42. </tr>
  43. </thead>
  44. <tbody>
  45. <tr>
  46. <td class="name"><code>main</code></td>
  47. <td class="type">
  48. <span class="param-type">Object</span>
  49. </td>
  50. <td class="description last">The main BlockPy instance</td>
  51. </tr>
  52. <tr>
  53. <td class="name"><code>tag</code></td>
  54. <td class="type">
  55. <span class="param-type">HTMLElement</span>
  56. </td>
  57. <td class="description last">The HTML object this is attached to.</td>
  58. </tr>
  59. </tbody>
  60. </table>
  61. <dl class="details">
  62. <dt class="tag-source">Source:</dt>
  63. <dd class="tag-source"><ul class="dummy"><li>
  64. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line15">line 15</a>
  65. </li></ul></dd>
  66. </dl>
  67. </div>
  68. <h3 class="subsection-title">Members</h3>
  69. <h4 class="name" id=".CATEGORY_MAP"><span class="type-signature">(static) </span>CATEGORY_MAP<span class="type-signature"></span></h4>
  70. <div class="description">
  71. Maps short category names in the toolbox to the full XML used to
  72. represent that category as usual. This is kind of a clunky mechanism
  73. for managing the different categories, and doesn't allow us to specify
  74. individual blocks.
  75. </div>
  76. <dl class="details">
  77. <dt class="tag-source">Source:</dt>
  78. <dd class="tag-source"><ul class="dummy"><li>
  79. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line819">line 819</a>
  80. </li></ul></dd>
  81. </dl>
  82. <h4 class="name" id="previousLine"><span class="type-signature"></span>previousLine<span class="type-signature"></span></h4>
  83. <h5 class="subsection-title">Properties:</h5>
  84. <table class="props">
  85. <thead>
  86. <tr>
  87. <th>Name</th>
  88. <th>Type</th>
  89. <th class="last">Description</th>
  90. </tr>
  91. </thead>
  92. <tbody>
  93. <tr>
  94. <td class="name"><code>previousLine</code></td>
  95. <td class="type">
  96. <span class="param-type">Number</span>
  97. </td>
  98. <td class="description last">Keeps track of the previously highlighted line.</td>
  99. </tr>
  100. </tbody>
  101. </table>
  102. <dl class="details">
  103. <dt class="tag-source">Source:</dt>
  104. <dd class="tag-source"><ul class="dummy"><li>
  105. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line643">line 643</a>
  106. </li></ul></dd>
  107. </dl>
  108. <h3 class="subsection-title">Methods</h3>
  109. <h4 class="name" id="addAvailableModule"><span class="type-signature"></span>addAvailableModule<span class="signature">(name)</span><span class="type-signature"></span></h4>
  110. <div class="description">
  111. Makes the module available in the availableModules multi-select menu by adding
  112. it to the list.
  113. </div>
  114. <h5>Parameters:</h5>
  115. <table class="params">
  116. <thead>
  117. <tr>
  118. <th>Name</th>
  119. <th>Type</th>
  120. <th class="last">Description</th>
  121. </tr>
  122. </thead>
  123. <tbody>
  124. <tr>
  125. <td class="name"><code>name</code></td>
  126. <td class="type">
  127. <span class="param-type">String</span>
  128. </td>
  129. <td class="description last">The name of the module (human-friendly version, as opposed to the slug) to be added.</td>
  130. </tr>
  131. </tbody>
  132. </table>
  133. <dl class="details">
  134. <dt class="tag-source">Source:</dt>
  135. <dd class="tag-source"><ul class="dummy"><li>
  136. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line214">line 214</a>
  137. </li></ul></dd>
  138. </dl>
  139. <h4 class="name" id="changeProgram"><span class="type-signature"></span>changeProgram<span class="signature">(name)</span><span class="type-signature"></span></h4>
  140. <div class="description">
  141. Updates the current file being edited in the editors.
  142. This appears to be deprecated.
  143. </div>
  144. <h5>Parameters:</h5>
  145. <table class="params">
  146. <thead>
  147. <tr>
  148. <th>Name</th>
  149. <th>Type</th>
  150. <th class="last">Description</th>
  151. </tr>
  152. </thead>
  153. <tbody>
  154. <tr>
  155. <td class="name"><code>name</code></td>
  156. <td class="type">
  157. <span class="param-type">String</span>
  158. </td>
  159. <td class="description last">The name of the file being edited (e.g, "__main__", "starting_code")</td>
  160. </tr>
  161. </tbody>
  162. </table>
  163. <dl class="details">
  164. <dt class="tag-source">Source:</dt>
  165. <dd class="tag-source"><ul class="dummy"><li>
  166. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line795">line 795</a>
  167. </li></ul></dd>
  168. </dl>
  169. <h4 class="name" id="copyImage"><span class="type-signature"></span>copyImage<span class="signature">()</span><span class="type-signature"></span></h4>
  170. <div class="description">
  171. Shows a dialog window with the current block workspace encoded as a
  172. downloadable PNG image.
  173. </div>
  174. <dl class="details">
  175. <dt class="tag-source">Source:</dt>
  176. <dd class="tag-source"><ul class="dummy"><li>
  177. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line1090">line 1090</a>
  178. </li></ul></dd>
  179. </dl>
  180. <h4 class="name" id="getBlocksFromXml"><span class="type-signature"></span>getBlocksFromXml<span class="signature">()</span><span class="type-signature"> &rarr; {XMLDom}</span></h4>
  181. <div class="description">
  182. Helper function for retrieving the current Blockly workspace as
  183. an XML DOM object.
  184. </div>
  185. <dl class="details">
  186. <dt class="tag-source">Source:</dt>
  187. <dd class="tag-source"><ul class="dummy"><li>
  188. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line626">line 626</a>
  189. </li></ul></dd>
  190. </dl>
  191. <h5>Returns:</h5>
  192. <div class="param-desc">
  193. The blocks in the current workspace.
  194. </div>
  195. <dl>
  196. <dt>
  197. Type
  198. </dt>
  199. <dd>
  200. <span class="param-type">XMLDom</span>
  201. </dd>
  202. </dl>
  203. <h4 class="name" id="getHighlightMap"><span class="type-signature"></span>getHighlightMap<span class="signature">()</span><span class="type-signature"></span></h4>
  204. <div class="description">
  205. DEPRECATED, thankfully
  206. Builds up an array indicating the relevant block ID for a given step.
  207. Operates on the current this.blockly instance
  208. It works by injecting __HIGHLIGHT__(id); at the start of every line of code
  209. and then extracting that with regular expressions. This makes it vulnerable
  210. if someone decides to use __HIGHLIGHT__ in their code. I'm betting on that
  211. never being a problem, though. Still, this was a miserable way of accomplishing
  212. the desired behavior.
  213. </div>
  214. <dl class="details">
  215. <dt class="tag-source">Source:</dt>
  216. <dd class="tag-source"><ul class="dummy"><li>
  217. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line767">line 767</a>
  218. </li></ul></dd>
  219. </dl>
  220. <h4 class="name" id="getPngFromBlocks"><span class="type-signature"></span>getPngFromBlocks<span class="signature">(callback)</span><span class="type-signature"></span></h4>
  221. <div class="description">
  222. Generates a PNG version of the current workspace. This PNG is stored in a Base-64 encoded
  223. string as part of a data URL (e.g., "data:image/png;base64,...").
  224. TODO: There seems to be some problems capturing blocks that don't start with
  225. statement level blocks (e.g., expression blocks).
  226. </div>
  227. <h5>Parameters:</h5>
  228. <table class="params">
  229. <thead>
  230. <tr>
  231. <th>Name</th>
  232. <th>Type</th>
  233. <th class="last">Description</th>
  234. </tr>
  235. </thead>
  236. <tbody>
  237. <tr>
  238. <td class="name"><code>callback</code></td>
  239. <td class="type">
  240. <span class="param-type">function</span>
  241. </td>
  242. <td class="description last">A function to be called with the results. This function should take two parameters, the URL (as a string) of the generated base64-encoded PNG and the IMG tag.</td>
  243. </tr>
  244. </tbody>
  245. </table>
  246. <dl class="details">
  247. <dt class="tag-source">Source:</dt>
  248. <dd class="tag-source"><ul class="dummy"><li>
  249. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line1027">line 1027</a>
  250. </li></ul></dd>
  251. </dl>
  252. <h4 class="name" id="hideBlockMenu"><span class="type-signature"></span>hideBlockMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  253. <div class="description">
  254. Hides the Block tab, which involves shrinking it and hiding the Blockly instance.
  255. </div>
  256. <dl class="details">
  257. <dt class="tag-source">Source:</dt>
  258. <dd class="tag-source"><ul class="dummy"><li>
  259. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line280">line 280</a>
  260. </li></ul></dd>
  261. </dl>
  262. <h4 class="name" id="hideInstructorMenu"><span class="type-signature"></span>hideInstructorMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  263. <div class="description">
  264. Hides the Instructor tab, which shrinking it.
  265. </div>
  266. <dl class="details">
  267. <dt class="tag-source">Source:</dt>
  268. <dd class="tag-source"><ul class="dummy"><li>
  269. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line319">line 319</a>
  270. </li></ul></dd>
  271. </dl>
  272. <h4 class="name" id="hideSplitMenu"><span class="type-signature"></span>hideSplitMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  273. <div class="description">
  274. Hides the Text tab, which involves shrinking it and hiding its CodeMirror too.
  275. </div>
  276. <dl class="details">
  277. <dt class="tag-source">Source:</dt>
  278. <dd class="tag-source"><ul class="dummy"><li>
  279. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line224">line 224</a>
  280. </li></ul></dd>
  281. </dl>
  282. <h4 class="name" id="hideTextMenu"><span class="type-signature"></span>hideTextMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  283. <div class="description">
  284. Hides the Text tab, which involves shrinking it and hiding its CodeMirror too.
  285. </div>
  286. <dl class="details">
  287. <dt class="tag-source">Source:</dt>
  288. <dd class="tag-source"><ul class="dummy"><li>
  289. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line248">line 248</a>
  290. </li></ul></dd>
  291. </dl>
  292. <h4 class="name" id="hideUploadMenu"><span class="type-signature"></span>hideUploadMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  293. <div class="description">
  294. Hides the Upload tab, which shrinking it.
  295. </div>
  296. <dl class="details">
  297. <dt class="tag-source">Source:</dt>
  298. <dd class="tag-source"><ul class="dummy"><li>
  299. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line303">line 303</a>
  300. </li></ul></dd>
  301. </dl>
  302. <h4 class="name" id="highlightBlock"><span class="type-signature"></span>highlightBlock<span class="signature">(block)</span><span class="type-signature"></span></h4>
  303. <div class="description">
  304. Highlights a block in Blockly. Unfortunately, this is the same as selecting it.
  305. </div>
  306. <h5>Parameters:</h5>
  307. <table class="params">
  308. <thead>
  309. <tr>
  310. <th>Name</th>
  311. <th>Type</th>
  312. <th class="last">Description</th>
  313. </tr>
  314. </thead>
  315. <tbody>
  316. <tr>
  317. <td class="name"><code>block</code></td>
  318. <td class="type">
  319. <span class="param-type">Number</span>
  320. </td>
  321. <td class="description last">The ID of the block object to highlight.</td>
  322. </tr>
  323. </tbody>
  324. </table>
  325. <dl class="details">
  326. <dt class="tag-source">Source:</dt>
  327. <dd class="tag-source"><ul class="dummy"><li>
  328. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line692">line 692</a>
  329. </li></ul></dd>
  330. </dl>
  331. <h4 class="name" id="highlightError"><span class="type-signature"></span>highlightError<span class="signature">(line)</span><span class="type-signature"></span></h4>
  332. <div class="description">
  333. Highlights a line of code in the CodeMirror instance. This applies the "error" style
  334. which is meant to suggest that a line is wrong.
  335. </div>
  336. <h5>Parameters:</h5>
  337. <table class="params">
  338. <thead>
  339. <tr>
  340. <th>Name</th>
  341. <th>Type</th>
  342. <th class="last">Description</th>
  343. </tr>
  344. </thead>
  345. <tbody>
  346. <tr>
  347. <td class="name"><code>line</code></td>
  348. <td class="type">
  349. <span class="param-type">Number</span>
  350. </td>
  351. <td class="description last">The line of code to highlight. I think this is zero indexed?</td>
  352. </tr>
  353. </tbody>
  354. </table>
  355. <dl class="details">
  356. <dt class="tag-source">Source:</dt>
  357. <dd class="tag-source"><ul class="dummy"><li>
  358. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line677">line 677</a>
  359. </li></ul></dd>
  360. </dl>
  361. <h4 class="name" id="highlightLine"><span class="type-signature"></span>highlightLine<span class="signature">(line)</span><span class="type-signature"></span></h4>
  362. <div class="description">
  363. Highlights a line of code in the CodeMirror instance. This applies the "active" style
  364. which is meant to bring attention to a line, but not suggest it is wrong.
  365. </div>
  366. <h5>Parameters:</h5>
  367. <table class="params">
  368. <thead>
  369. <tr>
  370. <th>Name</th>
  371. <th>Type</th>
  372. <th class="last">Description</th>
  373. </tr>
  374. </thead>
  375. <tbody>
  376. <tr>
  377. <td class="name"><code>line</code></td>
  378. <td class="type">
  379. <span class="param-type">Number</span>
  380. </td>
  381. <td class="description last">The line of code to highlight. I think this is zero indexed?</td>
  382. </tr>
  383. </tbody>
  384. </table>
  385. <dl class="details">
  386. <dt class="tag-source">Source:</dt>
  387. <dd class="tag-source"><ul class="dummy"><li>
  388. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line662">line 662</a>
  389. </li></ul></dd>
  390. </dl>
  391. <h4 class="name" id="initBlockly"><span class="type-signature"></span>initBlockly<span class="signature">()</span><span class="type-signature"></span></h4>
  392. <div class="description">
  393. Initializes the Blockly instance (handles all the blocks). This includes
  394. attaching a number of ChangeListeners that can keep the internal code
  395. representation updated and enforce type checking.
  396. </div>
  397. <dl class="details">
  398. <dt class="tag-source">Source:</dt>
  399. <dd class="tag-source"><ul class="dummy"><li>
  400. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line79">line 79</a>
  401. </li></ul></dd>
  402. </dl>
  403. <h4 class="name" id="initInstructor"><span class="type-signature"></span>initInstructor<span class="signature">()</span><span class="type-signature"></span></h4>
  404. <div class="description">
  405. Initializes the Instructor tab, which has a number of buttons and menus for
  406. manipulating assignments and the environment. One important job is to register the
  407. SummerNote instance used for editing the Introduction of the assignment.
  408. </div>
  409. <dl class="details">
  410. <dt class="tag-source">Source:</dt>
  411. <dd class="tag-source"><ul class="dummy"><li>
  412. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line185">line 185</a>
  413. </li></ul></dd>
  414. </dl>
  415. <h4 class="name" id="initText"><span class="type-signature"></span>initText<span class="signature">()</span><span class="type-signature"></span></h4>
  416. <div class="description">
  417. Initializes the CodeMirror instance. This handles text editing (with syntax highlighting)
  418. and also attaches a listener for change events to update the internal code represntation.
  419. </div>
  420. <dl class="details">
  421. <dt class="tag-source">Source:</dt>
  422. <dd class="tag-source"><ul class="dummy"><li>
  423. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line138">line 138</a>
  424. </li></ul></dd>
  425. </dl>
  426. <h4 class="name" id="refreshBlockHighlight"><span class="type-signature"></span>refreshBlockHighlight<span class="signature">(line)</span><span class="type-signature"></span></h4>
  427. <div class="description">
  428. Used to restore a block's highlight when travelling from the code tab. This
  429. uses a mapping between the blocks and text that is generated from the parser.
  430. The parser has stored the relevant line numbers for each block in the XML of the
  431. block. Very sophisticated, and sadly fairly fragile.
  432. TODO: I believe there's some kind of off-by-one error here...
  433. </div>
  434. <h5>Parameters:</h5>
  435. <table class="params">
  436. <thead>
  437. <tr>
  438. <th>Name</th>
  439. <th>Type</th>
  440. <th class="last">Description</th>
  441. </tr>
  442. </thead>
  443. <tbody>
  444. <tr>
  445. <td class="name"><code>line</code></td>
  446. <td class="type">
  447. <span class="param-type">Number</span>
  448. </td>
  449. <td class="description last">The line of code to highlight. I think this is zero indexed?</td>
  450. </tr>
  451. </tbody>
  452. </table>
  453. <dl class="details">
  454. <dt class="tag-source">Source:</dt>
  455. <dd class="tag-source"><ul class="dummy"><li>
  456. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line705">line 705</a>
  457. </li></ul></dd>
  458. </dl>
  459. <h4 class="name" id="refreshHighlight"><span class="type-signature"></span>refreshHighlight<span class="signature">()</span><span class="type-signature"></span></h4>
  460. <div class="description">
  461. Assuming that a line has been highlighted previously, this will set the
  462. line to be highlighted again. Used when we need to restore a highlight.
  463. </div>
  464. <dl class="details">
  465. <dt class="tag-source">Source:</dt>
  466. <dd class="tag-source"><ul class="dummy"><li>
  467. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line649">line 649</a>
  468. </li></ul></dd>
  469. </dl>
  470. <h4 class="name" id="resetBlockSilence"><span class="type-signature"></span>resetBlockSilence<span class="signature">()</span><span class="type-signature"></span></h4>
  471. <div class="description">
  472. Resets the silenceBlock after a short delay
  473. </div>
  474. <dl class="details">
  475. <dt class="tag-source">Source:</dt>
  476. <dd class="tag-source"><ul class="dummy"><li>
  477. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line576">line 576</a>
  478. </li></ul></dd>
  479. </dl>
  480. <h4 class="name" id="setBlocksFromXml"><span class="type-signature"></span>setBlocksFromXml<span class="signature">()</span><span class="type-signature"></span></h4>
  481. <div class="description">
  482. Helper function for setting the current Blockly workspace to
  483. whatever XML DOM is given. This clears out any existing blocks.
  484. </div>
  485. <dl class="details">
  486. <dt class="tag-source">Source:</dt>
  487. <dd class="tag-source"><ul class="dummy"><li>
  488. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line634">line 634</a>
  489. </li></ul></dd>
  490. </dl>
  491. <h4 class="name" id="setLevel"><span class="type-signature"></span>setLevel<span class="signature">()</span><span class="type-signature"></span></h4>
  492. <div class="description">
  493. Eventually will be used to update "levels" of sophistication of the code interface.
  494. Currently unimplemented and unused.
  495. </div>
  496. <dl class="details">
  497. <dt class="tag-source">Source:</dt>
  498. <dd class="tag-source"><ul class="dummy"><li>
  499. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line809">line 809</a>
  500. </li></ul></dd>
  501. </dl>
  502. <h4 class="name" id="setMode"><span class="type-signature"></span>setMode<span class="signature">(mode)</span><span class="type-signature"></span></h4>
  503. <div class="description">
  504. Dispatch method to set the mode to the given argument.
  505. If the mode is invalid, an editor error is reported. If the
  506. </div>
  507. <h5>Parameters:</h5>
  508. <table class="params">
  509. <thead>
  510. <tr>
  511. <th>Name</th>
  512. <th>Type</th>
  513. <th class="last">Description</th>
  514. </tr>
  515. </thead>
  516. <tbody>
  517. <tr>
  518. <td class="name"><code>mode</code></td>
  519. <td class="type">
  520. <span class="param-type">String</span>
  521. </td>
  522. <td class="description last">The new mode to set to ("Blocks", "Text", "Upload", or "Instructor")</td>
  523. </tr>
  524. </tbody>
  525. </table>
  526. <dl class="details">
  527. <dt class="tag-source">Source:</dt>
  528. <dd class="tag-source"><ul class="dummy"><li>
  529. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line427">line 427</a>
  530. </li></ul></dd>
  531. </dl>
  532. <h4 class="name" id="setModeToBlocks"><span class="type-signature"></span>setModeToBlocks<span class="signature">()</span><span class="type-signature"></span></h4>
  533. <div class="description">
  534. Sets the current editor mode to Blocks, hiding the other menus.
  535. Also forces the block side to update.
  536. There is a chance this could fail, if the text side is irredeemably
  537. awful. So then the editor bounces back to the text side.
  538. </div>
  539. <dl class="details">
  540. <dt class="tag-source">Source:</dt>
  541. <dd class="tag-source"><ul class="dummy"><li>
  542. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line350">line 350</a>
  543. </li></ul></dd>
  544. </dl>
  545. <h4 class="name" id="setModeToInstructor"><span class="type-signature"></span>setModeToInstructor<span class="signature">()</span><span class="type-signature"></span></h4>
  546. <div class="description">
  547. Sets the current editor mode to the Instructor mode, hiding the other menus.
  548. </div>
  549. <dl class="details">
  550. <dt class="tag-source">Source:</dt>
  551. <dd class="tag-source"><ul class="dummy"><li>
  552. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line404">line 404</a>
  553. </li></ul></dd>
  554. </dl>
  555. <h4 class="name" id="setModeToSplit"><span class="type-signature"></span>setModeToSplit<span class="signature">()</span><span class="type-signature"></span></h4>
  556. <div class="description">
  557. Sets the current editor mode to Split mode, hiding the other menus.
  558. </div>
  559. <dl class="details">
  560. <dt class="tag-source">Source:</dt>
  561. <dd class="tag-source"><ul class="dummy"><li>
  562. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line390">line 390</a>
  563. </li></ul></dd>
  564. </dl>
  565. <h4 class="name" id="setModeToText"><span class="type-signature"></span>setModeToText<span class="signature">()</span><span class="type-signature"></span></h4>
  566. <div class="description">
  567. Sets the current editor mode to Text, hiding the other menus.
  568. Also forces the text side to update.
  569. </div>
  570. <dl class="details">
  571. <dt class="tag-source">Source:</dt>
  572. <dd class="tag-source"><ul class="dummy"><li>
  573. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line336">line 336</a>
  574. </li></ul></dd>
  575. </dl>
  576. <h4 class="name" id="setModeToUpload"><span class="type-signature"></span>setModeToUpload<span class="signature">()</span><span class="type-signature"></span></h4>
  577. <div class="description">
  578. Sets the current editor mode to Upload mode, hiding the other menus.
  579. </div>
  580. <dl class="details">
  581. <dt class="tag-source">Source:</dt>
  582. <dd class="tag-source"><ul class="dummy"><li>
  583. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line379">line 379</a>
  584. </li></ul></dd>
  585. </dl>
  586. <h4 class="name" id="setText"><span class="type-signature"></span>setText<span class="signature">(code)</span><span class="type-signature"></span></h4>
  587. <div class="description">
  588. Actually changes the value of the CodeMirror instance
  589. </div>
  590. <h5>Parameters:</h5>
  591. <table class="params">
  592. <thead>
  593. <tr>
  594. <th>Name</th>
  595. <th>Type</th>
  596. <th class="last">Description</th>
  597. </tr>
  598. </thead>
  599. <tbody>
  600. <tr>
  601. <td class="name"><code>code</code></td>
  602. <td class="type">
  603. <span class="param-type">String</span>
  604. </td>
  605. <td class="description last">The new code for the CodeMirror</td>
  606. </tr>
  607. </tbody>
  608. </table>
  609. <dl class="details">
  610. <dt class="tag-source">Source:</dt>
  611. <dd class="tag-source"><ul class="dummy"><li>
  612. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line455">line 455</a>
  613. </li></ul></dd>
  614. </dl>
  615. <h4 class="name" id="showBlockMenu"><span class="type-signature"></span>showBlockMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  616. <div class="description">
  617. Shows the Block tab, which involves restoring its height and showing the Blockly instance.
  618. </div>
  619. <dl class="details">
  620. <dt class="tag-source">Source:</dt>
  621. <dd class="tag-source"><ul class="dummy"><li>
  622. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line290">line 290</a>
  623. </li></ul></dd>
  624. </dl>
  625. <h4 class="name" id="showInstructorMenu"><span class="type-signature"></span>showInstructorMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  626. <div class="description">
  627. Shows the Instructor tab, which involves restoring its height.
  628. </div>
  629. <dl class="details">
  630. <dt class="tag-source">Source:</dt>
  631. <dd class="tag-source"><ul class="dummy"><li>
  632. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line327">line 327</a>
  633. </li></ul></dd>
  634. </dl>
  635. <h4 class="name" id="showSplitMenu"><span class="type-signature"></span>showSplitMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  636. <div class="description">
  637. Shows the Text tab, which requires restoring its height, showing AND refreshing
  638. the CodeMirror instance.
  639. </div>
  640. <dl class="details">
  641. <dt class="tag-source">Source:</dt>
  642. <dd class="tag-source"><ul class="dummy"><li>
  643. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line233">line 233</a>
  644. </li></ul></dd>
  645. </dl>
  646. <h4 class="name" id="showTextMenu"><span class="type-signature"></span>showTextMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  647. <div class="description">
  648. Shows the Text tab, which requires restoring its height, showing AND refreshing
  649. the CodeMirror instance.
  650. </div>
  651. <dl class="details">
  652. <dt class="tag-source">Source:</dt>
  653. <dd class="tag-source"><ul class="dummy"><li>
  654. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line259">line 259</a>
  655. </li></ul></dd>
  656. </dl>
  657. <h4 class="name" id="showUploadMenu"><span class="type-signature"></span>showUploadMenu<span class="signature">()</span><span class="type-signature"></span></h4>
  658. <div class="description">
  659. Shows the Upload tab, which involves restoring its height.
  660. </div>
  661. <dl class="details">
  662. <dt class="tag-source">Source:</dt>
  663. <dd class="tag-source"><ul class="dummy"><li>
  664. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line311">line 311</a>
  665. </li></ul></dd>
  666. </dl>
  667. <h4 class="name" id="unhighlightBlock"><span class="type-signature"></span>unhighlightBlock<span class="signature">()</span><span class="type-signature"></span></h4>
  668. <div class="description">
  669. Removes the outline around a block. Currently unused.
  670. </div>
  671. <dl class="details">
  672. <dt class="tag-source">Source:</dt>
  673. <dd class="tag-source"><ul class="dummy"><li>
  674. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line741">line 741</a>
  675. </li></ul></dd>
  676. </dl>
  677. <h4 class="name" id="unhighlightLines"><span class="type-signature"></span>unhighlightLines<span class="signature">()</span><span class="type-signature"></span></h4>
  678. <div class="description">
  679. Removes any highlight in the text code editor.
  680. </div>
  681. <dl class="details">
  682. <dt class="tag-source">Source:</dt>
  683. <dd class="tag-source"><ul class="dummy"><li>
  684. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line749">line 749</a>
  685. </li></ul></dd>
  686. </dl>
  687. <h4 class="name" id="updateBlocks"><span class="type-signature"></span>updateBlocks<span class="signature">()</span><span class="type-signature"></span></h4>
  688. <div class="description">
  689. Attempts to update the model for the current code file from the
  690. block workspace. Might be prevented if an update event was already
  691. percolating.
  692. </div>
  693. <dl class="details">
  694. <dt class="tag-source">Source:</dt>
  695. <dd class="tag-source"><ul class="dummy"><li>
  696. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line531">line 531</a>
  697. </li></ul></dd>
  698. </dl>
  699. <h4 class="name" id="updateBlocksFromModel"><span class="type-signature"></span>updateBlocksFromModel<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
  700. <div class="description">
  701. Updates the block editor from the current code file in the
  702. model. Might be prevented if an update event was already
  703. percolating. This can also report an error if one occurs.
  704. </div>
  705. <dl class="details">
  706. <dt class="tag-source">Source:</dt>
  707. <dd class="tag-source"><ul class="dummy"><li>
  708. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line609">line 609</a>
  709. </li></ul></dd>
  710. </dl>
  711. <h5>Returns:</h5>
  712. <div class="param-desc">
  713. Returns true upon success.
  714. </div>
  715. <dl>
  716. <dt>
  717. Type
  718. </dt>
  719. <dd>
  720. <span class="param-type">Boolean</span>
  721. </dd>
  722. </dl>
  723. <h4 class="name" id="updateTextFromModel"><span class="type-signature"></span>updateTextFromModel<span class="signature">()</span><span class="type-signature"></span></h4>
  724. <div class="description">
  725. Updates the text editor from the current code file in the
  726. model. Might be prevented if an update event was already
  727. percolating.
  728. </div>
  729. <dl class="details">
  730. <dt class="tag-source">Source:</dt>
  731. <dd class="tag-source"><ul class="dummy"><li>
  732. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line592">line 592</a>
  733. </li></ul></dd>
  734. </dl>
  735. <h4 class="name" id="updateToolbox"><span class="type-signature"></span>updateToolbox<span class="signature">(only_set)</span><span class="type-signature"> &rarr; (nullable) {String}</span></h4>
  736. <div class="description">
  737. Creates an updated representation of the Toolboxes XML as currently specified in the
  738. model, using whatever modules have been added or removed. This method can either set it
  739. or just retrieve it for future use.
  740. </div>
  741. <h5>Parameters:</h5>
  742. <table class="params">
  743. <thead>
  744. <tr>
  745. <th>Name</th>
  746. <th>Type</th>
  747. <th class="last">Description</th>
  748. </tr>
  749. </thead>
  750. <tbody>
  751. <tr>
  752. <td class="name"><code>only_set</code></td>
  753. <td class="type">
  754. <span class="param-type">Boolean</span>
  755. </td>
  756. <td class="description last">Whether to return the XML string or to actually set the XML. False means that it will not update the toolbox!</td>
  757. </tr>
  758. </tbody>
  759. </table>
  760. <dl class="details">
  761. <dt class="tag-source">Source:</dt>
  762. <dd class="tag-source"><ul class="dummy"><li>
  763. <a href="editor.js.html">editor.js</a>, <a href="editor.js.html#line964">line 964</a>
  764. </li></ul></dd>
  765. </dl>
  766. <h5>Returns:</h5>
  767. <div class="param-desc">
  768. Possibly returns the XML of the toolbox as a string.
  769. </div>
  770. <dl>
  771. <dt>
  772. Type
  773. </dt>
  774. <dd>
  775. <span class="param-type">String</span>
  776. </dd>
  777. </dl>
  778. </article>
  779. </section>
  780. </div>
  781. <nav>
  782. <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BlockPy.html">BlockPy</a></li><li><a href="BlockPyCorgis.html">BlockPyCorgis</a></li><li><a href="BlockPyDialog.html">BlockPyDialog</a></li><li><a href="BlockPyEditor.html">BlockPyEditor</a></li><li><a href="BlockPyEngine.html">BlockPyEngine</a></li><li><a href="BlockPyEnglish.html">BlockPyEnglish</a></li><li><a href="BlockPyFeedback.html">BlockPyFeedback</a></li><li><a href="BlockPyHistory.html">BlockPyHistory</a></li><li><a href="BlockPyPresentation.html">BlockPyPresentation</a></li><li><a href="BlockPyPrinter.html">BlockPyPrinter</a></li><li><a href="BlockPyServer.html">BlockPyServer</a></li><li><a href="BlockPyToolbar.html">BlockPyToolbar</a></li><li><a href="LocalStorageWrapper.html">LocalStorageWrapper</a></li><li><a href="PythonToBlocks.html">PythonToBlocks</a></li></ul><h3>Global</h3><ul><li><a href="global.html#BlockPyInterface">BlockPyInterface</a></li><li><a href="global.html#cloneNode">cloneNode</a></li><li><a href="global.html#encodeHTML">encodeHTML</a></li><li><a href="global.html#expandArray">expandArray</a></li><li><a href="global.html#EXTENDED_ERROR_EXPLANATION">EXTENDED_ERROR_EXPLANATION</a></li><li><a href="global.html#indent">indent</a></li><li><a href="global.html#instructor_module">instructor_module</a></li><li><a href="global.html#prettyPrintDateTime">prettyPrintDateTime</a></li><li><a href="global.html#randomInteger">randomInteger</a></li><li><a href="global.html#set_button_loaded">set_button_loaded</a></li><li><a href="global.html#timerGuard">timerGuard</a></li></ul>
  783. </nav>
  784. <br class="clear">
  785. <footer>
  786. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.3</a> on Sun Mar 26 2017 09:45:04 GMT-0400 (Eastern Daylight Time)
  787. </footer>
  788. <script> prettyPrint(); </script>
  789. <script src="scripts/linenumber.js"> </script>
  790. </body>
  791. </html>