kopia lustrzana https://github.com/backface/turtlestitch
tidy up some code, undo some improper git merging
rodzic
2a061f57f3
commit
17d7dd6720
|
@ -7200,7 +7200,7 @@ ScriptsMorph.prototype.userMenu = function () {
|
||||||
} else {
|
} else {
|
||||||
obj.customBlocks.push(definition);
|
obj.customBlocks.push(definition);
|
||||||
}
|
}
|
||||||
ide.flushBlocksCache();
|
ide.flushPaletteCache();
|
||||||
ide.refreshPalette();
|
ide.refreshPalette();
|
||||||
new BlockEditorMorph(definition, obj).popUp();
|
new BlockEditorMorph(definition, obj).popUp();
|
||||||
}
|
}
|
||||||
|
@ -9776,16 +9776,19 @@ InputSlotMorph.prototype.audioMenu = function (searching) {
|
||||||
};
|
};
|
||||||
|
|
||||||
InputSlotMorph.prototype.scenesMenu = function (searching) {
|
InputSlotMorph.prototype.scenesMenu = function (searching) {
|
||||||
var scenes = this.parentThatIsA(IDE_Morph).scenes,
|
var dict = {},
|
||||||
dict = {};
|
scenes;
|
||||||
|
if (!searching) {
|
||||||
if (!searching && scenes.length() > 1) {
|
scenes = this.parentThatIsA(IDE_Morph).scenes;
|
||||||
|
if (scenes.length() > 1) {
|
||||||
scenes.itemsArray().forEach(scn => {
|
scenes.itemsArray().forEach(scn => {
|
||||||
if (scn.name) {
|
if (scn.name) {
|
||||||
dict[scn.name] = scn.name;
|
dict[scn.name] = scn.name;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dict['~'] = null;
|
dict['~'] = null;
|
||||||
dict.next = ['next'];
|
dict.next = ['next'];
|
||||||
dict.previous = ['previous'];
|
dict.previous = ['previous'];
|
||||||
|
|
54
src/gui.js
54
src/gui.js
|
@ -2049,29 +2049,6 @@ IDE_Morph.prototype.createCorral = function (keepSceneAlbum) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
IDE_Morph.prototype.unsetUnifiedPalete = function () {
|
|
||||||
this.scene.unifiedPalette = false;
|
|
||||||
this.currentCategory = 'motion';
|
|
||||||
this.createCategories();
|
|
||||||
this.categories.fixLayout();
|
|
||||||
this.fixLayout();
|
|
||||||
this.flushBlocksCache();
|
|
||||||
this.currentSprite.palette(this.currentCategory);
|
|
||||||
this.refreshPalette(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
IDE_Morph.prototype.setUnifiedPalete = function () {
|
|
||||||
this.scene.unifiedPalette = true;
|
|
||||||
this.currentCategory = 'unified';
|
|
||||||
this.createCategories();
|
|
||||||
this.categories.fixLayout();
|
|
||||||
this.fixLayout();
|
|
||||||
this.flushBlocksCache();
|
|
||||||
this.flushPaletteCache();
|
|
||||||
this.currentSprite.palette(this.currentCategory);
|
|
||||||
this.refreshPalette(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// IDE_Morph layout
|
// IDE_Morph layout
|
||||||
|
|
||||||
IDE_Morph.prototype.fixLayout = function (situation) {
|
IDE_Morph.prototype.fixLayout = function (situation) {
|
||||||
|
@ -4050,13 +4027,7 @@ IDE_Morph.prototype.settingsMenu = function () {
|
||||||
);
|
);
|
||||||
addPreference(
|
addPreference(
|
||||||
'Unified Palette',
|
'Unified Palette',
|
||||||
() => {
|
() => this.toggleUnifiedPalette(),
|
||||||
if (this.scene.unifiedPalette) {
|
|
||||||
this.unsetUnifiedPalete();
|
|
||||||
} else {
|
|
||||||
this.setUnifiedPalete();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
this.scene.unifiedPalette,
|
this.scene.unifiedPalette,
|
||||||
'uncheck to show only the selected category\'s blocks',
|
'uncheck to show only the selected category\'s blocks',
|
||||||
'check to show all blocks in a single palette',
|
'check to show all blocks in a single palette',
|
||||||
|
@ -5602,9 +5573,9 @@ IDE_Morph.prototype.switchToScene = function (scene, refreshAlbum) {
|
||||||
this.world().keyboardFocus = this.stage;
|
this.world().keyboardFocus = this.stage;
|
||||||
|
|
||||||
if (this.currentCategory != 'unified' && scene.unifiedPalette) {
|
if (this.currentCategory != 'unified' && scene.unifiedPalette) {
|
||||||
this.setUnifiedPalete();
|
this.toggleUnifiedPalette();
|
||||||
} else if (this.currentCategory == 'unified' && !scene.unifiedPalette) {
|
} else if (this.currentCategory == 'unified' && !scene.unifiedPalette) {
|
||||||
this.unsetUnifiedPalete();
|
this.toggleUnifiedPalette();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.fixLayout();
|
this.fixLayout();
|
||||||
|
@ -5766,14 +5737,11 @@ IDE_Morph.prototype.switchToDevMode = function () {
|
||||||
|
|
||||||
IDE_Morph.prototype.flushBlocksCache = function (category) {
|
IDE_Morph.prototype.flushBlocksCache = function (category) {
|
||||||
// if no category is specified, the whole cache gets flushed
|
// if no category is specified, the whole cache gets flushed
|
||||||
// the 'unified' category is always flushed.
|
|
||||||
if (category) {
|
if (category) {
|
||||||
this.stage.primitivesCache[category] = null;
|
this.stage.primitivesCache[category] = null;
|
||||||
this.stage.primitivesCache.unified = null;
|
|
||||||
this.stage.children.forEach(m => {
|
this.stage.children.forEach(m => {
|
||||||
if (m instanceof SpriteMorph) {
|
if (m instanceof SpriteMorph) {
|
||||||
m.primitivesCache[category] = null;
|
m.primitivesCache[category] = null;
|
||||||
m.primitivesCache.unified = null;
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -6049,6 +6017,22 @@ IDE_Morph.prototype.toggleStageSize = function (isSmall, forcedRatio) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
IDE_Morph.prototype.toggleUnifiedPalette = function () {
|
||||||
|
this.scene.unifiedPalette = !this.scene.unifiedPalette;
|
||||||
|
if (this.scene.unifiedPalette) {
|
||||||
|
this.currentCategory = 'unified';
|
||||||
|
} else {
|
||||||
|
this.currentCategory = 'motion';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.createCategories();
|
||||||
|
this.categories.fixLayout();
|
||||||
|
this.fixLayout();
|
||||||
|
this.flushBlocksCache();
|
||||||
|
this.currentSprite.palette(this.currentCategory);
|
||||||
|
this.refreshPalette(true);
|
||||||
|
}
|
||||||
|
|
||||||
IDE_Morph.prototype.setPaletteWidth = function (newWidth) {
|
IDE_Morph.prototype.setPaletteWidth = function (newWidth) {
|
||||||
var msecs = this.isAnimating ? 100 : 0,
|
var msecs = this.isAnimating ? 100 : 0,
|
||||||
world = this.world();
|
world = this.world();
|
||||||
|
|
|
@ -2637,7 +2637,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
|
||||||
// for debugging: ///////////////
|
// for debugging: ///////////////
|
||||||
if (this.world().isDevMode) {
|
if (this.world().isDevMode) {
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
blocks.push(devModeText());
|
blocks.push(this.devModeText());
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
blocks.push(block('reportTypeOf'));
|
blocks.push(block('reportTypeOf'));
|
||||||
blocks.push(block('reportTextFunction'));
|
blocks.push(block('reportTextFunction'));
|
||||||
|
@ -2645,7 +2645,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
|
||||||
|
|
||||||
} else if (category === 'variables') {
|
} else if (category === 'variables') {
|
||||||
|
|
||||||
blocks.push(this.makeAVariableButton());
|
blocks.push(this.makeVariableButton());
|
||||||
if (this.deletableVariableNames().length > 0) {
|
if (this.deletableVariableNames().length > 0) {
|
||||||
blocks.push(this.deleteVariableButton());
|
blocks.push(this.deleteVariableButton());
|
||||||
}
|
}
|
||||||
|
@ -2713,7 +2713,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
|
||||||
// for debugging: ///////////////
|
// for debugging: ///////////////
|
||||||
if (this.world().isDevMode) {
|
if (this.world().isDevMode) {
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
blocks.push(devModeText());
|
blocks.push(this.devModeText());
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
blocks.push(block('doShowTable'));
|
blocks.push(block('doShowTable'));
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
|
@ -2735,7 +2735,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Utitlies displayed in the palette
|
// Utitlies displayed in the palette
|
||||||
SpriteMorph.prototype.makeAVariableButton = function() {
|
SpriteMorph.prototype.makeVariableButton = function () {
|
||||||
let button, myself = this;
|
let button, myself = this;
|
||||||
|
|
||||||
function addVar(pair) {
|
function addVar(pair) {
|
||||||
|
@ -2769,7 +2769,7 @@ SpriteMorph.prototype.makeAVariableButton = function() {
|
||||||
},
|
},
|
||||||
'Make a variable'
|
'Make a variable'
|
||||||
);
|
);
|
||||||
button.userMenu = this.newHelpMenu;
|
button.userMenu = this.helpMenu;
|
||||||
button.selector = 'addVariable';
|
button.selector = 'addVariable';
|
||||||
button.showHelp = BlockMorph.prototype.showHelp;
|
button.showHelp = BlockMorph.prototype.showHelp;
|
||||||
return button;
|
return button;
|
||||||
|
@ -2802,7 +2802,7 @@ SpriteMorph.prototype.deleteVariableButton = function () {
|
||||||
},
|
},
|
||||||
'Delete a variable'
|
'Delete a variable'
|
||||||
);
|
);
|
||||||
button.userMenu = this.newHelpMenu;
|
button.userMenu = this.helpMenu;
|
||||||
button.selector = 'deleteVariable';
|
button.selector = 'deleteVariable';
|
||||||
button.showHelp = BlockMorph.prototype.showHelp;
|
button.showHelp = BlockMorph.prototype.showHelp;
|
||||||
return button;
|
return button;
|
||||||
|
@ -2815,7 +2815,7 @@ SpriteMorph.prototype.devModeText = function () {
|
||||||
return txt;
|
return txt;
|
||||||
}
|
}
|
||||||
|
|
||||||
SpriteMorph.prototype.newHelpMenu = function () {
|
SpriteMorph.prototype.helpMenu = function () {
|
||||||
// return a 1 item context menu for anything that implements a 'showHelp' method.
|
// return a 1 item context menu for anything that implements a 'showHelp' method.
|
||||||
var menu = new MenuMorph(this);
|
var menu = new MenuMorph(this);
|
||||||
menu.addItem('help...', 'showHelp');
|
menu.addItem('help...', 'showHelp');
|
||||||
|
@ -2865,7 +2865,7 @@ SpriteMorph.prototype.makeBlockButton = function (category) {
|
||||||
'Make a block'
|
'Make a block'
|
||||||
);
|
);
|
||||||
|
|
||||||
button.userMenu = this.newHelpMenu;
|
button.userMenu = this.helpMenu;
|
||||||
button.selector = 'addCustomBlock';
|
button.selector = 'addCustomBlock';
|
||||||
button.showHelp = BlockMorph.prototype.showHelp;
|
button.showHelp = BlockMorph.prototype.showHelp;
|
||||||
return button;
|
return button;
|
||||||
|
@ -2887,7 +2887,7 @@ SpriteMorph.prototype.makeBlock = function () {
|
||||||
} else {
|
} else {
|
||||||
this.customBlocks.push(definition);
|
this.customBlocks.push(definition);
|
||||||
}
|
}
|
||||||
ide.flushBlocksCache();
|
ide.flushPaletteCache();
|
||||||
ide.refreshPalette();
|
ide.refreshPalette();
|
||||||
ide.recordUnsavedChanges();
|
ide.recordUnsavedChanges();
|
||||||
new BlockEditorMorph(definition, this).popUp();
|
new BlockEditorMorph(definition, this).popUp();
|
||||||
|
@ -8780,7 +8780,7 @@ StageMorph.prototype.blockTemplates = function (category) {
|
||||||
}
|
}
|
||||||
if (category === 'variables') {
|
if (category === 'variables') {
|
||||||
|
|
||||||
blocks.push(this.makeAVariableButton());
|
blocks.push(this.makeVariableButton());
|
||||||
if (this.variables.allNames().length > 0) {
|
if (this.variables.allNames().length > 0) {
|
||||||
blocks.push(this.deleteVariableButton());
|
blocks.push(this.deleteVariableButton());
|
||||||
}
|
}
|
||||||
|
@ -8856,24 +8856,12 @@ StageMorph.prototype.blockTemplates = function (category) {
|
||||||
blocks.push(block('doMapListCode'));
|
blocks.push(block('doMapListCode'));
|
||||||
blocks.push('-');
|
blocks.push('-');
|
||||||
blocks.push(block('reportMappedCode'));
|
blocks.push(block('reportMappedCode'));
|
||||||
blocks.push('=');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return blocks;
|
return blocks;
|
||||||
};
|
};
|
||||||
|
|
||||||
// StageMorph Palette Utilities
|
|
||||||
StageMorph.prototype.newHelpMenu = SpriteMorph.prototype.newHelpMenu;
|
|
||||||
StageMorph.prototype.makeBlockButton = SpriteMorph.prototype.makeBlockButton;
|
|
||||||
StageMorph.prototype.makeAVariableButton = SpriteMorph.prototype.makeAVariableButton;
|
|
||||||
StageMorph.prototype.devModeText = SpriteMorph.prototype.devModeText;
|
|
||||||
StageMorph.prototype.deleteVariableButton = SpriteMorph.prototype.deleteVariableButton;
|
|
||||||
StageMorph.prototype.customBlockTemplatesForCategory =
|
|
||||||
SpriteMorph.prototype.customBlockTemplatesForCategory;
|
|
||||||
StageMorph.prototype.getPrimitiveTemplates =
|
|
||||||
SpriteMorph.prototype.getPrimitiveTemplates;
|
|
||||||
|
|
||||||
// StageMorph primitives
|
// StageMorph primitives
|
||||||
|
|
||||||
StageMorph.prototype.clear = function () {
|
StageMorph.prototype.clear = function () {
|
||||||
|
@ -9151,18 +9139,27 @@ StageMorph.prototype.categories = SpriteMorph.prototype.categories;
|
||||||
StageMorph.prototype.blockColor = SpriteMorph.prototype.blockColor;
|
StageMorph.prototype.blockColor = SpriteMorph.prototype.blockColor;
|
||||||
StageMorph.prototype.paletteColor = SpriteMorph.prototype.paletteColor;
|
StageMorph.prototype.paletteColor = SpriteMorph.prototype.paletteColor;
|
||||||
StageMorph.prototype.setName = SpriteMorph.prototype.setName;
|
StageMorph.prototype.setName = SpriteMorph.prototype.setName;
|
||||||
StageMorph.prototype.makeBlockButton = SpriteMorph.prototype.makeBlockButton;
|
|
||||||
StageMorph.prototype.makeBlock = SpriteMorph.prototype.makeBlock;
|
|
||||||
StageMorph.prototype.palette = SpriteMorph.prototype.palette;
|
|
||||||
StageMorph.prototype.freshPalette = SpriteMorph.prototype.freshPalette;
|
|
||||||
StageMorph.prototype.blocksMatching = SpriteMorph.prototype.blocksMatching;
|
|
||||||
StageMorph.prototype.searchBlocks = SpriteMorph.prototype.searchBlocks;
|
|
||||||
StageMorph.prototype.reporterize = SpriteMorph.prototype.reporterize;
|
StageMorph.prototype.reporterize = SpriteMorph.prototype.reporterize;
|
||||||
StageMorph.prototype.variableBlock = SpriteMorph.prototype.variableBlock;
|
StageMorph.prototype.variableBlock = SpriteMorph.prototype.variableBlock;
|
||||||
StageMorph.prototype.showingWatcher = SpriteMorph.prototype.showingWatcher;
|
StageMorph.prototype.showingWatcher = SpriteMorph.prototype.showingWatcher;
|
||||||
StageMorph.prototype.addVariable = SpriteMorph.prototype.addVariable;
|
StageMorph.prototype.addVariable = SpriteMorph.prototype.addVariable;
|
||||||
StageMorph.prototype.deleteVariable = SpriteMorph.prototype.deleteVariable;
|
StageMorph.prototype.deleteVariable = SpriteMorph.prototype.deleteVariable;
|
||||||
|
|
||||||
|
// StageMorph Palette Utilities
|
||||||
|
|
||||||
|
StageMorph.prototype.makeBlock = SpriteMorph.prototype.makeBlock;
|
||||||
|
StageMorph.prototype.helpMenu = SpriteMorph.prototype.helpMenu;
|
||||||
|
StageMorph.prototype.makeBlockButton = SpriteMorph.prototype.makeBlockButton;
|
||||||
|
StageMorph.prototype.makeVariableButton = SpriteMorph.prototype.makeVariableButton;
|
||||||
|
StageMorph.prototype.devModeText = SpriteMorph.prototype.devModeText;
|
||||||
|
StageMorph.prototype.deleteVariableButton = SpriteMorph.prototype.deleteVariableButton;
|
||||||
|
StageMorph.prototype.customBlockTemplatesForCategory = SpriteMorph.prototype.customBlockTemplatesForCategory;
|
||||||
|
StageMorph.prototype.getPrimitiveTemplates = SpriteMorph.prototype.getPrimitiveTemplates;
|
||||||
|
StageMorph.prototype.palette = SpriteMorph.prototype.palette;
|
||||||
|
StageMorph.prototype.freshPalette = SpriteMorph.prototype.freshPalette;
|
||||||
|
StageMorph.prototype.blocksMatching = SpriteMorph.prototype.blocksMatching;
|
||||||
|
StageMorph.prototype.searchBlocks = SpriteMorph.prototype.searchBlocks;
|
||||||
|
|
||||||
// StageMorph neighbor detection
|
// StageMorph neighbor detection
|
||||||
|
|
||||||
StageMorph.prototype.neighbors = SpriteMorph.prototype.neighbors;
|
StageMorph.prototype.neighbors = SpriteMorph.prototype.neighbors;
|
||||||
|
|
Ładowanie…
Reference in New Issue