Chris Muller uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-cmm.174.mcz ==================== Summary ==================== Name: Graphics-cmm.174 Author: cmm Time: 8 January 2011, 3:49:19.775 pm UUID: f55656ad-b923-452a-81a5-426ad37dbd43 Ancestors: Graphics-bp.173 Merged Graphics-bp.173 without dropping the postscript. =============== Diff against Graphics-mtf.172 =============== Item was added: + Object subclass: #LayoutFrame + instanceVariableNames: 'leftFraction leftOffset topFraction topOffset rightFraction rightOffset bottomFraction bottomOffset' + classVariableNames: '' + poolDictionaries: '' + category: 'Graphics-Primitives'! + + !LayoutFrame commentStamp: '<historical>' prior: 0! + I define a frame for positioning some morph in a proportional layout. + + Instance variables: + leftFraction + topFraction + rightFraction + bottomFraction <Float> The fractional distance (between 0 and 1) to place the morph in its owner's bounds + leftOffset + topOffset + rightOffset + bottomOffset <Integer> Fixed pixel offset to apply after fractional positioning (e.g., "10 pixel right of the center of the owner")! Item was added: + ----- Method: LayoutFrame class>>classVersion (in category 'accessing') ----- + classVersion + ^1 "changed treatment of bottomOffset and rightOffset" + ! Item was added: + ----- Method: LayoutFrame class>>fractions: (in category 'instance creation') ----- + fractions: fractionsOrNil + ^self fractions: fractionsOrNil offsets: nil! Item was added: + ----- Method: LayoutFrame class>>fractions:offsets: (in category 'instance creation') ----- + fractions: fractionsOrNil offsets: offsetsOrNil + + | fractions offsets | + + fractions := fractionsOrNil ifNil: [0@0 extent: 0@0]. + offsets := offsetsOrNil ifNil: [0@0 extent: 0@0]. + ^self new + topFraction: fractions top offset: offsets top; + leftFraction: fractions left offset: offsets left; + bottomFraction: fractions bottom offset: offsets bottom; + rightFraction: fractions right offset: offsets right + ! Item was added: + ----- Method: LayoutFrame class>>offsets: (in category 'instance creation') ----- + offsets: offsetsOrNil + ^self fractions: nil offsets: offsetsOrNil! Item was added: + ----- Method: LayoutFrame>>bottomFraction (in category 'accessing') ----- + bottomFraction + ^bottomFraction! Item was added: + ----- Method: LayoutFrame>>bottomFraction: (in category 'accessing') ----- + bottomFraction: aNumber + bottomFraction := aNumber! Item was added: + ----- Method: LayoutFrame>>bottomFraction:offset: (in category 'accessing') ----- + bottomFraction: aNumber offset: anInteger + + bottomFraction := aNumber. + bottomOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>bottomOffset (in category 'accessing') ----- + bottomOffset + ^bottomOffset! Item was added: + ----- Method: LayoutFrame>>bottomOffset: (in category 'accessing') ----- + bottomOffset: anInteger + bottomOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>convertToCurrentVersion:refStream: (in category 'objects from disk') ----- + convertToCurrentVersion: varDict refStream: smartRefStrm + | className oldClassVersion | + + "JW 2/1/2001" + "Since class version isn't passed in varDict, look it up through smartRefSrm." + className := varDict at: #ClassName. + oldClassVersion := (smartRefStrm structures at: className) first. + (oldClassVersion = 0) ifTrue: [ self negateBottomRightOffsets ]. + ^super convertToCurrentVersion: varDict refStream: smartRefStrm. + ! Item was added: + ----- Method: LayoutFrame>>layout:in: (in category 'layout') ----- + layout: oldBounds in: newBounds + "Return the proportional rectangle insetting the given bounds" + | left right top bottom | + leftFraction ifNotNil:[ + left := newBounds left + (newBounds width * leftFraction). + leftOffset ifNotNil:[left := left + leftOffset]]. + rightFraction ifNotNil:[ + right := newBounds right - (newBounds width * (1.0 - rightFraction)). + rightOffset ifNotNil:[right := right + rightOffset]]. + topFraction ifNotNil:[ + top := newBounds top + (newBounds height * topFraction). + topOffset ifNotNil:[top := top + topOffset]]. + bottomFraction ifNotNil:[ + bottom := newBounds bottom - (newBounds height * (1.0 - bottomFraction)). + bottomOffset ifNotNil:[bottom := bottom + bottomOffset]]. + left ifNil:[ right + ifNil:[left := oldBounds left. right := oldBounds right] + ifNotNil:[left := right - oldBounds width]]. + right ifNil:[right := left + oldBounds width]. + top ifNil:[ bottom + ifNil:[top := oldBounds top. bottom := oldBounds bottom] + ifNotNil:[top := bottom - oldBounds height]]. + bottom ifNil:[bottom := top + oldBounds height]. + ^(left rounded @ top rounded) corner: (right rounded @ bottom rounded)! Item was added: + ----- Method: LayoutFrame>>leftFraction (in category 'accessing') ----- + leftFraction + ^leftFraction! Item was added: + ----- Method: LayoutFrame>>leftFraction: (in category 'accessing') ----- + leftFraction: aNumber + leftFraction := aNumber! Item was added: + ----- Method: LayoutFrame>>leftFraction:offset: (in category 'accessing') ----- + leftFraction: aNumber offset: anInteger + + leftFraction := aNumber. + leftOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>leftOffset (in category 'accessing') ----- + leftOffset + ^leftOffset! Item was added: + ----- Method: LayoutFrame>>leftOffset: (in category 'accessing') ----- + leftOffset: anInteger + leftOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>minExtentFrom: (in category 'layout') ----- + minExtentFrom: minExtent + "Return the minimal extent the given bounds can be represented in" + | width height left right top bottom | + left := leftFraction ifNil: [0.0]. + right := rightFraction ifNil: [1.0]. + width := left = right + ifTrue: [0] + ifFalse: [minExtent x / (right - left)]. + top := topFraction ifNil: [0.0]. + bottom := bottomFraction ifNil: [1.0]. + height := bottom = top + ifTrue: [0] + ifFalse: [minExtent y / (bottom - top)]. + leftOffset ifNotNil:[width := width + leftOffset]. + rightOffset ifNotNil:[width := width + rightOffset]. + topOffset ifNotNil:[height := height + topOffset]. + bottomOffset ifNotNil:[height := height + bottomOffset]. + ^width truncated @ height truncated! Item was added: + ----- Method: LayoutFrame>>negateBottomRightOffsets (in category 'objects from disk') ----- + negateBottomRightOffsets + + bottomOffset ifNotNil: [ bottomOffset := bottomOffset negated ]. + rightOffset ifNotNil: [ rightOffset := rightOffset negated ]. + + ! Item was added: + ----- Method: LayoutFrame>>rightFraction (in category 'accessing') ----- + rightFraction + ^rightFraction! Item was added: + ----- Method: LayoutFrame>>rightFraction: (in category 'accessing') ----- + rightFraction: aNumber + rightFraction := aNumber! Item was added: + ----- Method: LayoutFrame>>rightFraction:offset: (in category 'accessing') ----- + rightFraction: aNumber offset: anInteger + + rightFraction := aNumber. + rightOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>rightOffset (in category 'accessing') ----- + rightOffset + ^rightOffset! Item was added: + ----- Method: LayoutFrame>>rightOffset: (in category 'accessing') ----- + rightOffset: anInteger + rightOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>topFraction (in category 'accessing') ----- + topFraction + ^topFraction! Item was added: + ----- Method: LayoutFrame>>topFraction: (in category 'accessing') ----- + topFraction: aNumber + topFraction := aNumber! Item was added: + ----- Method: LayoutFrame>>topFraction:offset: (in category 'accessing') ----- + topFraction: aNumber offset: anInteger + + topFraction := aNumber. + topOffset := anInteger! Item was added: + ----- Method: LayoutFrame>>topOffset (in category 'accessing') ----- + topOffset + ^topOffset! Item was added: + ----- Method: LayoutFrame>>topOffset: (in category 'accessing') ----- + topOffset: anInteger + topOffset := anInteger! |
Hmm, I'm not sure whether there isn't some regression with MC
preambles and postscripts getting deleted..? On Sat, Jan 8, 2011 at 3:49 PM, <[hidden email]> wrote: > Chris Muller uploaded a new version of Graphics to project The Trunk: > http://source.squeak.org/trunk/Graphics-cmm.174.mcz > > ==================== Summary ==================== > > Name: Graphics-cmm.174 > Author: cmm > Time: 8 January 2011, 3:49:19.775 pm > UUID: f55656ad-b923-452a-81a5-426ad37dbd43 > Ancestors: Graphics-bp.173 > > Merged Graphics-bp.173 without dropping the postscript. > > =============== Diff against Graphics-mtf.172 =============== > > Item was added: > + Object subclass: #LayoutFrame > + instanceVariableNames: 'leftFraction leftOffset topFraction topOffset rightFraction rightOffset bottomFraction bottomOffset' > + classVariableNames: '' > + poolDictionaries: '' > + category: 'Graphics-Primitives'! > + > + !LayoutFrame commentStamp: '<historical>' prior: 0! > + I define a frame for positioning some morph in a proportional layout. > + > + Instance variables: > + leftFraction > + topFraction > + rightFraction > + bottomFraction <Float> The fractional distance (between 0 and 1) to place the morph in its owner's bounds > + leftOffset > + topOffset > + rightOffset > + bottomOffset <Integer> Fixed pixel offset to apply after fractional positioning (e.g., "10 pixel right of the center of the owner")! > > Item was added: > + ----- Method: LayoutFrame class>>classVersion (in category 'accessing') ----- > + classVersion > + ^1 "changed treatment of bottomOffset and rightOffset" > + ! > > Item was added: > + ----- Method: LayoutFrame class>>fractions: (in category 'instance creation') ----- > + fractions: fractionsOrNil > + ^self fractions: fractionsOrNil offsets: nil! > > Item was added: > + ----- Method: LayoutFrame class>>fractions:offsets: (in category 'instance creation') ----- > + fractions: fractionsOrNil offsets: offsetsOrNil > + > + | fractions offsets | > + > + fractions := fractionsOrNil ifNil: [0@0 extent: 0@0]. > + offsets := offsetsOrNil ifNil: [0@0 extent: 0@0]. > + ^self new > + topFraction: fractions top offset: offsets top; > + leftFraction: fractions left offset: offsets left; > + bottomFraction: fractions bottom offset: offsets bottom; > + rightFraction: fractions right offset: offsets right > + ! > > Item was added: > + ----- Method: LayoutFrame class>>offsets: (in category 'instance creation') ----- > + offsets: offsetsOrNil > + ^self fractions: nil offsets: offsetsOrNil! > > Item was added: > + ----- Method: LayoutFrame>>bottomFraction (in category 'accessing') ----- > + bottomFraction > + ^bottomFraction! > > Item was added: > + ----- Method: LayoutFrame>>bottomFraction: (in category 'accessing') ----- > + bottomFraction: aNumber > + bottomFraction := aNumber! > > Item was added: > + ----- Method: LayoutFrame>>bottomFraction:offset: (in category 'accessing') ----- > + bottomFraction: aNumber offset: anInteger > + > + bottomFraction := aNumber. > + bottomOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>bottomOffset (in category 'accessing') ----- > + bottomOffset > + ^bottomOffset! > > Item was added: > + ----- Method: LayoutFrame>>bottomOffset: (in category 'accessing') ----- > + bottomOffset: anInteger > + bottomOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>convertToCurrentVersion:refStream: (in category 'objects from disk') ----- > + convertToCurrentVersion: varDict refStream: smartRefStrm > + | className oldClassVersion | > + > + "JW 2/1/2001" > + "Since class version isn't passed in varDict, look it up through smartRefSrm." > + className := varDict at: #ClassName. > + oldClassVersion := (smartRefStrm structures at: className) first. > + (oldClassVersion = 0) ifTrue: [ self negateBottomRightOffsets ]. > + ^super convertToCurrentVersion: varDict refStream: smartRefStrm. > + ! > > Item was added: > + ----- Method: LayoutFrame>>layout:in: (in category 'layout') ----- > + layout: oldBounds in: newBounds > + "Return the proportional rectangle insetting the given bounds" > + | left right top bottom | > + leftFraction ifNotNil:[ > + left := newBounds left + (newBounds width * leftFraction). > + leftOffset ifNotNil:[left := left + leftOffset]]. > + rightFraction ifNotNil:[ > + right := newBounds right - (newBounds width * (1.0 - rightFraction)). > + rightOffset ifNotNil:[right := right + rightOffset]]. > + topFraction ifNotNil:[ > + top := newBounds top + (newBounds height * topFraction). > + topOffset ifNotNil:[top := top + topOffset]]. > + bottomFraction ifNotNil:[ > + bottom := newBounds bottom - (newBounds height * (1.0 - bottomFraction)). > + bottomOffset ifNotNil:[bottom := bottom + bottomOffset]]. > + left ifNil:[ right > + ifNil:[left := oldBounds left. right := oldBounds right] > + ifNotNil:[left := right - oldBounds width]]. > + right ifNil:[right := left + oldBounds width]. > + top ifNil:[ bottom > + ifNil:[top := oldBounds top. bottom := oldBounds bottom] > + ifNotNil:[top := bottom - oldBounds height]]. > + bottom ifNil:[bottom := top + oldBounds height]. > + ^(left rounded @ top rounded) corner: (right rounded @ bottom rounded)! > > Item was added: > + ----- Method: LayoutFrame>>leftFraction (in category 'accessing') ----- > + leftFraction > + ^leftFraction! > > Item was added: > + ----- Method: LayoutFrame>>leftFraction: (in category 'accessing') ----- > + leftFraction: aNumber > + leftFraction := aNumber! > > Item was added: > + ----- Method: LayoutFrame>>leftFraction:offset: (in category 'accessing') ----- > + leftFraction: aNumber offset: anInteger > + > + leftFraction := aNumber. > + leftOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>leftOffset (in category 'accessing') ----- > + leftOffset > + ^leftOffset! > > Item was added: > + ----- Method: LayoutFrame>>leftOffset: (in category 'accessing') ----- > + leftOffset: anInteger > + leftOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>minExtentFrom: (in category 'layout') ----- > + minExtentFrom: minExtent > + "Return the minimal extent the given bounds can be represented in" > + | width height left right top bottom | > + left := leftFraction ifNil: [0.0]. > + right := rightFraction ifNil: [1.0]. > + width := left = right > + ifTrue: [0] > + ifFalse: [minExtent x / (right - left)]. > + top := topFraction ifNil: [0.0]. > + bottom := bottomFraction ifNil: [1.0]. > + height := bottom = top > + ifTrue: [0] > + ifFalse: [minExtent y / (bottom - top)]. > + leftOffset ifNotNil:[width := width + leftOffset]. > + rightOffset ifNotNil:[width := width + rightOffset]. > + topOffset ifNotNil:[height := height + topOffset]. > + bottomOffset ifNotNil:[height := height + bottomOffset]. > + ^width truncated @ height truncated! > > Item was added: > + ----- Method: LayoutFrame>>negateBottomRightOffsets (in category 'objects from disk') ----- > + negateBottomRightOffsets > + > + bottomOffset ifNotNil: [ bottomOffset := bottomOffset negated ]. > + rightOffset ifNotNil: [ rightOffset := rightOffset negated ]. > + > + ! > > Item was added: > + ----- Method: LayoutFrame>>rightFraction (in category 'accessing') ----- > + rightFraction > + ^rightFraction! > > Item was added: > + ----- Method: LayoutFrame>>rightFraction: (in category 'accessing') ----- > + rightFraction: aNumber > + rightFraction := aNumber! > > Item was added: > + ----- Method: LayoutFrame>>rightFraction:offset: (in category 'accessing') ----- > + rightFraction: aNumber offset: anInteger > + > + rightFraction := aNumber. > + rightOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>rightOffset (in category 'accessing') ----- > + rightOffset > + ^rightOffset! > > Item was added: > + ----- Method: LayoutFrame>>rightOffset: (in category 'accessing') ----- > + rightOffset: anInteger > + rightOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>topFraction (in category 'accessing') ----- > + topFraction > + ^topFraction! > > Item was added: > + ----- Method: LayoutFrame>>topFraction: (in category 'accessing') ----- > + topFraction: aNumber > + topFraction := aNumber! > > Item was added: > + ----- Method: LayoutFrame>>topFraction:offset: (in category 'accessing') ----- > + topFraction: aNumber offset: anInteger > + > + topFraction := aNumber. > + topOffset := anInteger! > > Item was added: > + ----- Method: LayoutFrame>>topOffset (in category 'accessing') ----- > + topOffset > + ^topOffset! > > Item was added: > + ----- Method: LayoutFrame>>topOffset: (in category 'accessing') ----- > + topOffset: anInteger > + topOffset := anInteger! > > > |
On 08.01.2011, at 23:52, Chris Muller wrote:
> Hmm, I'm not sure whether there isn't some regression with MC > preambles and postscripts getting deleted..? What makes you think that? Graphics-bp.173 and Graphics-cmm.174 have the same postscript. Both have no preamble. Seems okay? - Bert - |
I did not allow the versioned package to have the postscript removed.
But I've been noticing in my WorkingCopy's... when clicking the "Changes" button on a dirty package in the MC browser, LATELY, that often only the preamble or postscript has been removed... Was just wondering whether anyone has been seeing that behavior. I also notice some of the MC tests are failing but I don't know yet if that's related. I'll study MC's model and see if I can find anything.. On Mon, Jan 10, 2011 at 5:13 AM, Bert Freudenberg <[hidden email]> wrote: > On 08.01.2011, at 23:52, Chris Muller wrote: > >> Hmm, I'm not sure whether there isn't some regression with MC >> preambles and postscripts getting deleted..? > > What makes you think that? Graphics-bp.173 and Graphics-cmm.174 have the same postscript. Both have no preamble. Seems okay? > > - Bert - > > > > |
On 10.01.2011, at 17:45, Chris Muller wrote:
> I did not allow the versioned package to have the postscript removed. > But I've been noticing in my WorkingCopy's... when clicking the > "Changes" button on a dirty package in the MC browser, LATELY, that > often only the preamble or postscript has been removed... That would happen if you unregister PackageInfo instances. They hold onto the scripts. PIs are re-created on demand but of course without the scripts. - Bert - |
In reply to this post by Chris Muller-3
On Mon, 10 Jan 2011, Chris Muller wrote:
> I did not allow the versioned package to have the postscript removed. > But I've been noticing in my WorkingCopy's... when clicking the > "Changes" button on a dirty package in the MC browser, LATELY, that > often only the preamble or postscript has been removed... Was just > wondering whether anyone has been seeing that behavior. > > I also notice some of the MC tests are failing but I don't know yet if > that's related. > > I'll study MC's model and see if I can find anything.. These only happen after evaluating [ReleaseBuilderTrunk prepareNewBuild] so something is wrong with the release code. Levente > > > > On Mon, Jan 10, 2011 at 5:13 AM, Bert Freudenberg <[hidden email]> wrote: >> On 08.01.2011, at 23:52, Chris Muller wrote: >> >>> Hmm, I'm not sure whether there isn't some regression with MC >>> preambles and postscripts getting deleted..? >> >> What makes you think that? Graphics-bp.173 and Graphics-cmm.174 have the same postscript. Both have no preamble. Seems okay? >> >> - Bert - >> >> >> >> > > |
Free forum by Nabble | Edit this page |