diff -r ad878ef29fa7 -r ee9956e2689b TabListEditor.st --- a/TabListEditor.st Fri Jul 09 21:22:29 1999 +0200 +++ b/TabListEditor.st Fri Jul 09 21:26:34 1999 +0200 @@ -119,7 +119,7 @@ 'Adds a new tab item.' #argument -'An argument not explicitly used by the tab item.' +'An optional argument stored with the tab item.' #canSelect 'Turns on/off whether the tab item is selectable.' @@ -186,83 +186,84 @@ - ^ - - #(#FullSpec - #window: - #(#WindowSpec - #name: 'Tab Basic' - #layout: #(#LayoutFrame 463 0 289 0 825 0 514 0) - #label: 'Tab Basic' - #min: #(#Point 10 10) - #max: #(#Point 1280 1024) - #bounds: #(#Rectangle 463 289 826 515) - #usePreferredExtent: false - ) - #component: - #(#SpecCollection - #collection: - #( - #(#LabelSpec - #name: 'Label' - #layout: #(#AlignmentOrigin 98 0 26 0 1 0.5) - #label: 'Label:' - #resizeForLabel: true - ) - #(#InputFieldSpec - #name: 'LabelField' - #layout: #(#LayoutFrame 100 0 15 0 -5 1.0 37 0) - #activeHelpKey: #label - #model: #label - #modifiedChannel: #modifiedChannel - #acceptChannel: #acceptChannel - #acceptOnLostFocus: true - ) - #(#CheckBoxSpec - #name: 'TranslateLabel' - #layout: #(#LayoutFrame 100 0 40 0 -5 1 66 0) - #activeHelpKey: #labelDerivesFromApplication - #model: #translateLabel - #label: 'Label derives from Application' - ) - #(#LabelSpec - #name: 'ArgumentLabel' - #layout: #(#AlignmentOrigin 98 0 81 0 1 0.5) - #label: 'Argument:' - #resizeForLabel: true - ) - #(#InputFieldSpec - #name: 'ArgumentField' - #layout: #(#LayoutFrame 100 0 70 0 -5 1.0 92 0) - #activeHelpKey: #argument - #model: #editAgument - #modifiedChannel: #modifiedChannel - #acceptChannel: #acceptChannel - #acceptOnLostFocus: true - ) - #(#LabelSpec - #name: 'ForegroundLabel' - #layout: #(#AlignmentOrigin 98 0 115 0 1 0.5) - #label: 'Color:' - #adjust: #right - #resizeForLabel: true - ) - #(#ColorMenuSpec - #name: 'ForegroundColorMenu' - #layout: #(#LayoutFrame 100 0 103 0 -5 1.0 125 0) - #activeHelpKey: #color - #model: #labelForegroundColor - #labelsAreColored: false - ) - #(#CheckBoxSpec - #name: 'CanSelect' - #layout: #(#LayoutFrame 100 0 135 0 -5 1 157 0) - #activeHelpKey: #canSelect - #model: #enabled - #label: 'Can Select' - ) - ) - ) + ^ + #(#FullSpec + #name: #tabSpec + #window: + #(#WindowSpec + #label: 'Tab Basic' + #name: 'Tab Basic' + #layout: #(#LayoutFrame 220 0 200 0 634 0 425 0) + #min: #(#Point 10 10) + #max: #(#Point 1280 1024) + #bounds: #(#Rectangle 220 200 635 426) + ) + #component: + #(#SpecCollection + #collection: #( + #(#LabelSpec + #label: 'Label:' + #name: 'Label' + #layout: #(#AlignmentOrigin 98 0 26 0 1 0.5) + #resizeForLabel: true + ) + #(#InputFieldSpec + #name: 'LabelField' + #layout: #(#LayoutFrame 100 0 15 0 -5 1.0 37 0) + #activeHelpKey: #label + #model: #label + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + #acceptOnPointerLeave: false + ) + #(#CheckBoxSpec + #label: 'Application provides translation ' + #name: 'TranslateLabel' + #layout: #(#LayoutFrame 59 0 45 0 -8 1 71 0) + #activeHelpKey: #labelDerivesFromApplication + #model: #translateLabel + ) + #(#LabelSpec + #label: 'Argument:' + #name: 'ArgumentLabel' + #layout: #(#AlignmentOrigin 98 0 182 0 1 0.5) + #resizeForLabel: true + ) + #(#InputFieldSpec + #name: 'ArgumentField' + #layout: #(#LayoutFrame 100 0 171 0 -5 1.0 193 0) + #activeHelpKey: #argument + #model: #editAgument + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + #acceptOnPointerLeave: false + ) + #(#LabelSpec + #label: 'Color:' + #name: 'ForegroundLabel' + #layout: #(#AlignmentOrigin 98 0 91 0 1 0.5) + #resizeForLabel: true + #adjust: #right + ) + #(#ColorMenuSpec + #name: 'ForegroundColorMenu' + #layout: #(#LayoutFrame 100 0 79 0 -5 1.0 101 0) + #activeHelpKey: #color + #model: #labelForegroundColor + #labelsAreColored: false + ) + #(#CheckBoxSpec + #label: 'Can Select' + #name: 'CanSelect' + #layout: #(#LayoutFrame 59 0 110 0 -8 1 132 0) + #activeHelpKey: #canSelect + #model: #enabled + ) + ) + + ) ) ! @@ -281,94 +282,93 @@ - ^ - - #(#FullSpec - #window: - #(#WindowSpec - #name: 'Tab List Editor' - #layout: #(#LayoutFrame 117 0 340 0 586 0 669 0) - #label: 'Tab List Editor' - #min: #(#Point 440 280) - #max: #(#Point 1152 900) - #bounds: #(#Rectangle 117 340 587 670) - #menu: #menu - #usePreferredExtent: false - ) - #component: - #(#SpecCollection - #collection: - #( - #(#MenuPanelSpec - #name: 'menuToolbarView' - #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0) - #menu: #menuToolbar - #showSeparatingLines: true - ) - #(#VariableHorizontalPanelSpec - #name: 'VariablePanel' - #layout: #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -26 1.0) + ^ + #(#FullSpec + #name: #windowSpec + #window: + #(#WindowSpec + #label: 'Tab List Editor' + #name: 'Tab List Editor' + #layout: #(#LayoutFrame 58 0 290 0 659 0 707 0) + #min: #(#Point 440 280) + #max: #(#Point 1152 900) + #bounds: #(#Rectangle 58 290 660 708) + #menu: #menu + ) + #component: + #(#SpecCollection + #collection: #( + #(#MenuPanelSpec + #name: 'menuToolbarView' + #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0) + #menu: #menuToolbar + #showSeparatingLines: true + ) + #(#VariableHorizontalPanelSpec + #name: 'VariablePanel' + #layout: #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -26 1.0) + #handles: #(#Any 0.259875 1.0) + #component: + #(#SpecCollection + #collection: #( + #(#SequenceViewSpec + #name: 'ColumnView' + #model: #selectionHolder + #menu: #menuEdit + #hasHorizontalScrollBar: true + #hasVerticalScrollBar: true + #miniScrollerHorizontal: true + #useIndex: true + #sequenceList: #listOfLabels + ) + #(#ViewSpec + #name: 'SpecView' + #level: -1 #component: - #(#SpecCollection - #collection: - #( - #(#SequenceViewSpec - #name: 'ColumnView' - #model: #selectionHolder - #menu: #menuEdit - #hasHorizontalScrollBar: true - #hasVerticalScrollBar: true - #miniScrollerHorizontal: true - #useIndex: true - #sequenceList: #listOfLabels - ) - #(#ViewSpec - #name: 'SpecView' - #component: - #(#SpecCollection - #collection: - #( - #(#ViewSpec - #name: 'TestView' - #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 0 1.0) - #component: - #(#SpecCollection - #collection: - #( - #(#TabViewSpec - #name: 'TestTabsView' - #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 0.5) - ) - ) - ) - ) - #(#SubCanvasSpec - #name: 'specCanvas' - #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0) - #specHolder: #specChannel - ) - #(#UISubSpecification - #name: 'subSpec' - #layout: #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1) - #majorKey: #ToolApplicationModel - #minorKey: #windowSpecForCommit - ) - ) + #(#SpecCollection + #collection: #( + #(#ViewSpec + #name: 'TestView' + #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 0 1.0) + #component: + #(#SpecCollection + #collection: #( + #(#TabViewSpec + #name: 'TestTabsView' + #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 0.5) ) - #level: -1 + ) + ) ) + #(#SubCanvasSpec + #name: 'specCanvas' + #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0) + #specHolder: #specChannel + ) + #(#UISubSpecification + #name: 'subSpec' + #layout: #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1) + #majorKey: #ToolApplicationModel + #minorKey: #windowSpecForCommit + ) + ) + ) - #handles: #(#Any 0.259875 1.0) - ) - #(#UISubSpecification - #name: 'infoBarSubSpec' - #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0) - #majorKey: #ToolApplicationModel - #minorKey: #windowSpecForInfoBar - ) + ) + ) + ) - ) + ) + #(#UISubSpecification + #name: 'infoBarSubSpec' + #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0) + #majorKey: #ToolApplicationModel + #minorKey: #windowSpecForInfoBar + ) + ) + + ) ) ! ! @@ -739,12 +739,8 @@ listOfLabels "returns a holder which keeps the list of tab labels " - |list| - (list := builder bindingAt:#listOfLabels) isNil ifTrue:[ - builder aspectAt:#listOfLabels put:(list := List new). - ]. - ^ list + ^ builder listAspectFor:#listOfLabels ! selectionHolder