kopia lustrzana https://github.com/backface/turtlestitch
new feature: enable sprite nesting via the context menu
rodzic
0565310e52
commit
b0d4b4fd1b
|
@ -13,6 +13,7 @@
|
||||||
* blocks for changing and querying the "flat line ends" setting
|
* blocks for changing and querying the "flat line ends" setting
|
||||||
* selectors for changing and querying "draggable" and "rotation style" settings
|
* selectors for changing and querying "draggable" and "rotation style" settings
|
||||||
* special context-aware drop-downs for custom blocks
|
* special context-aware drop-downs for custom blocks
|
||||||
|
* new "stick to" submenu in the sprite context menu where applicable
|
||||||
* multi-line and monospaced "code" input slots for custom blocks
|
* multi-line and monospaced "code" input slots for custom blocks
|
||||||
* new "string" library, thanks, Brian
|
* new "string" library, thanks, Brian
|
||||||
* added "neg" selector to monadic function reporter in "Operators" category
|
* added "neg" selector to monadic function reporter in "Operators" category
|
||||||
|
@ -39,6 +40,9 @@
|
||||||
* Greek, thanks, Alexandros!
|
* Greek, thanks, Alexandros!
|
||||||
* German
|
* German
|
||||||
|
|
||||||
|
### 2019-02-18
|
||||||
|
* Objects: enable sprite nesting via the context menu
|
||||||
|
|
||||||
### 2019-02-15
|
### 2019-02-15
|
||||||
* BYOB: tweaked yesterday's fix...
|
* BYOB: tweaked yesterday's fix...
|
||||||
* Blocks: fixed a glitch in the custom block help mechanism (show only the prototype)
|
* Blocks: fixed a glitch in the custom block help mechanism (show only the prototype)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<script type="text/javascript" src="src/widgets.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/widgets.js?version=2018-10-02"></script>
|
||||||
<script type="text/javascript" src="src/blocks.js?version=2019-02-15"></script>
|
<script type="text/javascript" src="src/blocks.js?version=2019-02-15"></script>
|
||||||
<script type="text/javascript" src="src/threads.js?version=2019-01-28"></script>
|
<script type="text/javascript" src="src/threads.js?version=2019-01-28"></script>
|
||||||
<script type="text/javascript" src="src/objects.js?version=2019-02-07"></script>
|
<script type="text/javascript" src="src/objects.js?version=2019-02-18"></script>
|
||||||
<script type="text/javascript" src="src/gui.js?version=2019-02-07"></script>
|
<script type="text/javascript" src="src/gui.js?version=2019-02-07"></script>
|
||||||
<script type="text/javascript" src="src/paint.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/paint.js?version=2018-10-02"></script>
|
||||||
<script type="text/javascript" src="src/lists.js?version=2019-02-07"></script>
|
<script type="text/javascript" src="src/lists.js?version=2019-02-07"></script>
|
||||||
|
|
|
@ -83,7 +83,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, localize,
|
||||||
TableMorph, TableFrameMorph, normalizeCanvas, BooleanSlotMorph, HandleMorph,
|
TableMorph, TableFrameMorph, normalizeCanvas, BooleanSlotMorph, HandleMorph,
|
||||||
AlignmentMorph, Process, XML_Element, VectorPaintEditorMorph*/
|
AlignmentMorph, Process, XML_Element, VectorPaintEditorMorph*/
|
||||||
|
|
||||||
modules.objects = '2019-February-07';
|
modules.objects = '2019-February-18';
|
||||||
|
|
||||||
var SpriteMorph;
|
var SpriteMorph;
|
||||||
var StageMorph;
|
var StageMorph;
|
||||||
|
@ -3206,7 +3206,9 @@ SpriteMorph.prototype.reportSounds = function () {
|
||||||
|
|
||||||
SpriteMorph.prototype.userMenu = function () {
|
SpriteMorph.prototype.userMenu = function () {
|
||||||
var ide = this.parentThatIsA(IDE_Morph),
|
var ide = this.parentThatIsA(IDE_Morph),
|
||||||
menu = new MenuMorph(this);
|
menu = new MenuMorph(this),
|
||||||
|
allParts,
|
||||||
|
anchors;
|
||||||
|
|
||||||
if (ide && ide.isAppMode) {
|
if (ide && ide.isAppMode) {
|
||||||
// menu.addItem('help', 'nop');
|
// menu.addItem('help', 'nop');
|
||||||
|
@ -3246,6 +3248,15 @@ SpriteMorph.prototype.userMenu = function () {
|
||||||
localize('detach from') + ' ' + this.anchor.name,
|
localize('detach from') + ' ' + this.anchor.name,
|
||||||
'detachFromAnchor'
|
'detachFromAnchor'
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
allParts = this.allParts();
|
||||||
|
anchors = this.parent.children.filter(function (morph) {
|
||||||
|
return morph instanceof SpriteMorph &&
|
||||||
|
!contains(allParts, morph);
|
||||||
|
});
|
||||||
|
if (anchors.length) {
|
||||||
|
menu.addMenu('stick to', this.anchorsMenu(anchors));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (this.parts.length) {
|
if (this.parts.length) {
|
||||||
menu.addItem('detach all parts', 'detachAllParts');
|
menu.addItem('detach all parts', 'detachAllParts');
|
||||||
|
@ -3254,6 +3265,20 @@ SpriteMorph.prototype.userMenu = function () {
|
||||||
return menu;
|
return menu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
SpriteMorph.prototype.anchorsMenu = function (targets) {
|
||||||
|
var menu = new MenuMorph(this.attachTo, null, this);
|
||||||
|
targets.forEach(function (sprite) {
|
||||||
|
menu.addItem(
|
||||||
|
[
|
||||||
|
sprite.thumbnail(new Point(24, 24)),
|
||||||
|
sprite.name,
|
||||||
|
],
|
||||||
|
sprite
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return menu;
|
||||||
|
};
|
||||||
|
|
||||||
SpriteMorph.prototype.exportSprite = function () {
|
SpriteMorph.prototype.exportSprite = function () {
|
||||||
if (this.isTemporary) {return; }
|
if (this.isTemporary) {return; }
|
||||||
var ide = this.parentThatIsA(IDE_Morph);
|
var ide = this.parentThatIsA(IDE_Morph);
|
||||||
|
@ -5987,6 +6012,10 @@ SpriteMorph.prototype.booleanMorph = function (bool) {
|
||||||
simulate Morphic trees
|
simulate Morphic trees
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
SpriteMorph.prototype.attachTo = function (aSprite) {
|
||||||
|
aSprite.attachPart(this);
|
||||||
|
};
|
||||||
|
|
||||||
SpriteMorph.prototype.attachPart = function (aSprite) {
|
SpriteMorph.prototype.attachPart = function (aSprite) {
|
||||||
var v = Date.now();
|
var v = Date.now();
|
||||||
if (aSprite.anchor) {
|
if (aSprite.anchor) {
|
||||||
|
|
Ładowanie…
Reference in New Issue