Lively Kernel canvas
//
Issues:-CutandPasteistnotsupportedunderFirefox-CutunderSafariisbroken-CopyandPasteofMorphsisbrokenunderChrome162
Hi20
Hi20
-CopyandPasteofMorphsworksinSafaribydoublepressingCMD+C,thenclickingwherethecopyshouldgoandthepressingCMD+V1
-thecutandpastlogicistriggeredtwotimes,firstinonKeyDownandsecondinonKeyPressundersafari,itseems,thatcopyandpastedonothaveaproblemwiththatsetup,butcutistbroken.-Solution:removethecopyandpastelogicfromonKeyPressed
FixCopyandPaste40
Meta:LayersallowedforexperimentingandworkingonCoreLifelyKernelCode(onKeyDownandonKeyPressedinTextMorphs)withoutbreakingthetools(Workspace)thatalsoreliesonthatcode.Thisexperienceissimilartothefixingoftheboldfontbug,thatmadeusedonlayersthesameway.16
ClipboardHack.ensurePasteBuffer().setAttribute("style","position:fixed;z-index:1;left:100px;top:10px;width:400px;height:50px;");1truetruefalsetruetruetruefalse
false1truefalsetruetruefalse
nullfalsetruenullfalse
MakeClipboardHackVisiblefordebuggingfalsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
10003.2403688153270767Wikicontroltrue
onKeyPress#<Event:KeyPress118>"]]>falsetruefalsetrue0
onpastefalsefalsetruefalsetrue0
reallypasteittruefalsetruefalsetrue0
onpastetruefalsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown88>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress120>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown32>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress32>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown86>"]]>falsetruefalsetrue0
tryclipboardactionfalsetruefalsetrue0
onKeyPress#<Event:KeyPress118>"]]>falsetruefalsetrue0
onpastefalsefalsetruefalsetrue0
reallypasteittruefalsetruefalsetrue0
onpastetruefalsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown88>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress120>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown32>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress32>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown86>"]]>falsetruefalsetrue0
tryclipboardactionfalsetruefalsetrue0
onKeyPress#<Event:KeyPress118>"]]>falsetruefalsetrue0
onpastefalsefalsetruefalsetrue0
reallypasteittruefalsetruefalsetrue0
onpastetruefalsetruefalsetrue0
LayerFixCopyAndPasteLayerisalreadytherefalsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown88>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress120>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown32>"]]>falsetruefalsetrue0
onKeyPress#<Event:KeyPress32>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown86>"]]>falsetruefalsetrue0
tryclipboardactionfalsetruefalsetrue0
onKeyPress#<Event:KeyPress118>"]]>falsetruefalsetrue0
onpastefalsefalsetruefalsetrue0
reallypasteittruefalsetruefalsetrue0
onpastetruefalsetruefalsetrue0
onKeyDown#<Event:KeyDown91>"]]>falsetruefalsetrue0
onKeyDown#<Event:KeyDown83>"]]>falsetruefalsetrue0
statusmsg:SyntaxError:ParseerrorLine:11falsetruefalsetrue0
status:SyntaxError:Parseerrorfalsetruefalsetrue0
-------------------------------------------falsetruefalsetrue0
invoke1:WorldMorph([[undefined,undefined,2000,1200]])falsetruefalsetrue0
problemstoparsehttp://lively-kernel.org/repository/webwerkstatt/draft/FixCopyAndPaste.xhtmlfalsetruefalsetrue0
extendForSerializationundefinedfalsetruefalsetrue0Warn:Cannotserializeobjectshavingnoid970.00001-1nulltrue0false
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
- "]]>
truetruefalse
false1truefalse
nullfalse
nullfalse
nullfalse
nullfalsefalsetruetruefalse
truetrue100falsetrue
truefalsenull050
nullfalsetruenullfalse
Consolefalsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
Thisisaforiiiiiiibufferscratchbufferexperimenti301
createLayer("FixCopyAndPasteLayer")layerClass(FixCopyAndPasteLayer,TextMorph,{onKeyDown:function(proceed,evt){console.log("onKeyDown"+evt)returnproceed(evt)},onKeyPress:function(proceed,evt){console.log("onKeyPress"+evt)returnproceed(evt)},})Object.extend(ClipboardHack,{tryClipboardAction:function(evt,target){//CopyandPasteHackthatworksinWebkit/Safariif(!evt.isMetaDown()&&!evt.isCtrlDown())returnfalse;this.selectPasteBuffer();varbuffer=this.ensurePasteBuffer();if(!buffer)returnfalse;if(evt.getKeyChar().toLowerCase()==="v"||evt.getKeyCode()===22){console.log("tryclipboardaction")varpaste_executed=false;buffer.onpaste=function(){console.log("onpaste"+paste_executed)if(paste_executed)return;//Safari5,callsthepastetwotimespaste_executed=true;console.log("reallypasteit"+paste_executed)TextMorph.clipboardString=event.clipboardData.getData("text/plain");if(target.doPaste)target.doPaste();};buffer.focus();returntrue;};if(evt.getKeyChar().toLowerCase()==="c"||evt.getKeyCode()===3){if(target.doCopy)target.doCopy();buffer.textContent=TextMorph.clipboardString;buffer.select();buffer.focus();returntrue;};if(evt.getKeyChar().toLowerCase()==="x"||evt.getKeyCode()===24){if(target.doCut)target.doCut();buffer.textContent=TextMorph.clipboardString;buffer.select();buffer.focus();returntrue;};//console.log('Clipboardactionnotsuccessful');returnfalse;},})47truetruefalsetruetruetruefalse
false1truefalsetruetruefalse
nullfalsetruenullfalse
LayerTextMorphforDebuggingfalsenullfalse
false
false
falsenullfalsefalsenullnullnullnullfalse
dismissallfalsenulltruefalsetrue
Xfalsenulltruefalsetrue
morefalsenulltruefalsetrue
SyntaxError:ParseerrorLine:11null1276257729356null70