The Trunk: Graphics-cmm.174.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Graphics-cmm.174.mcz

commits-2
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!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Graphics-cmm.174.mcz

Chris Muller-3
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!
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Graphics-cmm.174.mcz

Bert Freudenberg
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 -



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Graphics-cmm.174.mcz

Chris Muller-3
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 -
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Graphics-cmm.174.mcz

Bert Freudenberg
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 -



Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Graphics-cmm.174.mcz

Levente Uzonyi-2
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 -
>>
>>
>>
>>
>
>