Error index out of range SpNotebookTabSelectorMorph(Object)>>error: SpNotebookTabSelectorMorph(Morph)>>privateAddAllMorphs:atIndex: SpNotebookTabSelectorMorph(Morph)>>addAllMorphs: SpNotebookTabSelectorMorph(TabSelectorMorph)>>updateTabs SpNotebookTabSelectorMorph(TabSelectorMorph)>>extent: SpNotebookTabSelectorMorph(Morph)>>bounds: SpNotebookTabSelectorMorph(Morph)>>layoutInBounds: TableLayout>>layoutLeftToRight:in: TableLayout>>layout:in: PanelMorph(Morph)>>doLayoutIn: PanelMorph(Morph)>>computeFullBounds PanelMorph(Morph)>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in SpNotebookMorph(Morph)>>submorphBounds Array(SequenceableCollection)>>do: SpNotebookMorph(Morph)>>submorphBounds SpNotebookMorph(Morph)>>privateFullBounds SpNotebookMorph(Morph)>>doLayoutIn: SpNotebookMorph(Morph)>>computeFullBounds SpNotebookMorph(Morph)>>fullBounds SpNotebookMorph(Morph)>>position: SpNotebookMorph(Morph)>>bounds: SpNotebookMorph(Morph)>>layoutInBounds: SpMorphicBoxLayoutCalculatorTopToBottom>>doCalculateFor:in: [ self doCalculateFor: aMorph in: newBounds ] in SpMorphicBoxLayoutCalculatorTopToBottom(SpMorphicBoxLayoutCalculator)>>calculateFor:in: FullBlockClosure(BlockClosure)>>ensure: SpMorphicBoxLayoutCalculatorTopToBottom(SpMorphicBoxLayoutCalculator)>>calculateFor:in: SpMorphicBoxChildLayout(SpMorphicBaseBoxLayout)>>layoutTopToBottom:in: SpMorphicBoxChildLayout(TableLayout)>>layout:in: Morph>>doLayoutIn: Morph>>computeFullBounds Morph>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in Morph>>submorphBounds Array(SequenceableCollection)>>do: Morph>>submorphBounds Morph>>privateFullBounds Morph>>changed Morph>>extent: Morph>>width: [ :each :index | | left | left := ((index - 1) * newWidth) floor. each left: left; width: right - left. right := left ] in SpMorphicMillerAdapter>>recalculatePageWidths Array(SequenceableCollection)>>reverseWithIndexDo: SpMorphicMillerAdapter>>recalculatePageWidths SpHorizontalLayoutDirection>>recalculatePages: SpMorphicMillerAdapter>>recalculatePages [ self recalculatePages ] in SpMorphicMillerAdapter>>newScrollPaneFor: [ super layoutChanged. layoutChangeAction ifNotNil: [ layoutChangeAction value ] ] in MillerScrollPaneMorph>>layoutChanged FullBlockClosure(BlockClosure)>>ensure: MillerScrollPaneMorph>>layoutChanged TransformWithLayoutMorph(Morph)>>layoutChanged TransformWithLayoutMorph(TransformMorph)>>layoutChanged Morph>>layoutChanged Morph>>layoutChanged Morph>>layoutChanged SpNotebookMorph(Morph)>>layoutChanged PanelMorph(Morph)>>layoutChanged PanelMorph(Morph)>>extent: PanelMorph(Morph)>>bounds: PanelMorph(Morph)>>layoutInBounds: TableLayout>>layoutTopToBottom:in: TableLayout>>layout:in: SpNotebookMorph(Morph)>>doLayoutIn: SpNotebookMorph(Morph)>>computeFullBounds SpNotebookMorph(Morph)>>fullBounds [:m | | subBox | (m visible) ifTrue: [ subBox := m fullBounds. box ifNil:[box := subBox copy] ifNotNil:[box := box quickMerge: subBox]]] in Morph>>submorphBounds Array(SequenceableCollection)>>do: Morph>>submorphBounds Morph>>privateFullBounds Morph>>changed Morph>>extent: Morph>>bounds: Morph>>layoutInBounds: SpMorphicBoxLayoutCalculatorTopToBottom>>doCalculateFor:in: [ self doCalculateFor: aMorph in: newBounds ] in SpMorphicBoxLayoutCalculatorTopToBottom(SpMorphicBoxLayoutCalculator)>>calculateFor:in: FullBlockClosure(BlockClosure)>>ensure: SpMorphicBoxLayoutCalculatorTopToBottom(SpMorphicBoxLayoutCalculator)>>calculateFor:in: SpMorphicBoxLayout(SpMorphicBaseBoxLayout)>>layoutTopToBottom:in: SpMorphicBoxLayout(TableLayout)>>layout:in: [ calculating := true. self isHomogeneous ifTrue: [ self layoutHomogeneous: aMorph in: aRect ]. super layout: aMorph in: aRect ] in SpMorphicBoxLayout>>layout:in: FullBlockClosure(BlockClosure)>>ensure: SpMorphicBoxLayout>>layout:in: Morph>>doLayoutIn: Morph>>computeFullBounds Morph>>fullBounds Morph>>privateInvalidateMorph: Morph>>privateAddMorph:atIndex: Morph>>addMorphBack: SpMorphicMillerAdapter>>basicAdd:constraints:to: SpMorphicMillerAdapter>>add:constraints: SpMillerLayout>>add:withConstraints: SpMillerLayout>>add: SpMillerColumnPresenter>>addPresenter: SpMillerColumnPresenter>>pushModel: SpMillerColumnPresenter>>setRootModel: StInspectorPresenter>>updateList StInspectorPresenter>>model: StObjectTranscriptPresenter>>inspect:inspector: StObjectTranscriptPresenter>>tabSelected: [ :ann | self tabSelected: ann presenter ] in StObjectTranscriptPresenter>>withInspectorLayout FullBlockClosure(BlockClosure)>>cull: FullBlockClosure(BlockClosure)>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: FullBlockClosure(BlockClosure)>>on:do: FullBlockClosure(BlockClosure)>>on:fork: AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: FullBlockClosure(BlockClosure)>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: SpTabLayout(SpExecutableLayout)>>announce: SpMorphicTabAdapter>>pageChanged: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: FullBlockClosure(BlockClosure)>>on:do: FullBlockClosure(BlockClosure)>>on:fork: AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: FullBlockClosure(BlockClosure)>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: SpNotebookMorph>>updatePageIndex:oldIndex: SpNotebookMorph(TabGroupMorph)>>update:with: MorphChangedWithArguments>>deliverTo: SpNotebookMorph(Morph)>>handleUpdate: MessageSend>>value: MessageSend>>cull: MessageSend>>cull:cull: [ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: FullBlockClosure(BlockClosure)>>on:do: FullBlockClosure(BlockClosure)>>on:fork: AnnouncementSubscription(AbstractAnnouncementSubscription)>>deliver: [ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: FullBlockClosure(BlockClosure)>>ifCurtailed: SubscriptionRegistry>>deliver:to:startingAt: SubscriptionRegistry>>deliver:to: SubscriptionRegistry>>deliver: Announcer>>announce: SpNotebookTabSelectorMorph(Morph)>>doAnnounce: SpNotebookTabSelectorMorph(Morph)>>changed:with: SpNotebookTabSelectorMorph(TabSelectorMorph)>>selectedIndex: SpNotebookMorph(TabGroupMorph)>>selectedPageIndex: SpMorphicTabAdapter>>selectIndex: [ :anAdapter | anAdapter selectIndex: aNumber ] in SpTabLayout>>selectIndex: FullBlockClosure(BlockClosure)>>cull: SpMorphicTabAdapter(ProtoObject)>>ifNotNil: SpTabLayout(SpExecutableLayout)>>withAdapterDo: SpTabLayout>>selectIndex: SpTabLayout>>select: StObjectTranscriptPresenter>>performSelection: [ :aSelection | self performSelection: aSelection ] in StObjectTranscriptPresenter>>connectPresenters FullBlockClosure(BlockClosure)>>cull: [ aBlock cull: self ] in SpSingleSelectionMode>>whenChangedDo: FullBlockClosure(BlockClosure)>>cull: FullBlockClosure(BlockClosure)>>cull:cull: [ :block | block cull: self value cull: oldValue ] in ObservableValueHolder>>valueChanged: OrderedCollection>>do: ObservableValueHolder>>valueChanged: [ | oldValue | lock := true. oldValue := value. value := anObject. self valueChanged: oldValue ] in ObservableValueHolder>>value: FullBlockClosure(BlockClosure)>>ensure: ObservableValueHolder>>value: SpSingleSelectionMode>>basicSelectIndex: SpSingleSelectionMode(SpAbstractSelectionMode)>>selectIndex: SpColumnViewPresenter(SpAbstractListPresenter)>>selectIndex: SpEasyColumnViewPresenter(SpAbstractEasyListViewPresenter)>>selectIndex: StObjectTranscriptPresenter>>selectLastItem [ window := presenter open. #thisIsATest emit. presenter selectLastItem. self assert: presenter logList selectedItem equals: presenter selectedRecordInspector model inspectedObject ] in StObjectTranscriptPresenterTest>>testOpenedLogIsSelectedLog FullBlockClosure(BlockClosure)>>ensure: StObjectTranscriptPresenterTest>>testOpenedLogIsSelectedLog StObjectTranscriptPresenterTest(TestCase)>>performTest