Lively Kernel canvas
// this script is evaluated on world load
getPageStack = function() {
return WorldMorph.current().submorphs.detect(function(ea) {return ea.isPageStack})
}
getPlaceHolder = function() {
return getPageStack().submorphs.detect(function(ea) {return ea.isPagePlaceHolder})
}
getNextPage = function() {
var stack = getPageStack();
var currentPlaceholder = getPlaceHolder();
return stack.submorphs[stack.submorphs.indexOf(currentPlaceholder) + 1] ;
}
getPageStack()
getPlaceHolder()
getNextPage()
function($super, bounds) {
$super(new lively.scene.Rectangle(bounds));
this.setFill(Color.rgb(50,50,50));
this.setBorderColor(Color.white);
}
null
End-userWebDevelopmentLivelyFabrikandLivelyWiki
35
1
8
false
null
37
null
Hasso-Plattner-InstitutPotsdamSoftwareArchitectureGroupProf.Dr.RobertHirschfeldJensLinckeRobertKrahnhttp://www.hpi.uni-potsdam.de/swa/
25
5
45
false
237
null
null
null
null
Hasso-Plattner-InstitutPotsdamSoftwareArchitectureGroupProf.Dr.RobertHirschfeldJensLinckeRobertKrahnhttp://www.hpi.uni-potsdam.de/swa/
25
5
99
false
147
null
null
Hasso-Plattner-InstitutPotsdamSoftwareArchitectureGroupProf.Dr.RobertHirschfeldJensLinckeRobertKrahnhttp://www.hpi.uni-potsdam.de/swa/
25
5
60
true
147
null
Hasso-Plattner-InstitutPotsdamSoftwareArchitectureGroupProf.Dr.RobertHirschfeldJensLinckeRobertKrahnhttp://www.hpi.uni-potsdam.de/swa/
25
5
59
false
147
null
null
null
null
current
-0.517253261668967
7
false
null
1
true
true
null
stackMorph=newlively.Presentation.PageStack(new);WorldMorph.current().addMorph(stackMorph);stackMorph.setPosition(pt(30,30))stackMorph.getExtent()stackMorph.remove()
5
50
true
null
51
null
initializer
false
true
false
0
false
null
lively.Presentation.PageStack
false
true
false
0
false
null
lively.Presentation.PageStackItem
false
true
false
0
false
310
1
null
null
true
false
false
null
null
true
true
false
false
1
true
false
null
false
null
false
null
false
null
false
false
true
true
false
null
initialize
false
true
false
0
false
310
null
0
null
null
true
false
false
null
null
true
true
false
false
1
true
false
null
false
null
false
null
false
null
false
false
true
true
false
null
null
false
initialize:function($super,bounds){$super(newlively.scene.Rectangle(bounds));this.setFill(Color.rgb(50,50,50));this.setBorderColor(Color.white);},
null
true
true
2000000
false
0
false
null
120
true
true
false
false
1
true
false
true
true
false
null
false
Browseworld...
false
null
false
false
null
false
Pushchangesback
false
null
false
false
null
false
Refresh
false
null
false
false
null
Evaloff
false
null
false
null
null
false
Sort
false
null
false
false
true
false
false
null
null
false
true
null
false
null
false
lively.Presentation.PageStack:initialize
false
null
false
false
false
false
null
false
false
null
null
null
null
false
null
WebPIM.js(notloaded)
false
true
false
0
false
null
ToolsTests.js(notloaded)
false
true
false
0
false
null
SerializationTests.js(notloaded)
false
true
false
0
false
null
Ometa.js(notloaded)
false
true
false
0
false
null
phone.js(notloaded)
false
true
false
0
false
null
MathUuid.js(notloaded)
false
true
false
0
false
null
obsolete.js(notloaded)
false
true
false
0
false
null
TestFrameworkTests.js(notloaded)
false
true
false
0
false
null
Fabrik.js(notloaded)
false
true
false
0
false
null
ClassTest.js(notloaded)
false
true
false
0
false
null
MorphTest.js(notloaded)
false
true
false
0
false
null
ide.js(notloaded)
false
true
false
0
false
null
Widgets.js(notloaded)
false
true
false
0
false
null
defaultconfig.js(notloaded)
false
true
false
0
false
null
FabrikTest.js(notloaded)
false
true
false
0
false
null
Storage.js(notloaded)
false
true
false
0
false
null
fx.js(notloaded)
false
true
false
0
false
null
localconfig.js(notloaded)
false
true
false
0
false
null
TileScripting.js(notloaded)
false
true
false
0
false
null
LKFileParser.js(notloaded)
false
true
false
0
false
null
Network.js(notloaded)
false
true
false
0
false
null
scene.js(notloaded)
false
true
false
0
false
null
Base.js(notloaded)
false
true
false
0
false
null
Helper.js(notloaded)
false
true
false
0
false
null
miniprototype.js(notloaded)
false
true
false
0
false
null
Contributions.js(notloaded)
false
true
false
0
false
null
RecordTest.js(notloaded)
false
true
false
0
false
null
Serialization.js(notloaded)
false
true
false
0
false
null
Text.js(notloaded)
false
true
false
0
false
null
EmuDom.js(notloaded)
false
true
false
0
false
null
CoreTest.js(notloaded)
false
true
false
0
false
null
Layers.js(notloaded)
false
true
false
0
false
null
rhino-compat.js(notloaded)
false
true
false
0
false
null
Tools.js(notloaded)
false
true
false
0
false
null
TestFramework.js(notloaded)
false
true
false
0
false
null
Data.js(notloaded)
false
true
false
0
false
null
LKWiki.js(notloaded)
false
true
false
0
false
null
Pen.lkml
false
true
false
0
false
null
Main.js(notloaded)
false
true
false
0
false
null
ModuleSystemTests.js(notloaded)
false
true
false
0
false
null
LKWikiTest.js(notloaded)
false
true
false
0
false
null
TileScriptingTests.js(notloaded)
false
true
false
0
false
null
CanvasExpt.js(notloaded)
false
true
false
0
false
null
Examples.js(notloaded)
false
true
false
0
false
null
demofx.js(notloaded)
false
true
false
0
false
null
GridLayout.js(notloaded)
false
true
false
0
false
null
Core.js(notloaded)
false
true
false
0
false
null
OmetaTest.js(notloaded)
false
true
false
0
false
null
Presentation.js
false
true
false
0
false
null
Tests/OmetaTest.js(notloaded)
false
true
false
0
false
null
Tests/ClassTest.js(notloaded)
false
true
false
0
false
null
Tests/FabrikTestNew.js(notloaded)
false
true
false
0
false
null
Tests/ModuleSystemTests.js(notloaded)
false
true
false
0
false
null
Tests/RecordTest.js(notloaded)
false
true
false
0
false
null
Tests/TestFrameworkTests.js(notloaded)
false
true
false
0
false
null
Tests/ToolsTests.js
false
true
false
0
false
null
Tests/MorphTest.js
false
true
false
0
false
null
Tests/CoreTest.js(notloaded)
false
true
false
0
false
null
Tests/LKWikiTest.js(notloaded)
false
true
false
0
false
null
Tests/PresentationTests.js(notloaded)
false
true
false
0
false
null
Tests/FabrikTest.js(notloaded)
false
true
false
0
false
null
Tests/LayersTest.js(notloaded)
false
true
false
0
false
null
Tests/SerializationTests.js(notloaded)
false
true
false
0
false
null
Tests/TileScriptingTests.js(notloaded)
false
true
false
0
false
null
LKFileParser.txt(notloaded)
false
true
false
0
false
null
test.js
false
true
false
0
false
null
Localcode
false
true
false
0
false
186
48
null
null
true
false
false
null
null
true
true
false
false
1
true
false
null
false
null
false
null
false
null
false
false
true
true
false
null
lively.Presentation.PageMorph
false
true
false
0
false
217
0
null
null
true
false
null
false
null
true
true
false
false
1
true
false
null
false
null
false
null
false
null
false
false
true
true
false
null
initialize(proto)
false
true
false
0
false
null
okToBeGrabbedBy(proto)
false
true
false
0
false
null
morphMenu(proto)
false
true
false
0
false
null
toggleFullScreen(proto)
false
true
false
0
false
null
handlesMouseDown(proto)
false
true
false
0
false
null
onMouseDown(proto)
false
true
false
0
false
null
makeSelection(proto)
false
true
false
0
false
217
0
null
null
true
false
false
null
null
true
true
false
false
1
true
false
null
false
null
false
null
false
null
false
false
true
true
false
null
false
initialize:function($super,bounds){$super(newlively.scene.Rectangle(bounds));this.setFill(Color.white);this.setBorderColor(Color.white);},
4
true
true
2000000
false
0 && ratio < 100) {\n\t\t\t\tthis.setScale(ratio);\n\t\t\t\tthis.setPosition(pt((WorldMorph.current().getExtent().x - this.bounds().extent().x) / 2, 0));\n\t\t\t\tWorldMorph.current().setFill(Color.white);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.setScale(1);\n\t\t\tthis.setPosition(this.oldPosition);\n\t\t\tWorldMorph.current().setFill(this.oldWorldFill);\n\t\t\tthis.oldPosition = null;\t\n\t\t\tthis.oldWorldFill = null\n\t\t}\n\t},\n\t\n\thandlesMouseDown: Functions.True,\n\t\n\tonMouseDown: function ($super, evt) {\n\t\t$super(evt);\n\t\tthis.makeSelection(evt); \t\t\n return true;\n },\n\t\t\n\tmakeSelection: function(evt) { //default behavior is to grab a submorph\n if (this.currentSelection != null) this.currentSelection.removeOnlyIt();\n var m = new SelectionMorph(this.localize(evt.point()).asRectangle());\n this.addMorph(m);\n this.currentSelection = m;\n var handle = new HandleMorph(pt(0,0), lively.scene.Rectangle, evt.hand, m, \"bottomRight\");\n\t\thandle.setExtent(pt(0, 0));\n\t\thandle.mode = 'reshape';\n m.addMorph(handle);\n evt.hand.setMouseFocus(handle);\n\t\t// evt.hand.setKeyboardFocus(handle);\n },\n\t\n})\n\n"]]>
153
false
null
true
true
false
false
1
true
false
true
true
false
null
false
Browseworld...
false
null
false
false
null
false
Loadall
false
null
false
false
null
false
LineNo
false
null
false
false
null
false
Refresh
false
null
false
false
null
false
Evaloff
false
null
false
false
null
false
Sort
false
null
false
false
null
classes
false
null
true
true
null
functions
false
null
true
true
null
objects
false
null
true
true
true
false
null
null
false
true
null
false
null
false
Presentation.js:lively.Presentation.PageMorph:initialize(proto)
false
null
false
false
false
false
null
false
false
null
null
null
null
false
null
1242113909215
36524
1
20
null
1242113909
null