Hi guys,<div><br></div><div>I&#39;m currently out of time to help with this because I&#39;m preparing for an exam next week, but I wanted to say this looks absolutely *awesome*.</div><div><br></div><div>I was thinking of adding to the number lines a couple of tiles called &quot;transform to graph&quot; and &quot;transform to pixel&quot; (or something similar). These tiles would take a number as a parameter and would return its value transformed from one coordinate system to the other. So I think they could be used as a general mechanism for building graphs (for instance, we could transform the length of a rectangle to build a bar graph). What do you think?</div>


<div><br></div><div>Cheers,</div><div>Richo</div><div><br></div><div><br><div class="gmail_quote">On Mon, Mar 5, 2012 at 6:56 PM, Steve Thomas <span dir="ltr">&lt;<a href="mailto:sthomas1@gosargon.com" target="_blank">sthomas1@gosargon.com</a>&gt;</span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Scott,<div><br></div><div>Some issues with latest build:</div><div><ol><li>Take x-y plane from Object Catalog, Open Viewer for &quot;vertical number line&quot;, change number lines &lt;min val&gt; to -10, then increase by 1 to -9.  (number line shifts left).</li>




<li>If Number Lines &lt;min val&gt; is greater than zero, its not really a &quot;show negative arrow head&quot; tile. Not sure of good name.</li><li>If I set &lt;VerticalNumberLine&#39;s&gt;:&lt;yOnGraph&gt; to 0, it changes to 8 and moves down. This behavior repeats. It seems to be 8 when min value &lt;=-10 and 4 when &gt;-10.</li>




<li>Perhaps related to the above items: I would expect the &lt;xOnGraph&gt; and &lt;yOnGraph&gt; to be 0, but they are not.  Perhaps because of how you adjust for the labels and the max # of digits in the label.  Perhaps have the &quot;0&quot; point on the number line be 0@0 onGraph.  I was also struck that the playfield does not use origin at center, but there is much I do not understand.</li>




<li>When I turn &quot;use gridding&quot; from the playfield options, I need to reset the the &quot;grid spacing&quot; to match that set via the GraphPaperPanel.</li><li>Should we have Etoys tiles for the grid size, coarse grid boolean and course grid value?  I know I can get them by opening the viewer for the sliders and firing the EtoysUpdatingThreePhaseButton, but most folks won&#39;t figure that out. </li>




<li>When I delete the x-y plane with the GraphPaperPanel open the panel does not dissapear.</li><li>Baloon help for Vertical number &lt;show negative arrow head&lt; line states: &quot;Whether to show an arrow-head at the extreme left edge of the axis&quot;.  Perhaps &quot;lower end&quot; instead.</li>




<li>It would be nice to have tiles for the offset and the numbers visible, without having to hover.</li></ol><div>Last note: I am in Argentina two weeks and other than a chance to visit Ricardo, I generally don&#39;t like travelling especially for so long.  I often say, and my boss likes to remind me, the reward for work well done is the opportunity to do more.  So I often struggle with how good of a job to do (well not really, I always try to do my best).</div>




<div><br></div><div>So Scott, hopefully you are not feeling the same way with all my comments, your efforts are greatly appreciated.</div><div><br></div><div>Thanks,</div><div>Stephen</div><br><div class="gmail_quote"><div>



On Mon, Mar 5, 2012 at 4:14 PM, Scott Wallace <span dir="ltr">&lt;<a href="mailto:scott.wallace@squeakland.org" target="_blank">scott.wallace@squeakland.org</a>&gt;</span> wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Now that Karl has made the graph-paper &quot;offset&quot; better-behaved, I&#39;ve backed out of the code that had blocked the offset control when coarse-grid was in effect; that&#39;s the only difference between the attached version of &quot;graphingFixes-sw&quot; and the one sent out yesterday.<br>





<br>
<br><br>
<br>
<br></div><div>
On Mar 4, 2012, at 2:08 PM, Steve Thomas wrote:<br>
<br></div><div>
&gt; So IF I understand Offset correctly it is the offset of the grid from the origin, yes?<br>
&gt; The interface is very &quot;Bret Victorish&quot; (without the visible sliders).  But it would be nice to be able to enter the #&#39;s as getting to 0@0, can be a pain.<br>
<br></div><div>
Yes, a digital readout (or two) for the offset would be good…  The &quot;offset&quot; interface right now simply uses the long-standing property-sheet UI for setting point-valued variables, such as the &quot;origin&quot; and &quot;direction&quot; of a gradient fill.   [Meanwhile, a useful hint is:  to get the offset set to 0@0, position the mouse cursor at the top-left corner of the &quot;offset&quot; box.]<br>





<br>
<br>
&gt; Also why is Offset off, when coarse grid is on?<br>
<br>
In yesterday&#39;s version, I disabled the Offset when coarse-grid was in effect because I had been unable to get it to work satisfactorily.  In the attached fileout, I&#39;ve re-enabled it, given Karl&#39;s fix.<br>
<br>
<br></div><div>
&gt; Also,  let me know how to get this fix so I can test.<br>
&gt; A .cs or update code from server when ready is best.<br>
<br></div><div>
Update-from-server (including loading latest updates from the &quot;default repository&quot;) will bring in Karl&#39;s offset fix.  Then file in the attached (unless/until it also comes in via the update stream.)<br>
<br>
  -- Scott<br>
<br>
<br></div><div><div>
&gt; On Sun, Mar 4, 2012 at 6:54 PM, karl ramberg &lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt; wrote:<br>
&gt; I fixed a issue with the coarse grid not behaving with offset. I had to find the proper starting point in the count variable and things worked fine.<br>
&gt;<br>
&gt; Karl<br>
&gt;<br>
&gt;<br>
&gt; twoTierGridFormOrigin: origin grid: smallGrid  background: backColor line: lineColor darkerGridEvery: darkerGridEvery darkerGridColor: darkerGridColor<br>
&gt;       &quot;Answer an infinite form that repeats a pattern involving grid lines with darker ones at regular intervals, such as &#39;engineering paper&#39;.&quot;<br>
&gt;<br>
&gt;       | smallGridAsPoint gridForm gridOrigin fullGrid aColor darkGridOrigin countX countY |<br>
&gt;       smallGridAsPoint := smallGrid rounded asPoint.<br>
&gt;       fullGrid := smallGridAsPoint * darkerGridEvery.<br>
&gt;       gridForm := Form extent: fullGrid depth: Display depth.<br>
&gt;       gridOrigin := origin \\ smallGridAsPoint.<br>
&gt;       darkGridOrigin := origin \\ fullGrid.<br>
&gt;       backColor ifNotNil: [gridForm fillWithColor: backColor].<br>
&gt;       darkGridOrigin ifNotNil:[countX:=  darkGridOrigin x. countY:=  darkGridOrigin y]<br>
&gt;       ifNil:[countX:= countY := -1].<br>
&gt;<br>
&gt;       gridOrigin x to: gridForm width by: smallGridAsPoint x do:<br>
&gt;               [:x |<br>
&gt;                       aColor := (countX \\ darkerGridEvery) = 0 ifTrue: [darkerGridColor] ifFalse: [lineColor].<br>
&gt;                       gridForm fill: (x@0 extent: 1@gridForm height) fillColor: aColor.<br>
&gt;                       countX:= countX+ 1.].<br>
&gt;       gridOrigin y to: gridForm height by: smallGridAsPoint y do:<br>
&gt;               [:y |<br>
&gt;                       aColor := (countY\\ darkerGridEvery) = 0 ifTrue: [darkerGridColor] ifFalse: [lineColor].<br>
&gt;                       gridForm fill: (0@y extent: gridForm width@1) fillColor: aColor.<br>
&gt;                       countY:= countY+ 1.].<br>
&gt;       ^ InfiniteForm with: gridForm<br>
&gt;<br>
&gt; &quot;<br>
&gt;       | aPlayfield |<br>
&gt;       aPlayfield := PasteUpMorph authoringPrototype extent: 640 @ 480.<br>
&gt;       aPlayfield color: (GraphPaperParameters twoTierGridFormOrigin: (0@0) grid: 16 background: Color green muchLighter line: Color blue muchLighter darkerGridEvery: 10 darkerGridColor: Color blue muchDarker).<br>
&gt;       aPlayfield openInHand<br>
&gt; &quot;<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Mar 4, 2012 at 10:20 PM, Scott Wallace &lt;<a href="mailto:scott.wallace@squeakland.org" target="_blank">scott.wallace@squeakland.org</a>&gt; wrote:<br>
&gt; On Mar 3, 2012, at 5:54 AM, karl ramberg wrote:<br>
&gt;<br>
&gt; &gt; ...Yes, all the stuff will be included. I fixed a couple of issues with graph paper and will add the rest over the weekend.<br>
&gt;<br>
&gt; Thank you, Karl!<br>
&gt;<br>
&gt; Attached now is a fileout that responds to all the issues and recommendations relating to the graphing tools that have appeared in the past few days, and cleans up a few loose ends.  Its preamble:<br>
&gt;<br>
&gt; Change Set:             graphingFixes-sw<br>
&gt; Date:                   4 March 2012<br>
&gt; Author:                 Scott Wallace<br>
&gt;<br>
&gt; Addresses various bug-reports and recommendations relating to recent number-line and graph-paper updates:<br>
&gt; - Enforce reasonable ranges for the sliders governing the grid parameters, taking the grid-size, coarse-grid-size , and playfield dimensions into account.<br>
&gt; - Provide a button to request &#39;graph paper&#39; from the &#39;generic property sheet&#39; when appropriate.<br>
&gt; - Retain position of number line when its pixelsPerUnit changes.<br>
&gt; - Disable the &#39;offset&#39; when coarse-grid in effect.<br>
&gt; - Protect sliders against zero-divide that can happen if minVal = maxVal.<br>
&gt; - Protect InfiniteForms against incidental calls to #darker and #twiceDarker that can be sent to any object&#39;s fillStyle by some of the custom border code.<br>
&gt; - Removes about a dozen superfluous methods that had mistakenly lingered in the earlier updates, and removes three inst vars of NumberLineMorph that were remnants from earlier code….<br>
&gt;<br>
&gt; -----------<br>
&gt;<br>
&gt; Sorry this was just a little too late to make it into update 2398, but hopefully these cleanups can get pushed out soon; it wouldn&#39;t be good for users to start using the graphing tools before these fixes are in.<br>





&gt;<br>
&gt; Thanks again!<br>
&gt;<br>
&gt;  -- Scott<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; etoys-dev mailing list<br>
&gt; <a href="mailto:etoys-dev@squeakland.org" target="_blank">etoys-dev@squeakland.org</a><br>
&gt; <a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
&gt;<br>
&gt;<br>
<br>
<br>_______________________________________________<br>
etoys-dev mailing list<br>
<a href="mailto:etoys-dev@squeakland.org" target="_blank">etoys-dev@squeakland.org</a><br>
<a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
<br></div></div></blockquote></div><br></div>
<br>_______________________________________________<br>
etoys-dev mailing list<br>
<a href="mailto:etoys-dev@squeakland.org" target="_blank">etoys-dev@squeakland.org</a><br>
<a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
<br></blockquote></div><br></div>