Wykres commitów

2418 Commity (83624c2f4e560df02ab8a7eceacab48c4b804562)

Autor SHA1 Wiadomość Data
jmoenig 83adb56bd0 tweaked yesterday's fix... 2019-02-15 17:26:11 +01:00
jmoenig 82c6b82960 keep empty numerical input slots in custom blocks empty when relabelling
instead of filling in zeroes
2019-02-14 12:01:16 +01:00
Zhenlei Jia 1c5d6970a9 Fix a bug that a single key stroke will be escalated twice. 2019-02-12 08:17:55 -05:00
Zhenlei Jia e972ae0ccd Set the right cursor position at the start of editing.
I assumed that all editing start with the whold content being selected.
The project note editor shows that this assumption might not be sure.
Added code in initializeTextarea to get the cursor right at the start
of editing.
2019-02-08 20:58:40 -05:00
Zhenlei Jia aabdfeade6 Provide IME support to the text editing in Snap.
1. Design Outline:

Three parties are involved:
- the target: the StringMorph/TextMorph to be edited
- the editor: the hidden textarea
- the manager: the CursorMorph

The manager takes care of the lifecycle of the editor, and provide visual
presentation of the cursor.

The editor holds the content being edited, handles keyboard events, perform
the required editing, then update the target with the result of editing.

The target handles mouse events, which result into changes of cursor position
and selection status, then it will update the editor with these information.

2. Change of WorldMorph.edit(target) method

At the start of the method, added two guards to check:
- if `target` is actually currently being edited, do nothing.
- if another morph is being edited, call stopEditing().
- ... the old codes

This is to fix a bug in mouse event handling. The bug is that shift+click does not
select the text between the clicked position and previous position, instead
all text wiil be selected.

The cause of this bug is the morph that being edited called stopEditing() and then
.edit(), which starts a new editing session, and the previous selection state is lost.
By adding above mentioned guard, the force restart will be avoid.
2019-02-08 10:54:03 -05:00
Zhenlei Jia a5aa6dd4b1 Fix a bug of project note edit dialog
Before fix, accepting the edit by "Shift+Enter" will discard all
editings.

Solution: setup dialog.target, dialog.action and dialog.getInput
properly for DialogBoxMorph's 'accept' method.

Changes are made in src/gui.js, but the 'why' part is at the
DialogBoxMorph.accept method in the file src/widget.js.
2019-02-08 08:14:45 -05:00
jmoenig a19cd29526 enable dropping command blocks into all rings by default. Yeah! 2019-02-07 12:54:45 +01:00
jmoenig ba46761576 adjusted keyboard typing for command blocks inside reporter rings 2019-02-07 12:47:56 +01:00
jmoenig 2a20052349 cleaned up blocks.js 2019-02-07 12:37:20 +01:00
jmoenig 3fef36f614 layout adjustments for dropping command blocks into reporter rings 2019-02-07 12:26:26 +01:00
jmoenig affbe2f437 refactored for optimized parent-by-type detection 2019-02-07 09:54:22 +01:00
jmoenig 22e12c834a simplified and optimized Node>>parentThatIsA / parentThatIsAnyOf 2019-02-07 09:48:17 +01:00
jmoenig d3a01ea1ee improved dropping command blocks into reporter rings 2019-02-07 07:54:23 +01:00
jmoenig 37a8c8d6e6 tweaked spec for settings getter 2019-02-07 07:45:23 +01:00
jmoenig c081eb997f tweaked loading mechanism to enable command blocks inside reporter rings 2019-02-07 07:42:47 +01:00
jmoenig b950976675 enable dropping commands into all rings, experimental, under construction 2019-02-06 20:35:54 +01:00
jmoenig 015bc354c4 adjust bottom of STOP block to reflect the menu selection (show / hide bottom notch) 2019-02-06 14:21:09 +01:00
jmoenig c299d4df60 added indicators for special menu / slot type to input slot editor 2019-02-06 11:43:01 +01:00
jmoenig b2e59006c5 made existence of slot-options and special menus testable 2019-02-06 10:48:06 +01:00
jmoenig 7478efdca9 refactored custom block input slot options / menus
avoid errors in case users edit menus in ways that are not supported
2019-02-06 08:44:07 +01:00
jmoenig 89fb1ac36f radio button symbols for special slot / drop-down menu options 2019-02-05 22:09:55 +01:00
jmoenig 4951f5cb70 enable dial menu to work with textual values representable as numbers 2019-02-04 11:11:43 +01:00
jmoenig aa98ed4d50 enable piano keyboard menu to work with textual values representable as numbers 2019-02-04 11:01:55 +01:00
jmoenig 9acd28bbe4 tweaked editor display of multi-line inputs with defaults 2019-02-04 10:00:19 +01:00
jmoenig 96660cf775 support default values in multi-line input slots inside custom blocks 2019-02-04 09:56:22 +01:00
jmoenig 85c6a1ed38 identify multi-line input slots by the pilcrow symbol in the slot editor 2019-02-04 09:04:58 +01:00
jmoenig d92b37c629 special context-aware drop-downs for custom blocks 2019-02-04 08:25:03 +01:00
jmoenig 39edea8f43 multi-line and monospaced "code" input slots for custom blocks 2019-02-01 17:22:18 +01:00
jmoenig 91009916a2 added "rotation style" selectors to accessor blocks 2019-01-28 18:25:25 +01:00
jmoenig 5b7d215cc9 added "draggable" selector to attributes accessors 2019-01-28 18:01:32 +01:00
jmoenig 6b805a855a added "flat line ends" option to "turbo mode" accessor blocks 2019-01-28 16:54:48 +01:00
jmoenig fc175b844e German translation update 2019-01-28 10:17:10 +01:00
jmoenig c50396fdf7 new "object" reporter in the Sensing category for getting a sprite by its name 2019-01-28 10:10:10 +01:00
jmoenig b9bc9d1446 pushed version to "beta" 2019-01-28 08:07:52 +01:00
jmoenig f40def7316 updated version history 2019-01-28 07:59:48 +01:00
jmoenig 9608bc9b45 added ability to export sounds 2019-01-25 13:38:08 +01:00
jmoenig 19f17e7243 updated version history
and slightly tweaked the code to please lint :-)
2019-01-25 12:17:57 +01:00
Jens Mönig 1601dffddc
Merge pull request #2315 from jmoenig/cloud-enhancements
Updates to cloud.js
2019-01-25 12:04:09 +01:00
jmoenig af6229828f tweaked CSV-parser to handle \r-only record delimiters 2019-01-25 09:31:11 +01:00
jmoenig cfc8750292 Turkish translation update, thanks, Turgut! 2019-01-24 11:57:24 +01:00
Michael Ball 16db64c9d5 oh dear! 2e20 is *not* 2**20...whoops 2019-01-24 02:32:40 -08:00
Michael Ball 19243fa538 cleanup duplicative error handling 2019-01-24 02:10:48 -08:00
Michael Ball b4f12a67bd cleanup logging / comments 2019-01-24 02:07:26 -08:00
Michael Ball a044553767 refactor some cloud project saving. Fix #2169 2019-01-24 02:03:10 -08:00
Michael Ball 1fdded7fe5 Move project saving code to gui.js
Give it a small refactor, fix size checking.
2019-01-23 23:54:33 -08:00
Michael Ball 204f725437 cloud.js tweak to not need morphic as much. 2019-01-23 23:31:00 -08:00
jmoenig ce4d93c036 updated German translation
added translations for the new "background color" blocks
2019-01-23 17:44:38 +01:00
jmoenig 2cc9a17310 save stage's background color in project
also save alpha of pen color and background color
2019-01-23 17:34:51 +01:00
jmoenig 8bf326e934 new blocks for setting and changing the stage's background color 2019-01-23 17:09:54 +01:00
jmoenig 5fa31f0aab tweaked rending of C-shaped slots inside predicates 2019-01-23 07:20:22 +01:00
jmoenig c7f0d9d674 fixed pen hsv-cache invalidation for clones 2019-01-22 13:38:00 +01:00
jmoenig 2f269f062d cleaned up CSV parser 2019-01-22 10:47:00 +01:00
jmoenig 8746a0f95f remove all clones when the Green Flag is clicked 2019-01-22 03:06:43 +01:00
jmoenig d35ea89193 adjust label row below C-Slot to accomodate loop icon, if any 2019-01-22 02:29:15 +01:00
jmoenig 4ec2732a9d updated internal "for reach" primitive block with new arrow symbol. Sigh. 2019-01-21 13:22:20 +01:00
jmoenig 7cf1c56d1d let users make C-shape slots with loop arrow symbols. Sigh. 2019-01-21 13:13:37 +01:00
jmoenig 573ce00e8c updated version of Indonesian translation, thanks, @amuritna! 2019-01-21 09:30:24 +01:00
jmoenig 0695ac2883 fixed "Staatsgalerie bug" - "relabel" did not restore drop-down choice when localized 2019-01-19 23:29:12 +01:00
jmoenig 1697be02d3 updated versions 2019-01-17 13:27:58 +01:00
Bernat Romagosa 91439e8512 minor change because of new user roles 2019-01-16 12:35:40 +01:00
jmoenig 83aa4866e9 suppress 'loop' arrow symbol where label text follow the C-slot in translations 2019-01-16 08:51:45 +01:00
jmoenig 1de1581c22 updated German translation 2019-01-15 07:53:41 +01:00
jmoenig c43eb3ca17 pushed dev version to 5.0 2019-01-14 17:28:01 +01:00
jmoenig 89dcda7418 added 'loop' symbol to primitive loop blocks 2019-01-14 17:21:47 +01:00
jmoenig 190826987a added 'loop' arrow symbol 2019-01-14 12:07:27 +01:00
jmoenig 00be8bd92a another blind shot at addressing Brian's CSV parsing issue 2019-01-12 20:01:25 +01:00
jmoenig a9428974a9 try to identify Brian's problem with parsing a CSV 2019-01-12 09:33:56 +01:00
jmoenig 59eac0faf5 Turkish translation update, thanks, Turgut Guneysu! 2019-01-11 17:49:40 +01:00
jmoenig 9dfaca8e33 updated version dates, pushed dev version to 4.3 2019-01-11 17:36:07 +01:00
Jens Mönig be8b2a5f7e
Merge pull request #2287 from bromagosa/number-sounds
fix: can't play sounds by name if name is a number
2019-01-11 17:07:13 +01:00
Jens Mönig 0020ce17f7
Merge pull request #2292 from bromagosa/remix-changes
Changes needed for the remix functionality in our new social site
2019-01-11 16:38:00 +01:00
Jens Mönig d1b90ad946
Merge pull request #2285 from bromagosa/embed-changes
Tweaked styling for embed mode to match social site
2019-01-11 15:42:19 +01:00
Jens Mönig 4bf84582b0
Merge pull request #2279 from bromagosa/rename-project
added Cloud >> updateProjectName method
2019-01-11 15:38:27 +01:00
jmoenig f9ca6ab23c updated German translation 2019-01-10 16:02:46 +01:00
jmoenig 3df6370a11 import & examine data sets and text files via drag'n'drop or "import" menu 2019-01-10 15:51:02 +01:00
jmoenig 9c9a778c23 updated list documentation, enabled table support by default 2019-01-10 15:42:19 +01:00
jmoenig 6275793507 recognize data sets in dropped text files (csv, json) 2019-01-10 15:28:57 +01:00
jmoenig 8bf2bf88c9 tweaked Boolean filter for CSVs 2019-01-09 18:15:47 +01:00
jmoenig cedbce80d4 prevent Booleans in CSVs 2019-01-09 18:01:17 +01:00
jmoenig 80ea5ab9ba automatically parse json files on import 2019-01-09 17:45:31 +01:00
jmoenig dab03fac5d added "export as JSON" capability 2019-01-09 16:51:36 +01:00
jmoenig 56c5971aae added (Bernat's) JSON parser to SPLIT block 2019-01-09 11:03:43 +01:00
jmoenig 05a8c5bdfc fixed "set pen color (color picker)" to observe, i.e. overwrite transparency 2019-01-09 08:38:44 +01:00
jmoenig 2f268ed3b7 added option to include alpha in color comparison 2019-01-09 08:37:08 +01:00
jmoenig 2f36d49591 tweaked format for serializing atomic data lists 2019-01-09 07:21:57 +01:00
jmoenig f2657fd662 updated German translation 2019-01-08 17:35:12 +01:00
jmoenig 7d877a6244 renamed "color" to "hue" in pen-blocks and in location sensor 2019-01-08 17:28:52 +01:00
jmoenig 600ec731d2 fixed a glitch in the List >> asCSV() encoder 2019-01-08 17:12:24 +01:00
jmoenig 4db5536eff make sure to escape optimized list storage 2019-01-08 16:41:40 +01:00
jmoenig cefb945ec1 optimized serialization of lists with atomic data in project files 2019-01-08 16:20:50 +01:00
jmoenig dfb2907c84 fixed an off-by-one error in List >> becomeLinked() 2019-01-08 16:14:43 +01:00
jmoenig 6c5a0b9c88 automatically parse csv files on import
also: experimental "raw data" and "parse" ops
2019-01-08 07:21:01 +01:00
jmoenig a681880965 directly export and import lists as csv files, under construction 2019-01-07 18:54:19 +01:00
jmoenig 8e7a9a4bef fixed pixel color sensing for stage pen trails 2019-01-04 13:21:13 +01:00
jmoenig ccbda1a4f9 updated German translation 2019-01-04 11:38:09 +01:00
jmoenig b2b3aea8d2 new feature/block: sense colors and sprites anywhere
use sprites to read/write data encoded in colors
2019-01-04 11:20:50 +01:00
jmoenig 9ea9c8c3f5 updated German translation 2019-01-02 15:30:37 +01:00
jmoenig f97ce5c63c tweaked pen color selector to "HSVA" 2019-01-02 14:46:50 +01:00
jmoenig 92d8fa4cb3 pushed dev version to 4.2.3 2019-01-02 14:40:06 +01:00
jmoenig d5dd445eda added third color dimension and transparency to pen 2019-01-02 14:27:04 +01:00
Bernat Romagosa fc7a9cc566
Update cloud.js 2019-01-02 08:46:49 +01:00
jmoenig e8f134fbe3 fixed glitch in WorldMorph >> getGlobalPixelColor 2019-01-01 15:41:51 +01:00
jmoenig 0bb72fbbdb added HSL color conversion support to Morphic
and updated Morphic documentation
2019-01-01 15:25:50 +01:00
jmoenig 1ba15afba7 fixed #2294 2018-12-28 21:11:45 +01:00
jmoenig f77516effe updated German translation 2018-12-28 20:12:25 +01:00
jmoenig f1278fbbaa added "front/back" options to "go to front" layer primitive 2018-12-28 20:00:11 +01:00
jmoenig a7146a804c added 'neg' selector to monad operator 2018-12-28 19:29:15 +01:00
Bernat Romagosa cacda530b2 added getRemixes function to cloud.js 2018-12-18 08:34:31 +01:00
Bernat Romagosa 06ff3478b7 added remixID property to stage at init 2018-12-17 13:07:32 +01:00
Bernat Romagosa 99815dd547 added remix functionality 2018-12-17 12:41:10 +01:00
Bernat Romagosa 1ce6febed0 fixed flag centering in embedMode 2018-12-12 08:20:05 +01:00
Bernat Romagosa f498441a56 fix: can't play sounds by name if name is a number 2018-12-11 11:43:33 +01:00
Bernat Romagosa fddbccf8ee tweaked styling for embed mode to match social site 2018-12-07 14:11:51 +01:00
jmoenig ba62f758f1 fixed #2284
executing "inherit" should not un-hide palette in presentation mode
2018-12-07 09:15:11 +01:00
Bernat Romagosa 8324935dc4 added Cloud >> updateProjectName method 2018-12-04 14:26:34 +01:00
jmoenig 79de77080a fixed offline version (avoid sessionStorage access) 2018-11-29 14:07:50 +01:00
Jens Mönig 2e043428e0
Merge pull request #2272 from bromagosa/fix-non-persistent-login
fixes non persistent login accross page reloads
2018-11-29 13:16:59 +01:00
Bernat Romagosa 020a2266a3 fixes non persistent login accross page reloads 2018-11-29 12:45:04 +01:00
jmoenig a85939cdaf prepared release 2018-11-29 07:52:08 +01:00
jmoenig a0b4aba0cc allow smaller stage extent in embed mode
for social website
2018-11-28 12:42:19 +01:00
jmoenig 8b011ac38f updated cloud version 2018-11-28 10:47:21 +01:00
Bernat Romagosa 85168ece6b
A typo and an error in the domain lookup comment.
The cloud URL is specified in a `location` attribute, not a `domain` one.
2018-11-28 09:29:50 +01:00
jmoenig ac2b8e7745 added special checks to make imporing text-based files into vars easier in Windows 2018-11-28 09:27:03 +01:00
jmoenig 287764bfea added "open anyway?" option to "unable to import" dialog for variables 2018-11-27 15:30:06 +01:00
jmoenig 4c4a676f4f made importing files into variable watchers more lenient wrt to file types 2018-11-27 14:02:10 +01:00
jmoenig c98fdacd4f Cache stage>>penTrailsMorph to optimize collision detection
also fixed a collision detection errror when objects are sub-pixel sized
2018-11-27 08:54:40 +01:00
jmoenig f6b36ed2f2 prepared release 2018-11-21 13:11:38 +01:00
jmoenig 07d3446036 prepared release 2018-11-13 07:50:54 +01:00
jmoenig 9e0015cf18 fixed #2261
(check for selectedBlock before declaring an InputSlotMorph to be "empty")
2018-11-13 00:24:42 +01:00
jmoenig d9370661ec fixed #2260 2018-11-12 19:54:09 +01:00
jmoenig 82543618ee fixed #2251
(sorta, load project anyway even though costumes / sounds are missing)
The cause for this defect is usually prior use of IE when saving a project
2018-11-12 09:32:07 +01:00
jmoenig d161895382 tweaked fix for #2250 2018-11-12 08:20:44 +01:00
jmoenig 9a256b47d1 fixed #2250 2018-11-12 07:59:55 +01:00
jmoenig 8339fb577b updated BYOB's version date 2018-11-12 07:55:00 +01:00
jmoenig 6127b18f70 new dev version 2018-11-12 07:52:19 +01:00
jmoenig b1c3841bfb prepared release 2018-11-07 06:37:42 -05:00
jmoenig 6a6bf29abf updated German translation 2018-11-06 23:36:38 -05:00
jmoenig fe9a2890e1 enabled "duplicate block definition" in the palette 2018-11-06 23:26:05 -05:00
jmoenig 865ac5391a fixed a scope issue introduced in v4.2.2.4 2018-11-06 23:13:35 -05:00
jmoenig 3922cad9a3 prepared minor release 2018-11-02 17:43:48 +01:00
jmoenig 9ba19db366 avoid rendering graphic effects for null-extent canvasses 2018-11-02 17:39:03 +01:00
jmoenig 2e4f52f40a prepare release 2018-10-29 13:10:47 +01:00
jmoenig 5c8108dee7 fixed #2234 (display all reachable local variables in drop-down menu) 2018-10-29 12:34:25 +01:00
jmoenig 779fbeada4 new dev version 2018-10-29 12:31:51 +01:00
jmoenig fddba70d79 prepare release 2018-10-26 11:39:38 +02:00
jmoenig ba76995ab6 tweaked csv-parser to omit the last record if it is empty 2018-10-26 11:23:47 +02:00
jmoenig 386127a7d8 fixed #2235 (help for local custom blocks) 2018-10-26 09:14:24 +02:00
jmoenig 45de9c6120 changed SPLIT "csv" to comply with RFC 4180, took out others options 2018-10-26 08:05:09 +02:00
jmoenig 1d963ab0ca added "csv records" to SPLIT options, renamed "csv" to "csv fields" 2018-10-24 16:14:34 +02:00
jmoenig 6b963671f0 updated history & version 2018-10-23 14:30:09 +02:00
jmoenig ed297096e4 New "reportAtomicGroup" HOF primitive using the JIT compiler 2018-10-23 14:07:30 +02:00
jmoenig e17d5e343b Don't stamp if the canvas is too small (and would throw an error) 2018-10-23 12:00:41 +02:00
jmoenig 7086171c68 prepared release 2018-10-19 12:36:37 +02:00
jmoenig 3a7f26497a fixed #2227 - capture argument reporter's lexical environment in JIT-compiler 2018-10-19 12:22:10 +02:00
jmoenig faf4b51f18 prepare release 2018-10-16 10:21:17 +02:00
jmoenig 6c7c39ccad New Ukrainian translation, thanks, Serhiy Kryzhanovsky! 2018-10-16 10:00:54 +02:00
jmoenig bdc21b3668 prepared release 2018-10-07 12:20:28 +02:00
jmoenig 4e8dcd0924 renamed repo to "Snap!
and adjusted all references in the code
2018-10-07 11:21:44 +02:00
jmoenig 9e8e7d9e70 Fixed #1918 - escape options in block drop downs #2174, thanks, @cycomachead !
for providing the fix
2018-10-05 16:18:13 +02:00
jmoenig 1ff20b30b1 Adjusted pen hue wrapping and took out pen shade wrapping 2018-10-05 09:48:11 +02:00
jmoenig b1388a94b9 tweaked color wrapping
in my next life I promise to learn arithmetic :-)
2018-10-04 23:19:59 +02:00
jmoenig 460940497b made SET PEN COLOR and SET PEN SHADE inputs wrap around 2018-10-04 17:54:40 +02:00
jmoenig f79460ec67 added instructions for using Snap! offline 2018-10-04 16:18:44 +02:00
jmoenig 4d850b0410 improved UX when running Snap! locally without a web server
bypass the cloud and instead import and export everything to local disk
2018-10-04 14:34:59 +02:00
jmoenig f2dacc1faf updated history 2018-10-03 12:11:13 +02:00
Michael Ball b8fcd99793 Coerce input to string before checking length in LETTER OF 2018-10-02 23:19:36 -07:00
jmoenig 536acb224f moved media files (icon, logo, click sound) into "src" subfolder 2018-10-02 16:07:53 +02:00
jmoenig 258e476e5f moved *.js files into subfolder "src"
and edited gui.js to deal with ypr.js
2018-10-02 15:48:42 +02:00