[squeak-dev] The Trunk: Morphic-kfr.1435.mcz

H. Hirzel hannes.hirzel at gmail.com
Wed May 23 04:50:34 UTC 2018


Yes, TextMorphPlus and GeeMail and maybe just TextMorph as well have issues.

The following is a test to demonstrate a result which has been
achieved so far ---

No TextMorphPlus and GeeMail,

just RectangleMorphs and SimpleButtonMorphs arranged with a TableLayout.



Steps in Squeak 3.2
-----------------------------
1) Open Squeak 3.2-4956
2) Create a project
3) Open a workspace and paste the code below [1]
4) Save the project locally - a *.pr file is generated.


Steps in Squeak 6.0a
-------------------------------
5) Open Squeak 6.0a trunk #18000
6) WorldMenu -> appearance ... -> set display depth ... .> 16bit
7) Drop pr file from point 4 onto the desktop


Result
---------
8) The project loads successfully (screen shot attached)

Comment 1: There are issues with refreshing the screen (at leas on
Linux / Ubuntu). It was necessary to click the middle button in the
upper right corner of the OS window.

Comment 2: First I had a workspace open in Squeak 3.2 with the script
[1] which creates the slide. The workspace was saved with the project
file. However the workspace made the project NOT to load properly in
Squeak 6.0a --> see upcoming mail.




-------------------------------------------------------------------------------------------------------------------------
[1] Code to be executed in Squeak 3.2 to create a slide with a demo for the
TableLayout
-------------------------------------------------------------------------------------------------------------------------


"Parameters"
|
slideExtent
fontName
titleFontPointSize
slideColor1

createSlideBlk
slide
container
btn1
btn2
btnPanel
|


"------------------------------------------------------------------------"
slideExtent := 640 @ 480.
slideColor1 := Color white.
"fontName := 'BitstreamVeraSans'."
"titleFontPointSize := 24."

xLeft := 20.
xRight := 360.
yContent := 100.
"------------------------------------------------------------------------"


"createSlideBlock

a block is like a function definition assigned to an instance variable.

The block created here takes two parameters

    aColor
    sTitleString

To activate the block send the message #value:value to it. For example

     createSlideBlk value: Color yellow value: 'Presentations made easy'.

This will actually execute the code and thus build a slide morph which
is a RectangleMorph
with a property #isSlide set to true.

The result of the block is the  object returned by the last statement.
In this case 'slide'.
"		

	createSlideBlk := [:aColor :aTitleString |
			|  titleTextMorph |

			slide := RectangleMorph new.
			slide extent: slideExtent.
			slide color: aColor.
			slide position: 0 @ 10.
			slide borderWidth: 0.
			slide setProperty: #isSlide toValue: true.	
						
			titleTextMorph := TextMorph new.
			titleTextMorph contentsWrapped: aTitleString.

               "NO setting of font size in this test"
			"titleTextMorph fontName: fontName pointSize: titleFontPointSize."

			titleTextMorph extent: slideExtent x @ 50.
			titleTextMorph position: 20 @ 20.
			
			slide addMorph: titleTextMorph.
			slide position: 0 at 20.			
			].
		
	
"Receipe for a single page

copy code from   step04createSlideBlock

then do

(createSlideBlk value: slideColor1 value: 'TableLayout listCentering 2')"

	slide := createSlideBlk value: slideColor1 value: 'TableLayout
listCentering 2'.


	container := RectangleMorph new.
	container layoutPolicy: TableLayout new.
	container listDirection: #bottomToTop.
	container hResizing: #rigid.
	container height: 300.
	container hResizing: #shrinkWrap.
	container layoutInset: 10.
	container cellInset: 2.
	container listCentering: #justified.
	
	container addMorph: (RectangleMorph new color: Color red).
	container addMorph: (RectangleMorph new color: Color yellow; width: 80).
      container addMorph: (RectangleMorph new color: Color green).

	btn1 := SimpleButtonMorph new.
	btn1 hResizing: #spaceFill.
	btn1 target: container.
	btn1 label: 'listCentering: #center'.
	btn1 actionSelector: #listCentering:.
	btn1
		arguments: (Array with: #center).


	btn2 := SimpleButtonMorph new.
	btn2 hResizing: #spaceFill.
	btn2 target: container.
	btn2 label: 'listCentering: #justified'.
	btn2 actionSelector: #listCentering:.
	btn2
		arguments: (Array with: #justified).


	btnPanel := RectangleMorph new.
	btnPanel height: 300.
	btnPanel color: slideColor1.
	btnPanel layoutPolicy: TableLayout new.
	btnPanel listDirection: #topToBottom.
	btnPanel width: 220.
	btnPanel height: 250.
	btnPanel borderWidth: 0.
	btnPanel listCentering: #justified.
	btnPanel layoutInset: 0.
	btnPanel cellInset: 0.
		
	btnPanel addMorphBack: btn1.
	btnPanel addMorphBack: btn2.

	container position: xLeft @ yContent.
	slide addMorph: container.
	
	btnPanel position: xRight @ yContent.
	slide addMorph: btnPanel.
	slide openInWorld



On 5/22/18, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
> Ah, okay. Might be related to TextMorphPlus and GeeMail, which seemed to be
> the reason for this #releaseParagraphReally indirection. Hmmm....
>
> Best,
> Marcel
> Am 22.05.2018 09:35:08 schrieb karl ramberg <karlramberg at gmail.com>:
> Hi,
> I did that in the previous version of this method, but found that old
> paragraph was not released.
> And the 10 year old paragraph was not worth saving :-)
>
> Best,
> Karl
>
> On Tue, 22 May 2018 at 08:21, Marcel Taeumel <marcel.taeumel at hpi.de
> [mailto:marcel.taeumel at hpi.de]> wrote:
>
> Hi Karl,
>
> a call to #releaseParagraph instead of #releaseParagraphReally might be more
> robust here. Or did you run into other issues there?
>
> Best,
> Marcel
> Am 21.05.2018 11:48:46 schrieb karl ramberg <karlramberg at gmail.com
> [mailto:karlramberg at gmail.com]>:
> Hi,
> I'm sorry I forgot to mention the context here
>
> Best.
> Karl
>
>
> On Mon, May 21, 2018 at 6:18 AM, H. Hirzel <hannes.hirzel at gmail.com
> [mailto:hannes.hirzel at gmail.com]> wrote:
>
> Thank you, Karl,  for this important update on the road to make
> projects from early Squeak versions load successfully!
>
>
> A suggestion for the comment:
>
> If it is
>
>   'Really release the chached state of TextMorph objects'
>
> then the log on the Transcript when doing the in-image update is more
> instructive.
>
>
>
> Currently:
>
> TRANSCRIPT
>
> Flush old cache on loading
>
> ========== ReleaseBuilder-mt.181 ==========
>
> Adds the new prefs #haloForAll and #metaMenuForAll to the release builder.
>
> ========== HelpSystem-Core-mt.103 ==========
>
> Fixes an endless-loop bug to could occur when fetching swiki subtopics.
>
> ==========  Update completed:  17970 -> 17995 ==========
>
> ----SNAPSHOT----{18 May 2018 . 11:33:19 pm}
> Squeak6.0alpha-17967-32bit.image priorSource: 23618708
> ----QUIT----{18 May 2018 . 11:40:29 pm}
> Squeak6.0alpha-17967-32bit.image priorSource: 23695810
> ========== Morphic-kfr.1435 ==========
>
> Really release the cached state
>
> ========== WebClient-Core-ul.115 ==========
>
> Decrease the priority of connection handler processes from 60 to 30,
> to avoid potential image lockups.
>
> ==========  Update completed:  17995 -> 17997 ==========
>
>
> On Sun, 20 May 2018 10:47:31 0000, commits at source.squeak.org
> [mailto:commits at source.squeak.org]
> <commits at source.squeak.org [mailto:commits at source.squeak.org]> wrote:
>> Karl Ramberg uploaded a new version of Morphic to project The Trunk:
>> http://source.squeak.org/trunk/Morphic-kfr.1435.mcz
>> [http://source.squeak.org/trunk/Morphic-kfr.1435.mcz]
>>
>> ==================== Summary ====================
>>
>> Name: Morphic-kfr.1435
>> Author: kfr
>> Time: 20 May 2018, 12:47:10.545467 pm
>> UUID: 6e156072-40fa-d344-815f-76673cd22724
>> Ancestors: Morphic-mt.1434
>>
>> Really release the cached state
>>
>> =============== Diff against Morphic-mt.1434 ===============
>>
>> Item was changed:
>>   ----- Method: TextMorph>>convertToCurrentVersion:refStream: (in
>> category
>> 'objects from disk') -----
>>   convertToCurrentVersion: varDict refStream: smartRefStrm
>>
>>       self borderWidth ifNil: [
>>               self borderWidth: 0.
>>               self removeProperty: #fillStyle].
>> +     self releaseParagraphReally.
>> -     self releaseEditor.
>> -     self releaseParagraph.
>> -
>>       ^ super convertToCurrentVersion: varDict refStream: smartRefStrm.
>>
>>   !
>>
>>
>>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TestResult_Project_TableLayout_listCentering_2_loaded_from_Squeak3.2_2018-05-23.png
Type: image/png
Size: 72703 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180523/b9e81cd2/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TableLayoutCentering2a.001.pr
Type: application/x-squeak-project
Size: 8249 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180523/b9e81cd2/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TableLayoutCentering2a.gif
Type: image/gif
Size: 1850 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180523/b9e81cd2/attachment-0001.gif>


More information about the Squeak-dev mailing list