Lively Kernel canvas
HTMLandJavaScriptPetitions-waitingThisisalistofpetitionswaitingtobegrantedBooks-outThisisalistofbooksloanedoutbutnotyetreturnedPetitionersThirdlist.ProbablyallowslookingattheirhistoryMake-new-petitioner.AllowsownerorotherstoregisteranewuserRecall-button.Ifyoupressthis,itsendsemailaskingtofinishandreturn.SeveralmoreurgentvestionsEvaluate-button.Ifyoupressthis,itopensapetitionviewthatletstheownerrejectitorgrantitPetition-button.Ifyoupressthis,itopensaviewofanewpetition,thatincludesabuttontosubmit,whichwillenteritinthePetitions-waitinglistMake-new-book-button.Ifyoupressthis,itopensaviewofabookthatincludesabuttontoenteritinthesystemThisisathumbnailviewofthebookcollection(wemightwanttodovideos).Itcanbefilteredandsortedvariousways,butasimplelayoutof,say20titlesisfineforastart.Theyshouldbelittleimages,anditshouldbepossibletomakeaselectionTemplatepetitionersasktoborrowabookbysubmittingapetition,orthelibrariancandothishimself
SelectionTrait={handlesMouseDown:Functions.True,selectionColor:Color.red,onMouseDown:function(evt){if(this.isSelected)this.unselect()elsethis.select()},select:function(){this.savedBorderFill=this.getBorderColor();this.savedBorderWidth=this.getBorderWidth();this.applyStyle({borderColor:this.selectionColor,borderWidth:3})this.isSelected=true;},unselect:function(){this.applyStyle({borderColor:this.savedBorderFill||this.getFill(),borderWidth:this.savedBorderWidth||0,})this.isSelected=false;},}m=$morph('item1')Object.extend(m,SelectionTrait)m.applyStyle({borderWidth:3})m.handlesMouseDown=Functions.Truem.WorkspaceX–bounds=newRectangle(0,20,600,300)sp=newScrollPane(newBoxMorph(bounds),bounds);sp.applyStyle({fill:Color.green});sp.disableVerticalScrollBar();sp.addHorizontalScrollBar()sp.openInWorld()//sp.remove()bg=sp.innerMorph()bg.applyStyle({fill:Color.red});bg.layoutManager=newHorizontalLayout();sp.relayout()bg.addMorph($morph('item1'))bg.addMorph($morph('item2'))bg.submorphssp.suppressHandles=falsex=bg.layoutManager.leftPaddingOf(bg)y=bg.layoutManager.topPaddingOf(bg)submorphs=bg.visibleSubmorphs();for(vari=0;i<submorphs.length;i++){i=2submorph=submorphs[i];x+=bg.layoutManager.leftMarginOf(submorph)submorph.align(submorph.bounds().topLeft(),pt(x,y));x+=submorph.bounds().width;x+=bg.layoutManager.rightMarginOf(submorph);}WorkspaceX–TestRunnerX–Tests.MorphTest.AccessingMorphsByNameTestTests.MorphTest.ClipMorphTestTests.MorphTest.CopyLabelTestTests.MorphTest.DragnDropListTestTests.MorphTest.DuplicateTextMorphTestTests.MorphTest.FilterableListMorphTestTests.MorphTest.GeometryChangedEventTestTests.MorphTest.HandMorphTestTests.MorphTest.HorizontalDividerTestTests.MorphTest.ImageMorphTestTests.MorphTest.ListMorphTestTests.MorphTest.MorphTestTests.MorphTest.NodeMorphTestTests.MorphTest.PathMorphTestTests.MorphTest.ProgressBarMorphTestTests.MorphTest.RunArrayTestTests.MorphTest.ScriptTestTests.MorphTest.ScrollPaneTestTests.MorphTest.SliderTestTests.MorphTest.TextListMorphTestTests.MorphTest.TextMorphTestTests.MorphTest.TickingScriptTestTests.MorphTest.VideoMorphTestRunTestCaseRunAllTestCasesRefresh-----MorphTest.js:Tests.MorphTest.HorizontalLayoutTest:--all--X–https://lively-kernel.org/repository/webwerkstatt2011/codebaselocalAgileSoftwareentwicklung/BWINF/Dan/LivelyHPImgzn/OldPartsBin/PartsBin/ProjectSeminar2010/Tests/alex/apps/benchmarks/bin/constantin/contextjs/cop/davide/demos/documentation/draft/fabian/fabrik/fred/games/issues/lauritz/lib/lively/marko/martin/media/meineerde/migration/odata/ometa/papers/philipp/projects/roadmap/robert/sandbox/schlichting/server/serverTest/sofia/swa/testCreatePartsSpace/tim/tmohr/users/webcollab-integration/widgets/../Foo.js(notparsed)Pen.lkmlLocalcode--------------------AddmoduleLoadallLineNoDbgerrorsisoffEvalonSortViewas...