Morph Window -> Class? (was: [Newbies] error loading .pr

Andrew Dabrowski dabrowsa at indiana.edu
Sun Apr 1 23:15:11 UTC 2007


Thanks again, Edgar.

But doesn't the constructorString output omit the scripts associated 
with the buttons and textMorphs?

Would I be correct in thinking that real Squeak developers must not use 
the interactive gui-building tools in Squeak because those tools don't 
produce results that can be easily packaged?


> 
> 
> 
> El 4/1/07 3:16 PM, "Andrew Dabrowski" <dabrowsa at indiana.edu> escribió:
> 
>> Thanks for your reply to my last message.  Now I have a follow-up
>> question.
>>
>> If I want to save my project as a .cs file, then I will have to convert
>> my gui window (just a systemWindow with some buttons and textMorphs)
>> into a proper class that shows up in the browser, correct?  That is, my
>> window was not coded, but put together interactively by dragging
>> supplies out and using the viewer to attach scripts.  Is there a way to
>> convert the final product into a code format that can be exported in the
>> .cs file?
>>
>> In VisualWorks (which I am also looking at but have not worked with at
>> all) there seems to be a way to do this: the InstallOnClass utility.  Is
>> there something comparable in Squeak?
> 
> Exist a kind of Morph to code, what sometimes lets you export code only.
> 
> Drag and drop the attached morph into your Squeak.
> 
> Open a Transcript whit World menu or via flaps.
> 
> Via halo, open a Inspector of the morph.
> In lower pane type :
> Transcript show: self constructorString  "for seeing what is the code of the
> morph."
> 
> You should give:
> (((AlignmentMorph newBounds: (0 at 822 corner: 597 at 848) color: Color
> transparent) setBorderWidth: 1 borderColor: Color black)
>     addAllMorphs: ((Array new: 7)
>     at: 1 put: (((SimpleButtonMorph newBounds: (2 at 824 corner: 76 at 846) color:
> Color green) setBorderWidth: 1 borderColor: (Color r: 0.36 g: 0.719 b:
> 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (6 at 828 corner: 73 at 843) color: Color
> black) contents: 'workspace')));
>     at: 2 put: (((SimpleButtonMorph newBounds: (76 at 824 corner: 146 at 846)
> color: Color yellow) setBorderWidth: 1 borderColor: (Color r: 0.36 g: 0.719
> b: 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (80 at 828 corner: 143 at 843) color: Color
> black) contents: 'transcript')));
>     at: 3 put: (((SimpleButtonMorph newBounds: (146 at 824 corner: 205 at 846)
> color: Color orange) setBorderWidth: 1 borderColor: (Color r: 0.36 g: 0.719
> b: 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (149 at 828 corner: 201 at 843) color:
> Color black) contents: 'browser')));
>     at: 4 put: (((SimpleButtonMorph newBounds: (205 at 824 corner: 332 at 846)
> color: Color red) setBorderWidth: 1 borderColor: (Color r: 0.36 g: 0.719 b:
> 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (208 at 828 corner: 328 at 843) color:
> Color black) contents: 'dual change sorter')));
>     at: 5 put: (((SimpleButtonMorph newBounds: (332 at 824 corner: 385 at 846)
> color: (Color r: 0.645 g: 0.0 b: 0.968)) setBorderWidth: 1 borderColor:
> (Color r: 0.36 g: 0.719 b: 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (335 at 828 corner: 381 at 843) color:
> Color black) contents: 'file list')));
>     at: 6 put: (((SimpleButtonMorph newBounds: (385 at 824 corner: 490 at 846)
> color: (Color r: 0.323 g: 1.0 b: 0.613)) setBorderWidth: 1 borderColor:
> (Color r: 0.36 g: 0.719 b: 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (388 at 828 corner: 486 at 843) color:
> Color black) contents: 'message names')));
>     at: 7 put: (((SimpleButtonMorph newBounds: (490 at 824 corner: 595 at 846)
> color: (Color r: 0.323 g: 1.0 b: 0.613)) setBorderWidth: 1 borderColor:
> (Color r: 0.36 g: 0.719 b: 0.541))
>         addAllMorphs: (Array
>         with: ((StringMorph newBounds: (493 at 828 corner: 591 at 843) color:
> Color black) contents: 'archive viewer')));
>     yourself))
> 
> Before you ask, the transcript button need be "reinitialized" when go to new
> image.
> For doing that, via halo select the button (you need two clicks, one for the
> AlignmentMorph  and the second for the button, this way you could see Morphs
> inside Morphs and act via Inspector)
> In the code pane of Inspector type select target as you see in pict.
> Type again Transcript and do alt s or command s (for aceppting the change).
> Presto, now you have the button working .
> 
> I hope you know now what could export only a morph and not a complete .pr
> ....
> 
> Next question ? :=)
> 
> Cheers
> 
> Edgar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dabrowsa.vcf
Type: text/x-vcard
Size: 153 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/beginners/attachments/20070401/94fe77b6/dabrowsa.vcf


More information about the Beginners mailing list