kopia lustrzana https://github.com/backface/turtlestitch
				
				
				
			Update Eisenbergification library
Remove table support, table lines. Keyboard editing tests/sets the button, not the hidden flag. Amazingly, everything else worked.upd4.1
							rodzic
							
								
									4a4dfc2e59
								
							
						
					
					
						commit
						7477552db6
					
				| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
<blocks app="Snap! 4.0, http://snap.berkeley.edu" version="1"><block-definition s="setting %'which'" type="reporter" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Project notes
 | 
			
		||||
<blocks app="Snap! 4.1, http://snap.berkeley.edu" version="1"><block-definition s="setting %'which'" type="reporter" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Project notes
 | 
			
		||||
Project name
 | 
			
		||||
User
 | 
			
		||||
Presentation mode
 | 
			
		||||
| 
						 | 
				
			
			@ -15,14 +15,12 @@ Clicking sound
 | 
			
		|||
Turbo mode
 | 
			
		||||
Flat design
 | 
			
		||||
Keyboard editing
 | 
			
		||||
Table support
 | 
			
		||||
Table lines
 | 
			
		||||
Visible stepping
 | 
			
		||||
Thread safe scripts
 | 
			
		||||
Prefer smooth animations
 | 
			
		||||
Flat line ends
 | 
			
		||||
Codification support
 | 
			
		||||
Inheritance support</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var   stage = this.parentThatIsA(StageMorph),
        ide = stage.parentThatIsA(IDE_Morph),
        world = stage.parentThatIsA(WorldMorph);

switch (which) {
    case 'Project notes':
        return ide.projectNotes;
    case 'Project name':
        return ide.projectName;
    case 'User':
        return SnapCloud.username;
    case 'Presentation mode':
        return ide.isAppMode;
    case 'Language':
        return SnapTranslator.language;
    case 'Zoom blocks':
        return SyntaxElementMorph.prototype.scale;
    case 'Stage size':
        return new List([StageMorph.prototype.dimensions.x,
                                   StageMorph.prototype.dimensions.y]);
    case 'Stage scale':
       return stage.scale;
    case 'Retina display support':
        return isRetinaEnabled();
    case 'Long form input dialog':
        return InputSlotDialogMorph.prototype.isLaunchingExpanded;
    case 'Plain prototype labels':
        return BlockLabelPlaceHolderMorph.prototype.plainLabel;
    case 'Input sliders':
        return MorphicPreferences.useSliderForInput;
    case 'Execute on slider change':
        return ArgMorph.prototype.executeOnSliderEdit;
    case 'Clicking sound':
        return !!BlockMorph.prototype.snapSound;
    case 'Turbo mode':
        return stage.isFastTracked;
    case 'Flat design':
        return MorphicPreferences.isFlat;
    case 'Keyboard editing':
        return ScriptsMorph.prototype.enableKeyboard;
    case 'Table support':
        return List.prototype.enableTables;
    case 'Table lines':
        return TableMorph.prototype.highContrast;
    case 'Visible stepping':
        return Process.prototype.enableSingleStepping;
    case 'Thread safe scripts':
        return stage.isThreadSafe;
    case 'Prefer smooth animations':
        return StageMorph.prototype.frameRate > 0;
    case 'Flat line ends':
        return SpriteMorph.prototype.useFlatLineEnds;
    case 'Codification support':
        return StageMorph.prototype.enableCodeMapping;
    case 'Inheritance support':
        return StageMorph.prototype.enableInheritance;
    default: return which;
}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %'which' to %'tf'" type="command" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Presentation mode
 | 
			
		||||
Inheritance support</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var   stage = this.parentThatIsA(StageMorph),
        ide = stage.parentThatIsA(IDE_Morph),
        world = stage.parentThatIsA(WorldMorph);

switch (which) {
    case 'Project notes':
        return ide.projectNotes;
    case 'Project name':
        return ide.projectName;
    case 'User':
        return SnapCloud.username;
    case 'Presentation mode':
        return ide.isAppMode;
    case 'Language':
        return SnapTranslator.language;
    case 'Zoom blocks':
        return SyntaxElementMorph.prototype.scale;
    case 'Stage size':
        return new List([StageMorph.prototype.dimensions.x,
                                   StageMorph.prototype.dimensions.y]);
    case 'Stage scale':
       return stage.scale;
    case 'Retina display support':
        return isRetinaEnabled();
    case 'Long form input dialog':
        return InputSlotDialogMorph.prototype.isLaunchingExpanded;
    case 'Plain prototype labels':
        return BlockLabelPlaceHolderMorph.prototype.plainLabel;
    case 'Input sliders':
        return MorphicPreferences.useSliderForInput;
    case 'Execute on slider change':
        return ArgMorph.prototype.executeOnSliderEdit;
    case 'Clicking sound':
        return !!BlockMorph.prototype.snapSound;
    case 'Turbo mode':
        return stage.isFastTracked;
    case 'Flat design':
        return MorphicPreferences.isFlat;
    case 'Keyboard editing':
        return world.keyboardReceiver instanceof ScriptFocusMorph;
    case 'Visible stepping':
        return Process.prototype.enableSingleStepping;
    case 'Thread safe scripts':
        return stage.isThreadSafe;
    case 'Prefer smooth animations':
        return StageMorph.prototype.frameRate > 0;
    case 'Flat line ends':
        return SpriteMorph.prototype.useFlatLineEnds;
    case 'Codification support':
        return StageMorph.prototype.enableCodeMapping;
    case 'Inheritance support':
        return StageMorph.prototype.enableInheritance;
    default: return which;
}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %'which' to %'tf'" type="command" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Presentation mode
 | 
			
		||||
Retina display support
 | 
			
		||||
Long form input dialog
 | 
			
		||||
Plain prototype labels
 | 
			
		||||
| 
						 | 
				
			
			@ -32,14 +30,12 @@ Clicking sound
 | 
			
		|||
Turbo mode
 | 
			
		||||
Flat design
 | 
			
		||||
Keyboard editing
 | 
			
		||||
Table support
 | 
			
		||||
Table lines
 | 
			
		||||
Visible stepping
 | 
			
		||||
Thread safe scripts
 | 
			
		||||
Prefer smooth animations
 | 
			
		||||
Flat line ends
 | 
			
		||||
Codification support
 | 
			
		||||
Inheritance support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),
        ide = stage.parentThatIsA(IDE_Morph),
        world = stage.parentThatIsA(WorldMorph);

if (tf != !!tf) return;

try{
ide.savingPreferences = false;

switch (which) {
    case 'Presentation mode':
        if (tf != ide.isAppMode) ide.toggleAppMode();
        break;
    case 'Retina display support':
        if (tf != isRetinaEnabled()) ide.toggleRetina();
        break;
    case 'Long form input dialog':
        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)
            ide.toggleLongFormInputDialog();
        break;
    case 'Plain prototype labels':
        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)
            ide.togglePlainPrototypeLabels();
        break;
    case 'Input sliders':
        MorphicPreferences.useSliderForInput = tf;
        break;
    case 'Execute on slider change':
        ArgMorph.prototype.executeOnSliderEdit = tf;
        break;
    case 'Clicking sound':
        if (tf != !!BlockMorph.prototype.snapSound)
            BlockMorph.prototype.toggleSnapSound();
        break;
    case 'Turbo mode':
        if (tf != stage.isFastTracked)
            ide.toggleFastTracking();
        break;
    case 'Flat design':
        if (tf == MorphicPreferences.isFlat) break;
        if (tf)
            ide.flatDesign();
        else
            ide.defaultDesign();
        break;
    case 'Keyboard editing':
            ScriptsMorph.prototype.enableKeyboard = tf;
        break;
    case 'Table support':
            List.prototype.enableTables = tf;
        break;
    case 'Table lines':
                TableMorph.prototype.highContrast = tf;
        break;
    case 'Visible stepping':
        if (tf != Process.prototype.enableSingleStepping)
            ide.toggleSingleStepping();
        break;
    case 'Thread safe scripts':
        stage.isThreadSafe = tf;
        break;
    case 'Prefer smooth animations':
        if (tf != (StageMorph.prototype.frameRate > 0))
            ide.toggleVariableFrameRate();
        break;
    case 'Flat line ends':
        SpriteMorph.prototype.useFlatLineEnds = tf;
        break;
    case 'Codification support':
        if (tf != StageMorph.prototype.enableCodeMapping) {
            StageMorph.prototype.enableCodeMapping = tf;
            ide.currentSprite.blocksCache.variables = null;
            ide.currentSprite.paletteCache.variables = null;
            ide.refreshPalette();
        }
        break;
    case 'Inheritance support':
        if (tf != StageMorph.prototype.enableInheritance) {
            StageMorph.prototype.enableInheritance = tf;
            ide.currentSprite.blocksCache.variables = null;
            ide.currentSprite.paletteCache.variables = null;
            ide.refreshPalette();
        }
        break;
};
}
finally {
ide.savingPreferences = false;
};
</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %'which' to %'value'" type="command" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Project notes
 | 
			
		||||
Inheritance support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),
        ide = stage.parentThatIsA(IDE_Morph),
        world = stage.parentThatIsA(WorldMorph),
        thisObj = this;

if (tf != !!tf) return;

try{
ide.savingPreferences = false;

switch (which) {
    case 'Presentation mode':
        if (tf != ide.isAppMode) ide.toggleAppMode();
        break;
    case 'Retina display support':
        if (tf != isRetinaEnabled()) ide.toggleRetina();
        break;
    case 'Long form input dialog':
        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)
            ide.toggleLongFormInputDialog();
        break;
    case 'Plain prototype labels':
        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)
            ide.togglePlainPrototypeLabels();
        break;
    case 'Input sliders':
        MorphicPreferences.useSliderForInput = tf;
        break;
    case 'Execute on slider change':
        ArgMorph.prototype.executeOnSliderEdit = tf;
        break;
    case 'Clicking sound':
        if (tf != !!BlockMorph.prototype.snapSound)
            BlockMorph.prototype.toggleSnapSound();
        break;
    case 'Turbo mode':
        if (tf != stage.isFastTracked)
            ide.toggleFastTracking();
        break;
    case 'Flat design':
        if (tf == MorphicPreferences.isFlat) break;
        if (tf)
            ide.flatDesign();
        else
            ide.defaultDesign();
        break;
    case 'Keyboard editing':
        if (tf != (world.keyboardReceiver instanceof ScriptFocusMorph)) {
            thisObj.scripts.toggleKeyboardEntry();
        };
        break;
    case 'Visible stepping':
        if (tf != Process.prototype.enableSingleStepping)
            ide.toggleSingleStepping();
        break;
    case 'Thread safe scripts':
        stage.isThreadSafe = tf;
        break;
    case 'Prefer smooth animations':
        if (tf != (StageMorph.prototype.frameRate > 0))
            ide.toggleVariableFrameRate();
        break;
    case 'Flat line ends':
        SpriteMorph.prototype.useFlatLineEnds = tf;
        break;
    case 'Codification support':
        if (tf != StageMorph.prototype.enableCodeMapping) {
            StageMorph.prototype.enableCodeMapping = tf;
            ide.currentSprite.blocksCache.variables = null;
            ide.currentSprite.paletteCache.variables = null;
            ide.refreshPalette();
        }
        break;
    case 'Inheritance support':
        if (tf != StageMorph.prototype.enableInheritance) {
            StageMorph.prototype.enableInheritance = tf;
            ide.currentSprite.blocksCache.variables = null;
            ide.currentSprite.paletteCache.variables = null;
            ide.refreshPalette();
        }
        break;
};
}
finally {
ide.savingPreferences = false;
};
</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %'which' to %'value'" type="command" category="sensing"><header></header><code></code><inputs><input type="%s" readonly="true"><options>Project notes
 | 
			
		||||
Project name
 | 
			
		||||
Language
 | 
			
		||||
Zoom blocks
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue