kopia lustrzana https://github.com/backface/turtlestitch
support dragging costumes and sounds out from table views
rodzic
c7916ff49c
commit
bd625a5619
|
@ -14,6 +14,9 @@
|
||||||
* Hungarian, thank you, Attila Faragó, for this HUGE update!
|
* Hungarian, thank you, Attila Faragó, for this HUGE update!
|
||||||
* German
|
* German
|
||||||
|
|
||||||
|
### 2022-01-28
|
||||||
|
* tables: support dragging costumes and sounds out from table views
|
||||||
|
|
||||||
### 2022-01-27
|
### 2022-01-27
|
||||||
* blocks, gui: support dragging costumes and sounds out from result bubbles
|
* blocks, gui: support dragging costumes and sounds out from result bubbles
|
||||||
* objects: support dragging costumes and sounds out from speech balloons
|
* objects: support dragging costumes and sounds out from speech balloons
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
<script src="src/paint.js?version=2021-07-05"></script>
|
<script src="src/paint.js?version=2021-07-05"></script>
|
||||||
<script src="src/lists.js?version=2021-12-15"></script>
|
<script src="src/lists.js?version=2021-12-15"></script>
|
||||||
<script src="src/byob.js?version=2022-01-07"></script>
|
<script src="src/byob.js?version=2022-01-07"></script>
|
||||||
<script src="src/tables.js?version=2022-01-23"></script>
|
<script src="src/tables.js?version=2022-01-28"></script>
|
||||||
<script src="src/sketch.js?version=2021-11-03"></script>
|
<script src="src/sketch.js?version=2021-11-03"></script>
|
||||||
<script src="src/video.js?version=2019-06-27"></script>
|
<script src="src/video.js?version=2019-06-27"></script>
|
||||||
<script src="src/maps.js?version=2021-06-15"></script>
|
<script src="src/maps.js?version=2021-06-15"></script>
|
||||||
|
|
|
@ -68,11 +68,12 @@
|
||||||
MorphicPreferences, FrameMorph, HandleMorph, DialogBoxMorph, StringMorph, isNil,
|
MorphicPreferences, FrameMorph, HandleMorph, DialogBoxMorph, StringMorph, isNil,
|
||||||
SpriteMorph, Context, Costume, BlockEditorMorph, SymbolMorph, IDE_Morph, Sound,
|
SpriteMorph, Context, Costume, BlockEditorMorph, SymbolMorph, IDE_Morph, Sound,
|
||||||
SyntaxElementMorph, MenuMorph, SpriteBubbleMorph, SpeechBubbleMorph, CellMorph,
|
SyntaxElementMorph, MenuMorph, SpriteBubbleMorph, SpeechBubbleMorph, CellMorph,
|
||||||
ListWatcherMorph, BoxMorph, Variable, isSnapObject, useBlurredShadows*/
|
ListWatcherMorph, BoxMorph, Variable, isSnapObject, useBlurredShadows,
|
||||||
|
CostumeIconMorph, SoundIconMorph*/
|
||||||
|
|
||||||
/*jshint esversion: 6*/
|
/*jshint esversion: 6*/
|
||||||
|
|
||||||
modules.tables = '2022-January-23';
|
modules.tables = '2022-January-28';
|
||||||
|
|
||||||
var Table;
|
var Table;
|
||||||
var TableCellMorph;
|
var TableCellMorph;
|
||||||
|
@ -343,7 +344,8 @@ TableCellMorph.prototype.render = function (ctx) {
|
||||||
x,
|
x,
|
||||||
y;
|
y;
|
||||||
|
|
||||||
this.isDraggable = this.data instanceof Context;
|
this.isDraggable = (this.data instanceof Context) ||
|
||||||
|
(this.data instanceof Costume) || (this.data instanceof Sound);
|
||||||
ctx.fillStyle = background;
|
ctx.fillStyle = background;
|
||||||
if (this.shouldBeList()) {
|
if (this.shouldBeList()) {
|
||||||
BoxMorph.prototype.outlinePath.call(
|
BoxMorph.prototype.outlinePath.call(
|
||||||
|
@ -477,6 +479,18 @@ TableCellMorph.prototype.mouseLeave = function () {
|
||||||
};
|
};
|
||||||
|
|
||||||
TableCellMorph.prototype.selectForEdit = function () {
|
TableCellMorph.prototype.selectForEdit = function () {
|
||||||
|
if (this.data instanceof Context) {
|
||||||
|
return this.selectContextForEdit();
|
||||||
|
}
|
||||||
|
if (this.data instanceof Costume) {
|
||||||
|
return this.selectCostumeForEdit();
|
||||||
|
}
|
||||||
|
if (this.data instanceof Sound) {
|
||||||
|
return this.selectSoundForEdit();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TableCellMorph.prototype.selectContextForEdit = function () {
|
||||||
var script = this.data.toBlock(),
|
var script = this.data.toBlock(),
|
||||||
prepare = script.prepareToBeGrabbed,
|
prepare = script.prepareToBeGrabbed,
|
||||||
ide = this.parentThatIsA(IDE_Morph) ||
|
ide = this.parentThatIsA(IDE_Morph) ||
|
||||||
|
@ -496,6 +510,54 @@ TableCellMorph.prototype.selectForEdit = function () {
|
||||||
return script;
|
return script;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
TableCellMorph.prototype.selectCostumeForEdit = function () {
|
||||||
|
var cst = this.data.copy(),
|
||||||
|
icon,
|
||||||
|
prepare,
|
||||||
|
ide = this.parentThatIsA(IDE_Morph)||
|
||||||
|
this.world().childThatIsA(IDE_Morph);
|
||||||
|
|
||||||
|
cst.name = ide.currentSprite.newCostumeName(cst.name);
|
||||||
|
icon = new CostumeIconMorph(cst);
|
||||||
|
prepare = icon.prepareToBeGrabbed;
|
||||||
|
|
||||||
|
icon.prepareToBeGrabbed = function (hand) {
|
||||||
|
hand.grabOrigin = {
|
||||||
|
origin: ide.palette,
|
||||||
|
position: ide.palette.center()
|
||||||
|
};
|
||||||
|
this.prepareToBeGrabbed = prepare;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (ide.isAppMode) {return; }
|
||||||
|
icon.setCenter(this.center());
|
||||||
|
return icon;
|
||||||
|
};
|
||||||
|
|
||||||
|
TableCellMorph.prototype.selectSoundForEdit = function () {
|
||||||
|
var snd = this.data.copy(),
|
||||||
|
icon,
|
||||||
|
prepare,
|
||||||
|
ide = this.parentThatIsA(IDE_Morph)||
|
||||||
|
this.world().childThatIsA(IDE_Morph);
|
||||||
|
|
||||||
|
snd.name = ide.currentSprite.newSoundName(snd.name);
|
||||||
|
icon = new SoundIconMorph(snd);
|
||||||
|
prepare = icon.prepareToBeGrabbed;
|
||||||
|
|
||||||
|
icon.prepareToBeGrabbed = function (hand) {
|
||||||
|
hand.grabOrigin = {
|
||||||
|
origin: ide.palette,
|
||||||
|
position: ide.palette.center()
|
||||||
|
};
|
||||||
|
this.prepareToBeGrabbed = prepare;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (ide.isAppMode) {return; }
|
||||||
|
icon.setCenter(this.center());
|
||||||
|
return icon;
|
||||||
|
};
|
||||||
|
|
||||||
// TableMorph //////////////////////////////////////////////////////////
|
// TableMorph //////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// TableMorph inherits from FrameMorph:
|
// TableMorph inherits from FrameMorph:
|
||||||
|
|
Ładowanie…
Reference in New Issue