support dragging blocks out from speech balloons

snap7
Jens Mönig 2022-01-22 00:32:54 +01:00
rodzic 94007283fd
commit a52ada6b24
3 zmienionych plików z 26 dodań i 3 usunięć

Wyświetl plik

@ -3,7 +3,7 @@
## in development:
* **New Features:**
* support dragging blocks out from result bubbles
* support dragging blocks out from result bubbles and speech balloons
* **Notable Changes:**
* **Notable Fixes:**
* fixed layout for scrolling custom categories, thanks, Eckart, for the bug report!
@ -12,6 +12,7 @@
### 2022-01-22
* blocks: support dragging blocks out from result bubbles
* objects: support dragging blocks out from speech balloons
### 2022-01-21
* new dev version

Wyświetl plik

@ -18,7 +18,7 @@
<script src="src/widgets.js?version=2021-17-09"></script>
<script src="src/blocks.js?version=2022-01-22"></script>
<script src="src/threads.js?version=2022-01-21"></script>
<script src="src/objects.js?version=2022-01-20"></script>
<script src="src/objects.js?version=2022-01-21"></script>
<script src="src/scenes.js?version=2021-11-24"></script>
<script src="src/gui.js?version=2022-01-21"></script>
<script src="src/paint.js?version=2021-07-05"></script>

Wyświetl plik

@ -87,7 +87,7 @@ BlockVisibilityDialogMorph*/
/*jshint esversion: 6*/
modules.objects = '2022-January-20';
modules.objects = '2022-January-21';
var SpriteMorph;
var StageMorph;
@ -10051,6 +10051,28 @@ SpriteBubbleMorph.prototype.dataAsMorph = function (data) {
contents.bounds.setWidth(img.width);
contents.bounds.setHeight(img.height);
contents.cachedImage = img;
// support blocks to be dragged out of result bubbles:
contents.isDraggable = true;
contents.selectForEdit = function () {
var script = data.toBlock(),
prepare = script.prepareToBeGrabbed,
ide = this.parentThatIsA(IDE_Morph);
script.prepareToBeGrabbed = function (hand) {
prepare.call(this, hand);
hand.grabOrigin = {
origin: ide.palette,
position: ide.palette.center()
};
this.prepareToBeGrabbed = prepare;
};
script.setPosition(this.position());
return script;
};
} else {
contents = new TextMorph(
data.toString(),