# HG changeset patch # User Claus Gittinger # Date 932974401 -7200 # Node ID 6b7cfe55105b601614065f586d9e1ff0849f9a06 # Parent ef91ed58b7d4cab90993ee4f4cb34a5a33e7602f checkin from browser diff -r ef91ed58b7d4 -r 6b7cfe55105b UIHelpTool.st --- a/UIHelpTool.st Thu Jul 15 14:31:34 1999 +0200 +++ b/UIHelpTool.st Mon Jul 26 09:33:21 1999 +0200 @@ -758,39 +758,36 @@ ((aClass class implements: specSelector) and: [(helpSpecSuperClass := aClass allSuperclasses detect: [:cls| cls class implements: specSelector] ifNone: nil) notNil]) - ifTrue: - [ + ifTrue:[ superHelpSpecKeys := helpSpecSuperClass helpSpec keys. helpSpec := Dictionary new. - aClass helpSpec associationsDo: - [:asso| - (superHelpSpecKeys includes: asso key) ifFalse: [helpSpec at: asso key put: asso value] + aClass helpSpec keysAndValuesDo:[:key :value | + (superHelpSpecKeys includes:key) ifFalse: [ + helpSpec at:key put:value + ] ]. - ^dictionary := helpSpec + ^ dictionary := helpSpec ]. - ^dictionary := Dictionary new + ^ dictionary := Dictionary new ! findHelpSpecForKey: aHelpKey "finds the help spec class including aHelpKey in its help dictionary and make it current" - |dictTemp| + |dictTemp listOfHelpSpecClasses| aHelpKey isNil ifTrue: [^nil]. + dictTemp := dictionary. - self listOfHelpSpecClasses value do: - [:clsName| - (dictionary := dictionaries at: clsName ifAbsent: nil) isNil - ifTrue: - [ + listOfHelpSpecClasses := self listOfHelpSpecClasses. + listOfHelpSpecClasses value do:[:clsName| + (dictionary := dictionaries at: clsName ifAbsent: nil) isNil ifTrue:[ dictionary := dictionaries at: clsName put: (self extractHelpSpecForClass: (Smalltalk at: clsName)) ]. - (dictionary includesKey: aHelpKey asSymbol) - ifTrue: - [ + (dictionary includesKey: aHelpKey asSymbol) ifTrue:[ self updateList. ^(builder componentAt: #listOfHelpSpecClassesView) selection: - (self listOfHelpSpecClasses value indexOf: clsName). + (listOfHelpSpecClasses value indexOf: clsName). ] ]. dictionary := dictTemp diff -r ef91ed58b7d4 -r 6b7cfe55105b UILayoutTool.st --- a/UILayoutTool.st Thu Jul 15 14:31:34 1999 +0200 +++ b/UILayoutTool.st Mon Jul 26 09:33:21 1999 +0200 @@ -20,7 +20,14 @@ category:'Interface-UIPainter' ! -ApplicationModel subclass:#AlignmentOrigin +ApplicationModel subclass:#LayoutOrigin + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + privateIn:UILayoutTool +! + +ApplicationModel subclass:#Rectangle instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' @@ -34,14 +41,7 @@ privateIn:UILayoutTool ! -ApplicationModel subclass:#LayoutFrame - instanceVariableNames:'' - classVariableNames:'' - poolDictionaries:'' - privateIn:UILayoutTool -! - -ApplicationModel subclass:#LayoutOrigin +ApplicationModel subclass:#AlignmentOrigin instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' @@ -55,7 +55,7 @@ privateIn:UILayoutTool ! -ApplicationModel subclass:#Rectangle +ApplicationModel subclass:#LayoutFrame instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' @@ -620,17 +620,19 @@ !UILayoutTool methodsFor:'converting absolute'! absolute:what xOrY:xOrY - |extent fraction offset fractSymb offsetSymb| + |extent fraction offset fractSymb offsetSymb fractHolder offsetHolder| extent := (self layoutView superView computeExtent) perform:xOrY. fractSymb := (what, 'Fraction') asSymbol. offsetSymb := (what, 'Offset') asSymbol. - fraction := (self aspectFor:fractSymb) value. - offset := (self aspectFor:offsetSymb) value. + fractHolder := (self aspectFor:fractSymb). + offsetHolder := (self aspectFor:offsetSymb). + fraction := fractHolder value. + offset := offsetHolder value. offset := offset + ((fraction * extent) asInteger). - (self aspectFor:offsetSymb) value:offset. - (self aspectFor:fractSymb) value:0. + offsetHolder value:offset. + fractHolder value:0. @@ -659,20 +661,22 @@ !UILayoutTool methodsFor:'converting relative'! relative:what xOrY:xOrY - |extent fraction offset fractSymb offsetSymb| + |extent fraction offset fractSymb offsetSymb fractHolder offsetHolder| extent := (self layoutView superView computeExtent) perform:xOrY. fractSymb := (what, 'Fraction') asSymbol. offsetSymb := (what, 'Offset') asSymbol. - fraction := (self aspectFor:fractSymb) value. - offset := (self aspectFor:offsetSymb) value. + fractHolder := (self aspectFor:fractSymb). + offsetHolder := (self aspectFor:offsetSymb). + fraction := fractHolder value. + offset := offsetHolder value. fraction := (fraction + (offset / extent)) asFloat. (fraction > 1.0) ifTrue:[ fraction := 1.0 ]. (fraction < 0.0) ifTrue:[ fraction := 0 ]. - (self aspectFor:offsetSymb) value:0. - (self aspectFor:fractSymb) value:fraction. + offsetHolder value:0. + fractHolder value:fraction. @@ -782,6 +786,358 @@ ! ! +!UILayoutTool::LayoutOrigin class methodsFor:'interface specs'! + +windowSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:UILayoutTool::LayoutOrigin andSelector:#windowSpec + UILayoutTool::LayoutOrigin new openInterface:#windowSpec + UILayoutTool::LayoutOrigin open + " + + + + ^ + + #(#FullSpec + #window: + #(#WindowSpec + #name: 'UILayoutTool-LayoutOrigin' + #layout: #(#LayoutFrame 290 0 420 0 647 0 565 0) + #label: 'UILayoutTool-LayoutOrigin' + #min: #(#Point 10 10) + #max: #(#Point 1152 900) + #bounds: #(#Rectangle 290 420 648 566) + #usePreferredExtent: false + ) + #component: + #(#SpecCollection + #collection: + #( + #(#UISubSpecification + #name: 'layoutOriginSpec' + #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 110 0) + #majorKey: #UILayoutTool + #minorKey: #layoutOriginSpec + ) + ) + ) + ) +! ! + +!UILayoutTool::LayoutOrigin methodsFor:'accessing'! + +fetch:aView spec:aSpec + "fetch layoutOrigin + " + |layout| + + layout := UIPainterView asLayoutFrameFromView:aView. + + (self aspectFor:#leftOffset) value:(layout leftOffset). + (self aspectFor:#leftFraction) value:(layout leftFraction). + (self aspectFor:#topOffset) value:(layout topOffset). + (self aspectFor:#topFraction) value:(layout topFraction). + + +! + +layout + "returns current layout as layoutOrigin + " + |layout| + + layout := Smalltalk::LayoutOrigin new. + + layout leftOffset:((self aspectFor:#leftOffset) value) ? 0. + layout topOffset:((self aspectFor:#topOffset) value) ? 0. + layout leftFraction:((self aspectFor:#leftFraction) value) ? 0. + layout topFraction:((self aspectFor:#topFraction) value) ? 0. + + ^ layout + +! ! + +!UILayoutTool::Rectangle class methodsFor:'interface specs'! + +windowSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:UILayoutTool::Rectangle andSelector:#windowSpec + UILayoutTool::Rectangle new openInterface:#windowSpec + UILayoutTool::Rectangle open + " + + + + ^ + + #(#FullSpec + #window: + #(#WindowSpec + #name: 'UILayoutTool-Rectangle' + #layout: #(#LayoutFrame 291 0 130 0 632 0 328 0) + #label: 'UILayoutTool-Rectangle' + #min: #(#Point 10 10) + #max: #(#Point 1152 900) + #bounds: #(#Rectangle 291 130 633 329) + #usePreferredExtent: false + ) + #component: + #(#SpecCollection + #collection: + #( + #(#UISubSpecification + #name: 'subSpecification' + #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 96 0) + #majorKey: #UILayoutTool + #minorKey: #layoutPointSpec + ) + #(#FramedBoxSpec + #name: 'FramedBox' + #layout: #(#LayoutFrame 1 0.0 99 0 0 1.0 194 0) + #component: + #(#SpecCollection + #collection: + #( + #(#LabelSpec + #name: 'labelCornerY' + #layout: #(#AlignmentOrigin 83 0 16 0 1 0) + #label: 'Right:' + #adjust: #left + ) + #(#InputFieldSpec + #name: 'fieldCornerX' + #layout: #(#LayoutFrame 85 0 13 0 135 0 35 0) + #activeHelpKey: #cornerX + #tabable: true + #model: #rightOffset + #group: #inputGroup + #type: #numberOrNil + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + ) + #(#LabelSpec + #name: 'labelCornerX' + #layout: #(#AlignmentOrigin 83 0 41 0 1 0) + #label: 'Bottom:' + #adjust: #left + ) + #(#InputFieldSpec + #name: 'fieldCornerY' + #layout: #(#LayoutFrame 85 0 38 0 135 0 60 0) + #activeHelpKey: #cornerY + #tabable: true + #model: #bottomOffset + #group: #inputGroup + #type: #numberOrNil + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + ) + ) + ) + #label: 'Corner' + #labelPosition: #topLeft + ) + ) + ) + ) + + "Modified: / 13.8.1998 / 19:59:16 / cg" +! ! + +!UILayoutTool::Rectangle methodsFor:'accessing'! + +fetch:aView spec:aSpec + "fetch rectangle + " + |origin corner| + + origin := aView computeOrigin. + corner := aView computeCorner. + + (self aspectFor:#leftOffset) value:(origin x). + (self aspectFor:#rightOffset) value:(corner x). + (self aspectFor:#topOffset) value:(origin y). + (self aspectFor:#bottomOffset) value:(corner y). + + +! + +layout + "returns current layout as rectangle + " + ^ Smalltalk::Rectangle left:(((self aspectFor:#leftOffset) value) ? 0) + top:(((self aspectFor:#topOffset) value) ? 0) + right:(((self aspectFor:#rightOffset) value) ? 0) + bottom:(((self aspectFor:#bottomOffset) value) ? 0) + + +! ! + +!UILayoutTool::Extent class methodsFor:'help specs'! + +helpSpec + "This resource specification was automatically generated + by the UIHelpTool of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIHelpTool may not be able to read the specification." + + " + UIHelpTool openOnClass:UILayoutTool::Extent + " + + + + ^super helpSpec addPairsFrom:#( + +#hrzExtent +'Horizontal extent of the selected widget.' + +#vrtExtent +'Vertical extent of the selected widget.' + +) +! ! + +!UILayoutTool::Extent class methodsFor:'interface specs'! + +windowSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:UILayoutTool::Extent andSelector:#windowSpec + UILayoutTool::Extent new openInterface:#windowSpec + UILayoutTool::Extent open + " + + + + ^ + + #(#FullSpec + #name: #windowSpec + #window: + #(#WindowSpec + #name: 'UILayoutTool-Extent' + #layout: #(#LayoutFrame 216 0 173 0 541 0 321 0) + #level: 0 + #label: 'UILayoutTool-Extent' + #min: #(#Point 10 10) + #max: #(#Point 1152 900) + #bounds: #(#Rectangle 216 173 542 322) + #usePreferredExtent: false + #returnIsOKInDialog: true + #escapeIsCancelInDialog: true + ) + #component: + #(#SpecCollection + #collection: + #( + #(#FramedBoxSpec + #name: 'FramedBox' + #layout: #(#LayoutFrame 0 0.0 6 0.0 0 1.0 137 0) + #component: + #(#SpecCollection + #collection: + #( + #(#LabelSpec + #name: 'labelWidth' + #layout: #(#AlignmentOrigin 89 0 24 0 1 0.5) + #label: 'Width:' + #adjust: #right + ) + #(#InputFieldSpec + #name: 'fieldLeftOffset' + #layout: #(#LayoutFrame 90 0 13 0 140 0 35 0) + #activeHelpKey: #hrzExtent + #enableChannel: #notUsingDefaultExtent + #tabable: true + #model: #leftOffset + #group: #inputGroup + #type: #numberOrNil + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + ) + #(#LabelSpec + #name: 'labelHeight' + #layout: #(#AlignmentOrigin 89 0 49 0 1 0.5) + #label: 'Height:' + #adjust: #right + ) + #(#InputFieldSpec + #name: 'fieldRightOffset' + #layout: #(#LayoutFrame 90 0 38 0 140 0 60 0) + #activeHelpKey: #vrtExtent + #enableChannel: #notUsingDefaultExtent + #tabable: true + #model: #rightOffset + #group: #inputGroup + #type: #numberOrNil + #acceptOnLostFocus: true + #acceptChannel: #acceptChannel + #modifiedChannel: #modifiedChannel + ) + #(#CheckBoxSpec + #name: 'useDefaultExtentCheckBox' + #layout: #(#LayoutFrame -1 0 75 0 296 0 97 0) + #model: #useDefaultExtent + #label: 'Use Widgets Default Extent' + #translateLabel: true + #enableChannel: #defaultExtentEnabled + ) + ) + ) + #label: 'Extent' + #labelPosition: #topLeft + ) + ) + ) + ) +! ! + +!UILayoutTool::Extent methodsFor:'accessing'! + +fetch:aView spec:aSpec + "fetch extent + " + |extent| + + extent := aView computeExtent. + + (self aspectFor:#leftOffset) value:(extent x). + (self aspectFor:#rightOffset) value:(extent y). + + (self aspectFor:#useDefaultExtent) value:aSpec useDefaultExtent +! + +layout + "returns current extent + " + ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0) + y:(((self aspectFor:#rightOffset) value) ? 0) + +! ! + !UILayoutTool::AlignmentOrigin class methodsFor:'help specs'! helpSpec @@ -1007,32 +1363,41 @@ fetch:aView spec:aSpec "fetch alignmentOrigin " - |layout type| + |layout type + leftAlignmentFractionHolder topAlignmentFractionHolder + leftOffsetHolder leftFractionHolder topOffsetHolder topFractionHolder| type := UIPainterView layoutType:aView. layout := aView geometryLayout. + leftOffsetHolder := (self aspectFor:#leftOffset). + leftFractionHolder := (self aspectFor:#leftFraction). + topOffsetHolder := (self aspectFor:#topOffset). + topFractionHolder := (self aspectFor:#topFraction). + leftAlignmentFractionHolder := (self aspectFor:#leftAlignmentFraction). + topAlignmentFractionHolder := (self aspectFor:#topAlignmentFraction). + layout isLayout ifTrue:[ - (self aspectFor:#leftOffset) value:(layout leftOffset). - (self aspectFor:#leftFraction) value:(layout leftFraction). - (self aspectFor:#topOffset) value:(layout topOffset). - (self aspectFor:#topFraction) value:(layout topFraction). + leftOffsetHolder value:(layout leftOffset). + leftFractionHolder value:(layout leftFraction). + topOffsetHolder value:(layout topOffset). + topFractionHolder value:(layout topFraction). type == #AlignmentOrigin ifTrue:[ - (self aspectFor:#leftAlignmentFraction) value:(layout leftAlignmentFraction). - (self aspectFor:#topAlignmentFraction) value:(layout topAlignmentFraction). + leftAlignmentFractionHolder value:(layout leftAlignmentFraction). + topAlignmentFractionHolder value:(layout topAlignmentFraction). ^ self ] ] ifFalse:[ layout := aView computeOrigin. - (self aspectFor:#leftOffset) value:(layout x). - (self aspectFor:#leftFraction) value:0. - (self aspectFor:#topOffset) value:(layout y). - (self aspectFor:#topFraction) value:0. + leftOffsetHolder value:(layout x). + leftFractionHolder value:0. + topOffsetHolder value:(layout y). + topFractionHolder value:0. ]. - (self aspectFor:#leftAlignmentFraction) value:0. - (self aspectFor:#topAlignmentFraction) value:0. + leftAlignmentFractionHolder value:0. + topAlignmentFractionHolder value:0. ! @@ -1112,23 +1477,23 @@ ! makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction - |lAF tAF lO tO ext| + |lAF tAF lO tO ext lAHolder tAHolder lOHolder tOHolder| - lAF := (self aspectFor:#leftAlignmentFraction) value ? 0. - tAF := (self aspectFor:#topAlignmentFraction) value ? 0. + lAF := (lAHolder := self aspectFor:#leftAlignmentFraction) value ? 0. + tAF := (tAHolder := self aspectFor:#topAlignmentFraction) value ? 0. ext := (self aspectFor:#layoutView) computeExtent. - (self aspectFor:#leftAlignmentFraction) value:leftAlignmentFraction. - (self aspectFor:#topAlignmentFraction) value:topAlignmentFraction. + lAHolder value:leftAlignmentFraction. + tAHolder value:topAlignmentFraction. - lO := (self aspectFor:#leftOffset) value ? 0. - tO := (self aspectFor:#topOffset) value ? 0. + lO := (lOHolder := self aspectFor:#leftOffset) value ? 0. + tO := (tOHolder := self aspectFor:#topOffset) value ? 0. lO := lO + (ext x * (leftAlignmentFraction - lAF)). tO := tO + (ext y * (topAlignmentFraction - tAF)). - (self aspectFor:#leftOffset) value:(lO rounded). - (self aspectFor:#topOffset) value:(tO rounded). + lOHolder value:(lO rounded). + tOHolder value:(tO rounded). ! @@ -1138,33 +1503,7 @@ ! ! -!UILayoutTool::Extent class methodsFor:'help specs'! - -helpSpec - "This resource specification was automatically generated - by the UIHelpTool of ST/X." - - "Do not manually edit this!! If it is corrupted, - the UIHelpTool may not be able to read the specification." - - " - UIHelpTool openOnClass:UILayoutTool::Extent - " - - - - ^super helpSpec addPairsFrom:#( - -#hrzExtent -'Horizontal extent of the selected widget.' - -#vrtExtent -'Vertical extent of the selected widget.' - -) -! ! - -!UILayoutTool::Extent class methodsFor:'interface specs'! +!UILayoutTool::Point class methodsFor:'interface specs'! windowSpec "This resource specification was automatically generated @@ -1174,9 +1513,9 @@ the UIPainter may not be able to read the specification." " - UIPainter new openOnClass:UILayoutTool::Extent andSelector:#windowSpec - UILayoutTool::Extent new openInterface:#windowSpec - UILayoutTool::Extent open + UIPainter new openOnClass:UILayoutTool::Point andSelector:#windowSpec + UILayoutTool::Point new openInterface:#windowSpec + UILayoutTool::Point open " @@ -1184,107 +1523,51 @@ ^ #(#FullSpec - #name: #windowSpec #window: #(#WindowSpec - #name: 'UILayoutTool-Extent' - #layout: #(#LayoutFrame 216 0 173 0 541 0 321 0) - #level: 0 - #label: 'UILayoutTool-Extent' + #name: 'UILayoutTool-Point' + #layout: #(#LayoutFrame 324 0 410 0 618 0 547 0) + #label: 'UILayoutTool-Point' #min: #(#Point 10 10) #max: #(#Point 1152 900) - #bounds: #(#Rectangle 216 173 542 322) + #bounds: #(#Rectangle 324 410 619 548) #usePreferredExtent: false - #returnIsOKInDialog: true - #escapeIsCancelInDialog: true ) #component: #(#SpecCollection #collection: #( - #(#FramedBoxSpec - #name: 'FramedBox' - #layout: #(#LayoutFrame 0 0.0 6 0.0 0 1.0 137 0) - #component: - #(#SpecCollection - #collection: - #( - #(#LabelSpec - #name: 'labelWidth' - #layout: #(#AlignmentOrigin 89 0 24 0 1 0.5) - #label: 'Width:' - #adjust: #right - ) - #(#InputFieldSpec - #name: 'fieldLeftOffset' - #layout: #(#LayoutFrame 90 0 13 0 140 0 35 0) - #activeHelpKey: #hrzExtent - #enableChannel: #notUsingDefaultExtent - #tabable: true - #model: #leftOffset - #group: #inputGroup - #type: #numberOrNil - #acceptOnLostFocus: true - #acceptChannel: #acceptChannel - #modifiedChannel: #modifiedChannel - ) - #(#LabelSpec - #name: 'labelHeight' - #layout: #(#AlignmentOrigin 89 0 49 0 1 0.5) - #label: 'Height:' - #adjust: #right - ) - #(#InputFieldSpec - #name: 'fieldRightOffset' - #layout: #(#LayoutFrame 90 0 38 0 140 0 60 0) - #activeHelpKey: #vrtExtent - #enableChannel: #notUsingDefaultExtent - #tabable: true - #model: #rightOffset - #group: #inputGroup - #type: #numberOrNil - #acceptOnLostFocus: true - #acceptChannel: #acceptChannel - #modifiedChannel: #modifiedChannel - ) - #(#CheckBoxSpec - #name: 'useDefaultExtentCheckBox' - #layout: #(#LayoutFrame -1 0 75 0 296 0 97 0) - #model: #useDefaultExtent - #label: 'Use Widgets Default Extent' - #translateLabel: true - #enableChannel: #defaultExtentEnabled - ) - ) - ) - #label: 'Extent' - #labelPosition: #topLeft + #(#UISubSpecification + #name: 'layoutPointSpec' + #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 100 0) + #majorKey: #UILayoutTool + #minorKey: #layoutPointSpec ) ) ) ) ! ! -!UILayoutTool::Extent methodsFor:'accessing'! +!UILayoutTool::Point methodsFor:'accessing'! fetch:aView spec:aSpec - "fetch extent + "fetch point " - |extent| + |origin| - extent := aView computeExtent. + origin := aView computeOrigin. - (self aspectFor:#leftOffset) value:(extent x). - (self aspectFor:#rightOffset) value:(extent y). + (self aspectFor:#leftOffset) value:(origin x). + (self aspectFor:#topOffset) value:(origin y). - (self aspectFor:#useDefaultExtent) value:aSpec useDefaultExtent + ! layout - "returns current extent + "returns current layout as point " - ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0) - y:(((self aspectFor:#rightOffset) value) ? 0) + ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0) + y:(((self aspectFor:#topOffset) value) ? 0) ! ! @@ -1945,276 +2228,6 @@ bottom:0.5 offset:0 ! ! -!UILayoutTool::LayoutOrigin class methodsFor:'interface specs'! - -windowSpec - "This resource specification was automatically generated - by the UIPainter of ST/X." - - "Do not manually edit this!! If it is corrupted, - the UIPainter may not be able to read the specification." - - " - UIPainter new openOnClass:UILayoutTool::LayoutOrigin andSelector:#windowSpec - UILayoutTool::LayoutOrigin new openInterface:#windowSpec - UILayoutTool::LayoutOrigin open - " - - - - ^ - - #(#FullSpec - #window: - #(#WindowSpec - #name: 'UILayoutTool-LayoutOrigin' - #layout: #(#LayoutFrame 290 0 420 0 647 0 565 0) - #label: 'UILayoutTool-LayoutOrigin' - #min: #(#Point 10 10) - #max: #(#Point 1152 900) - #bounds: #(#Rectangle 290 420 648 566) - #usePreferredExtent: false - ) - #component: - #(#SpecCollection - #collection: - #( - #(#UISubSpecification - #name: 'layoutOriginSpec' - #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 110 0) - #majorKey: #UILayoutTool - #minorKey: #layoutOriginSpec - ) - ) - ) - ) -! ! - -!UILayoutTool::LayoutOrigin methodsFor:'accessing'! - -fetch:aView spec:aSpec - "fetch layoutOrigin - " - |layout| - - layout := UIPainterView asLayoutFrameFromView:aView. - - (self aspectFor:#leftOffset) value:(layout leftOffset). - (self aspectFor:#leftFraction) value:(layout leftFraction). - (self aspectFor:#topOffset) value:(layout topOffset). - (self aspectFor:#topFraction) value:(layout topFraction). - - -! - -layout - "returns current layout as layoutOrigin - " - |layout| - - layout := Smalltalk::LayoutOrigin new. - - layout leftOffset:((self aspectFor:#leftOffset) value) ? 0. - layout topOffset:((self aspectFor:#topOffset) value) ? 0. - layout leftFraction:((self aspectFor:#leftFraction) value) ? 0. - layout topFraction:((self aspectFor:#topFraction) value) ? 0. - - ^ layout - -! ! - -!UILayoutTool::Point class methodsFor:'interface specs'! - -windowSpec - "This resource specification was automatically generated - by the UIPainter of ST/X." - - "Do not manually edit this!! If it is corrupted, - the UIPainter may not be able to read the specification." - - " - UIPainter new openOnClass:UILayoutTool::Point andSelector:#windowSpec - UILayoutTool::Point new openInterface:#windowSpec - UILayoutTool::Point open - " - - - - ^ - - #(#FullSpec - #window: - #(#WindowSpec - #name: 'UILayoutTool-Point' - #layout: #(#LayoutFrame 324 0 410 0 618 0 547 0) - #label: 'UILayoutTool-Point' - #min: #(#Point 10 10) - #max: #(#Point 1152 900) - #bounds: #(#Rectangle 324 410 619 548) - #usePreferredExtent: false - ) - #component: - #(#SpecCollection - #collection: - #( - #(#UISubSpecification - #name: 'layoutPointSpec' - #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 100 0) - #majorKey: #UILayoutTool - #minorKey: #layoutPointSpec - ) - ) - ) - ) -! ! - -!UILayoutTool::Point methodsFor:'accessing'! - -fetch:aView spec:aSpec - "fetch point - " - |origin| - - origin := aView computeOrigin. - - (self aspectFor:#leftOffset) value:(origin x). - (self aspectFor:#topOffset) value:(origin y). - - -! - -layout - "returns current layout as point - " - ^ Smalltalk::Point x:(((self aspectFor:#leftOffset) value) ? 0) - y:(((self aspectFor:#topOffset) value) ? 0) - -! ! - -!UILayoutTool::Rectangle class methodsFor:'interface specs'! - -windowSpec - "This resource specification was automatically generated - by the UIPainter of ST/X." - - "Do not manually edit this!! If it is corrupted, - the UIPainter may not be able to read the specification." - - " - UIPainter new openOnClass:UILayoutTool::Rectangle andSelector:#windowSpec - UILayoutTool::Rectangle new openInterface:#windowSpec - UILayoutTool::Rectangle open - " - - - - ^ - - #(#FullSpec - #window: - #(#WindowSpec - #name: 'UILayoutTool-Rectangle' - #layout: #(#LayoutFrame 291 0 130 0 632 0 328 0) - #label: 'UILayoutTool-Rectangle' - #min: #(#Point 10 10) - #max: #(#Point 1152 900) - #bounds: #(#Rectangle 291 130 633 329) - #usePreferredExtent: false - ) - #component: - #(#SpecCollection - #collection: - #( - #(#UISubSpecification - #name: 'subSpecification' - #layout: #(#LayoutFrame 1 0.0 6 0 0 1.0 96 0) - #majorKey: #UILayoutTool - #minorKey: #layoutPointSpec - ) - #(#FramedBoxSpec - #name: 'FramedBox' - #layout: #(#LayoutFrame 1 0.0 99 0 0 1.0 194 0) - #component: - #(#SpecCollection - #collection: - #( - #(#LabelSpec - #name: 'labelCornerY' - #layout: #(#AlignmentOrigin 83 0 16 0 1 0) - #label: 'Right:' - #adjust: #left - ) - #(#InputFieldSpec - #name: 'fieldCornerX' - #layout: #(#LayoutFrame 85 0 13 0 135 0 35 0) - #activeHelpKey: #cornerX - #tabable: true - #model: #rightOffset - #group: #inputGroup - #type: #numberOrNil - #acceptOnLostFocus: true - #acceptChannel: #acceptChannel - #modifiedChannel: #modifiedChannel - ) - #(#LabelSpec - #name: 'labelCornerX' - #layout: #(#AlignmentOrigin 83 0 41 0 1 0) - #label: 'Bottom:' - #adjust: #left - ) - #(#InputFieldSpec - #name: 'fieldCornerY' - #layout: #(#LayoutFrame 85 0 38 0 135 0 60 0) - #activeHelpKey: #cornerY - #tabable: true - #model: #bottomOffset - #group: #inputGroup - #type: #numberOrNil - #acceptOnLostFocus: true - #acceptChannel: #acceptChannel - #modifiedChannel: #modifiedChannel - ) - ) - ) - #label: 'Corner' - #labelPosition: #topLeft - ) - ) - ) - ) - - "Modified: / 13.8.1998 / 19:59:16 / cg" -! ! - -!UILayoutTool::Rectangle methodsFor:'accessing'! - -fetch:aView spec:aSpec - "fetch rectangle - " - |origin corner| - - origin := aView computeOrigin. - corner := aView computeCorner. - - (self aspectFor:#leftOffset) value:(origin x). - (self aspectFor:#rightOffset) value:(corner x). - (self aspectFor:#topOffset) value:(origin y). - (self aspectFor:#bottomOffset) value:(corner y). - - -! - -layout - "returns current layout as rectangle - " - ^ Smalltalk::Rectangle left:(((self aspectFor:#leftOffset) value) ? 0) - top:(((self aspectFor:#topOffset) value) ? 0) - right:(((self aspectFor:#rightOffset) value) ? 0) - bottom:(((self aspectFor:#bottomOffset) value) ? 0) - - -! ! - !UILayoutTool class methodsFor:'documentation'! version