diff options
| -rw-r--r-- | blocks.js | 42 | ||||
| -rw-r--r-- | cloud.js | 3 | ||||
| -rw-r--r-- | gui.js | 8 | ||||
| -rwxr-xr-x | history.txt | 12 | ||||
| -rw-r--r-- | lang-cs.js | 2 | ||||
| -rw-r--r-- | lang-de.js | 2 | ||||
| -rw-r--r-- | lang-eo.js | 2 | ||||
| -rw-r--r-- | lang-es.js | 2 | ||||
| -rw-r--r-- | lang-fr.js | 2 | ||||
| -rw-r--r-- | lang-it.js | 2 | ||||
| -rwxr-xr-x | lang-ja.js | 2 | ||||
| -rwxr-xr-x | lang-ja_HIRA.js | 2 | ||||
| -rw-r--r-- | lang-ko.js | 2 | ||||
| -rwxr-xr-x | lang-pt.js | 2 | ||||
| -rw-r--r-- | lang-ru.js | 2 | ||||
| -rw-r--r-- | lang-si.js | 2 | ||||
| -rw-r--r-- | lang-zh.js | 2 |
17 files changed, 71 insertions, 20 deletions
@@ -153,7 +153,7 @@ DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.blocks = '2013-April-05'; +modules.blocks = '2013-April-17'; var SyntaxElementMorph; var BlockMorph; @@ -4285,6 +4285,11 @@ ScriptsMorph.prototype.userMenu = function () { } menu.addItem('clean up', 'cleanUp', 'arrange scripts\nvertically'); menu.addItem('add comment', 'addComment'); + menu.addItem( + 'scripts pic...', + 'exportScriptsPicture', + 'open a new window\nwith a picture of all scripts' + ); if (ide) { menu.addLine(); menu.addItem( @@ -4343,6 +4348,29 @@ ScriptsMorph.prototype.cleanUp = function () { this.adjustBounds(); }; +ScriptsMorph.prototype.exportScriptsPicture = function () { + var boundingBox, pic, ctx; + if (this.children.length === 0) {return; } + boundingBox = this.children[0].fullBounds(); + this.children.forEach(function (child) { + if (child.isVisible) { + boundingBox = boundingBox.merge(child.fullBounds()); + } + }); + pic = newCanvas(boundingBox.extent()); + ctx = pic.getContext('2d'); + this.children.forEach(function (child) { + var pos = child.position(); + if (child.isVisible) { + ctx.drawImage( + child.fullImageClassic(), + pos.x - boundingBox.origin.x, + pos.y - boundingBox.origin.y + ); + } + }); + window.open(pic.toDataURL()); +}; ScriptsMorph.prototype.addComment = function () { new CommentMorph().pickUp(this.world()); @@ -7707,13 +7735,20 @@ MultiArgMorph.prototype.drawNew = function () { // MultiArgMorph arity control: MultiArgMorph.prototype.addInput = function (contents) { - var newPart = this.labelPart(this.slotSpec), + var i, name, + newPart = this.labelPart(this.slotSpec), idx = this.children.length - 1; // newPart.alpha = this.alpha ? 1 : (1 - this.alpha) / 2; if (contents) { newPart.setContents(contents); } else if (this.elementSpec === '%scriptVars') { - newPart.setContents('abcdefghijklmnopqrstuvwxyz'[idx - 1] || 'foo'); + name = ''; + i = idx; + while (i > 0) { + name = String.fromCharCode(97 + (i - 1) % 26) + name; + i = Math.floor((i - 1) / 26); + } + newPart.setContents(name); } else if (contains(['%parms', '%ringparms'], this.elementSpec)) { newPart.setContents('#' + idx); } @@ -9057,6 +9092,7 @@ CommentMorph.prototype.align = function (topBlock, ignoreLayer) { CommentMorph.prototype.startFollowing = function (topBlock) { var myself = this; this.align(topBlock); + this.world().add(this); this.addShadow(); this.stickyOffset = this.position().subtract(this.block.position()); this.step = function () { @@ -29,7 +29,7 @@ /*global modules, IDE_Morph, SnapSerializer, hex_sha512, alert, nop*/ -modules.cloud = '2013-April-08'; +modules.cloud = '2013-April-17'; // Global stuff @@ -38,6 +38,7 @@ var Cloud; var SnapCloud = new Cloud( 'https://snapcloud.miosoft.com/miocon/app/login?_app=SnapCloud' //'192.168.2.108:8087/miocon/app/login?_app=SnapCloud' + //'192.168.186.167:8087/miocon/app/login?_app=SnapCloud' // 'localhost/miocon/app/login?_app=SnapCloud' ); @@ -68,7 +68,7 @@ sb, CommentMorph, CommandBlockMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.gui = '2013-April-12'; +modules.gui = '2013-April-17'; // Declarations @@ -1914,7 +1914,7 @@ IDE_Morph.prototype.projectMenu = function () { shiftClicked = (world.currentKey === 16); menu = new MenuMorph(this); - menu.addItem('Project Notes...', 'editProjectNotes'); + menu.addItem('Project notes...', 'editProjectNotes'); menu.addLine(); menu.addItem( 'New', @@ -3343,8 +3343,10 @@ IDE_Morph.prototype.setCloudURL = function () { 'Snap!Cloud' : 'https://snapcloud.miosoft.com/miocon/app/' + 'login?_app=SnapCloud', - 'local network dev' : + 'local network lab' : '192.168.2.108:8087/miocon/app/login?_app=SnapCloud', + 'local network office' : + '192.168.186.167:8087/miocon/app/login?_app=SnapCloud', 'localhost dev' : 'localhost/miocon/app/login?_app=SnapCloud' } diff --git a/history.txt b/history.txt index 3654307..96b945c 100755 --- a/history.txt +++ b/history.txt @@ -1623,3 +1623,15 @@ ______ * Lists: fix for typecasting bug in CONTAINS * BYOB: Tooltips for custom block templates (sitting in the palette): mousing over a custom block in the palette pops up its definition hat comment in a comment-colored speech bubble * GUI: Sharing/Unsharing/Deleting now available in all version of the project dialog + +130415 +------ +* Blocks: place sticky comments on World layer on dragging their anchor block + +130416 +------ +* Cloud, GUI: additional dev settings + +130417 +------ +* Blocks: "scripts pic" option in the ScriptsMorph's userMenu lets you export a picture of all scripts (including comments)
\ No newline at end of file @@ -618,7 +618,7 @@ SnapTranslator.dict.cs = { 'Referenční příručka', // project menu - 'Project Notes...': + 'Project notes...': 'Poznámky k projektu...', 'New': 'Nový', @@ -621,7 +621,7 @@ SnapTranslator.dict.de = { 'erm\u00f6glicht Morphic Funktionen', // project menu - 'Project Notes...': + 'Project notes...': 'Projektanmerkungen...', 'New': 'Neu', @@ -592,7 +592,7 @@ SnapTranslator.dict.eo = { 'ŝalti Morphic\nkuntekstajn menuojn\nkaj kontrolilojn, \nne la afablajn!',
// project menu
- 'Project Notes...':
+ 'Project notes...':
'Projektonotoj...',
'New':
'Nova',
@@ -605,7 +605,7 @@ SnapTranslator.dict.es = { 'habilitar men\u0075s \nM\u00F3rficos contextuales\n e inspectores,\n\u00A1no f\u0061ciles de utilizar! ', // project menu - 'Project Notes...': + 'Project notes...': 'Notas del proyecto...', 'New': 'Nuevo', @@ -602,7 +602,7 @@ SnapTranslator.dict.fr = { 'activer la fonction morphic', // project menu - 'Project Notes...': + 'Project notes...': 'Notes du projet...', 'New': 'Nouveau', @@ -618,7 +618,7 @@ SnapTranslator.dict.it = { 'Abilita i menu contestuali\ndi Morphic e l\'inspector,\n non user-friendly', // project menu - 'Project Notes...': + 'Project notes...': 'Note di Progetto...', 'New': 'Nuovo', @@ -616,7 +616,7 @@ SnapTranslator.dict.ja = { 'ユーザーフレンドリーではない\nモーフィックコンテクストメニューと\nインスペクターを有効にする', // project menu - 'Project Notes...': + 'Project notes...': 'プロジェクトのメモ...', 'New': '新規', diff --git a/lang-ja_HIRA.js b/lang-ja_HIRA.js index b8454b2..d42ecfb 100755 --- a/lang-ja_HIRA.js +++ b/lang-ja_HIRA.js @@ -616,7 +616,7 @@ SnapTranslator.dict.ja_HIRA = { 'ユーザーフレンドリーではない\nモーフィックコンテクストメニューと\nインスペクターをゆうこうにする',
// project menu
- 'Project Notes...':
+ 'Project notes...':
'プロジェクトのメモ...',
'New':
'しんき',
@@ -602,7 +602,7 @@ SnapTranslator.dict.ko = { '모픽 컨텍스트 메뉴와 인스펙터를 사용할 수 있으나, 사용자 친화적이지 않습니다!', // project menu - 'Project Notes...': + 'Project notes...': '프로젝트 메모...', 'New': '새로 만들기', @@ -623,7 +623,7 @@ SnapTranslator.dict.pt = { 'Activar menus de contexto\ne inspectores não\namigáveis do Morphic!', // menu de projecto - 'Project Notes...': + 'Project notes...': 'Notas deste projecto…', 'New': 'Criar um novo projecto', @@ -599,7 +599,7 @@ SnapTranslator.dict.ru = { 'включить Morphic\nконтекст меню',
// project menu
- 'Project Notes...':
+ 'Project notes...':
'Проектные Записки...',
'New':
'Новый проект',
@@ -594,7 +594,7 @@ SnapTranslator.dict.si = { 'omogo\u010Di Morphic menuje in in\u0161pektorje, \ni uporabniku prijazno', // project menu - 'Project Notes...': + 'Project notes...': 'Opis projekta...', 'New': 'Nov', @@ -620,7 +620,7 @@ SnapTranslator.dict.zh = { // project menu
- 'Project Notes...':
+ 'Project notes...':
'项目说明...',
'New':
'新建',
|
