<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18882">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Honestly is was five minutes for me 
;-).</FONT></DIV>
<DIV><FONT size=2 face=Arial>I can make the end-result image/changes available 
if required.</FONT></DIV>
<DIV><BR>Regards, Gary<BR></DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=gazzaguru2@btinternet.com 
  href="mailto:gazzaguru2@btinternet.com">Gary Chambers</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=squeak-dev@lists.squeakfoundation.org 
  href="mailto:squeak-dev@lists.squeakfoundation.org">The general-purpose Squeak 
  developers list</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, March 13, 2010 6:10 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [squeak-dev] Re: Regarding 
  Polymorph</DIV>
  <DIV><BR></DIV>
  <DIV><FONT size=2 face=Arial>OK. There are problems with MC with the way 
  Traits are handled between... that's the worst part. in a bit.</FONT></DIV>
  <DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>It seems the Traits handling in Monticello 
  differs between the old (MC 1.0) and new...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Start from latest trunk image.</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>First off, due to an uninitialized variable, it 
  seems...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>In FormCanvas</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>setFillColor: aColor<BR>&nbsp;"Install a new 
  color used for filling."<BR>&nbsp;| screen patternWord fillColor 
  |<BR>&nbsp;fillColor := self shadowColor ifNil:[aColor].<BR>&nbsp;fillColor 
  ifNil:[fillColor := Color transparent].<BR>&nbsp;fillColor isColor 
  ifFalse:[<BR>&nbsp;&nbsp;(fillColor isKindOf: InfiniteForm) ifFalse:[^port 
  fillPattern: Color red; combinationRule: Form over].<BR>&nbsp;&nbsp;^port 
  fillPattern: fillColor; combinationRule: Form over].<BR>&nbsp;"Okay, so 
  fillColor really *is* a color"<BR>&nbsp;port sourceForm: 
  nil.<BR>&nbsp;fillColor isTranslucent ifFalse:[<BR>&nbsp;&nbsp;port 
  combinationRule: Form over.<BR>&nbsp;&nbsp;port fillPattern: 
  fillColor.<BR>&nbsp;&nbsp;self depth = 8 ifTrue:[<BR>&nbsp;&nbsp;&nbsp;"In 8 
  bit depth it's usually a good idea to use a stipple 
  pattern"<BR>&nbsp;&nbsp;&nbsp;port fillColor: (form balancedPatternFor: 
  fillColor)].<BR>&nbsp;&nbsp;^self].<BR>&nbsp;"fillColor is some translucent 
  color"</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;self depth &gt; 8 
  ifTrue:[<BR>&nbsp;&nbsp;"BitBlt setup for alpha masked 
  transfer"<BR>&nbsp;&nbsp;port fillPattern: fillColor.<BR>&nbsp;&nbsp;self 
  depth = 16<BR>&nbsp;&nbsp;&nbsp;ifTrue:[port alphaBits: fillColor 
  privateAlpha; combinationRule: 30]<BR>&nbsp;&nbsp;&nbsp;ifFalse:[port 
  combinationRule: Form blend].<BR>&nbsp;&nbsp;^self].<BR>&nbsp;"Can't represent 
  actual transparency -- use stipple pattern"<BR>&nbsp;screen := Color 
  translucentMaskFor: fillColor alpha depth: self depth.<BR>&nbsp;patternWord := 
  form pixelWordFor: fillColor.<BR>&nbsp;port fillPattern: (screen collect: 
  [:maskWord | maskWord bitAnd: patternWord]).<BR>&nbsp;port combinationRule: 
  Form paint.<BR></FONT></DIV>
  <DIV><FONT size=2 face=Arial>That will avoid an issue with the use of Forms 
  for the window corner grips as in trunk...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Load Polymorph-Squeak-Widgets-gvc.3 from 
  UIEnhancements on SqueakSource.</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>You should be able to pick from the Universe 
  browser, in the User Interface category...</FONT></DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Polymorph ToolBuilder version 
  1.4</FONT></DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Polymorph Widgets version 
  1.5</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Now, from the Universes browser, in the User 
  Inteface category, select the package for Polymorph ToolBuilder version 14. 
  (Polymorph Widgets version will be auto selected for install as a 
  consequence).</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>You'll get some debuggers due to MC trait 
  handling...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Each one, you will need to modifiy the instance 
  variables on the MCClassDefinition for traitComposition and 
  classTraitComposition to not be strings... (replace the single quotes with 
  appropriate left and righ curly braces to turn into an array with the real 
  trait)...</FONT></DIV>
  <DIV><FONT size=2 face=Arial>Restart the "createClass" method and proceed... 
  repeat. I sometimes with I'd not used traits at all at this 
  point...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Where you have the one with TEasilyThemed - 
  {theme} replace with {TEasilyThemed}.</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Once loaded (hopefullly) it will complain again 
  for obselections... reverse the above procedure, replacing the curly brackets 
  with single quotes again (don't ask why...).</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>OK, should be saveable now...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>To fix up the corner grips you can remove 
  #drawOn: methods from subclasses of CornerGripMorph then revert the change 
  made to FormCanvas&gt;&gt;setFillColor:</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>A couple of precautions before the next 
  step...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Add the following method to 
  PluggableButtonMorph...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>gradientLook<BR>&nbsp;"Defer to 
  preferences."</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;^Preferences 
gradientButtonLook</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>and to PasteUpMorph</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>defaultYellowButtonMenuEnabled<BR>&nbsp;"Defer to 
  preferences."</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;^Preferences generalizedYellowButtonMenu 
  </FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Those will be fixed in the Squeak adaptations 
  soon...(backstops for Preferences/settings difference with 
Pharo).</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>To go to latest version of Polymorph from 
  SqueakSource...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Load </FONT><FONT size=2 
  face=Arial>Polymorph-Squeak-Widgets-gvc.3.</FONT></DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Merge 
  Polymorph-Widgets-gvc.110.</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>The (sadly dysfunctional) MC merge browser won't 
  let you do anything.</FONT></DIV>
  <DIV><FONT size=2 face=Arial>Halo, inspect model...</FONT></DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Find the one conflict after a 
  few inspects... change/save the inst var chooseRemote to false</FONT></DIV>
  <DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; in the inspector, bottom pane, 
  do "self merge"...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Should be in a useable state from here, though a 
  potential hang with using the main docking bar...</FONT></DIV>
  <DIV><FONT size=2 face=Arial>Everything else is down to fonts and trunk 
  changes...</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Good luck, eamil directly if there's any problems 
  (expected as done from recent memory here...)</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV><FONT size=2 face=Arial>Aside,... this is just for reference, just for 
  Polymorph as it is, as such. I'd hope that Squeak gets into a better state 
  where none of this is needed for future other UI stuff.</FONT></DIV>
  <DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
  <DIV>Regards, Gary<BR></DIV>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
    <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
    <DIV 
    style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
    <A title=smalltalktelevision@gmail.com 
    href="mailto:smalltalktelevision@gmail.com">Chris Cunnington</A> </DIV>
    <DIV style="FONT: 10pt arial"><B>To:</B> <A 
    title=squeak-dev@lists.squeakfoundation.org 
    href="mailto:squeak-dev@lists.squeakfoundation.org">squeak-dev@lists.squeakfoundation.org</A> 
    </DIV>
    <DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, March 13, 2010 5:20 
    PM</DIV>
    <DIV style="FONT: 10pt arial"><B>Subject:</B> [squeak-dev] Re: Regarding 
    Polymorph</DIV>
    <DIV><BR></DIV><SPAN 
    style="FONT-FAMILY: Arial, Helvetica, sans-serif; FONT-SIZE: medium; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" 
    class=Apple-style-span><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px">Gary Chambers said: </PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px">"For what it is worth...</PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px">I have been able to load Polymorph into trunk, not the easiest (mainly due 
to MC differences wrt Traits), takes
around 5 minutes of manual fixing while loading...

Once "in", clearly shows up the areas that have changed in trunk though...

(process instructions available if desired...)"</PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px"><BR></PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px">I'd like to see that. If you're offering instructions to load into the Trunk, I'd like them, please. And if you might provide an example for when it's loaded, something like Ellipse new openInWorld, or some kind of first Polymorph widget to look at. That would be great. </PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px">Chris </PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px"><BR></PRE><PRE style="FONT-FAMILY: monospace; MARGIN-LEFT: 3em; FONT-SIZE: 12px"><BR></PRE></SPAN>
    <P>
    <HR>

    <P></P><BR></BLOCKQUOTE>
  <P>
  <HR>

  <P></P><BR></BLOCKQUOTE></BODY></HTML>