<div dir="ltr">It seems though that the TransferMorphs are not very usable the way they are created when dragged out of inspectors. They are direct links to objects not to the instance variables. So they don&#39;t update if the instance variable change...<div><br></div><div>Best,</div><div>Karl</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 6:38 PM, karl ramberg <span dir="ltr">&lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Better:</div><span class=""><div>Workspace&gt;&gt;acceptDroppingMorph: dropee event: evt inMorph: targetMorph </div><div><span style="white-space:pre-wrap">        </span>&quot;Return the dropee to its old position, and add a reference to it at the</div><div><span style="white-space:pre-wrap">        </span>cursor point.&quot;</div></span><div><span style="white-space:pre-wrap">        </span>| bindingName externalName reference |</div><div><span style="white-space:pre-wrap">        </span>(dropee isKindOf: TransferMorph)</div><div><span style="white-space:pre-wrap">                </span>ifTrue: [reference := dropee passenger.</div><div><span style="white-space:pre-wrap">                        </span>externalName := dropee passenger className]</div><div><span style="white-space:pre-wrap">                </span>ifFalse: [reference := dropee.</div><div><span style="white-space:pre-wrap">                        </span>dropee externalName].</div><span class=""><div><span style="white-space:pre-wrap">        </span>externalName := externalName isOctetString</div><div><span style="white-space:pre-wrap">                                </span>ifTrue: [externalName]</div><div><span style="white-space:pre-wrap">                                </span>ifFalse: [&#39;a&#39; , externalName].</div></span><div><span style="white-space:pre-wrap">        </span>bindingName := externalName translateToLowercase , reference identityHash printString.</div><span class=""><div><span style="white-space:pre-wrap">        </span>targetMorph correctSelectionWithString: bindingName , &#39; &#39;.</div><div><span style="white-space:pre-wrap">        </span>(self bindingOf: bindingName)</div></span><div><span style="white-space:pre-wrap">                </span>value: reference.</div><span class=""><div><span style="white-space:pre-wrap">        </span>dropee rejectDropMorphEvent: evt.</div><div><span style="white-space:pre-wrap">        </span>^ true&quot;success&quot;</div></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 6:30 PM, karl ramberg <span dir="ltr">&lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>A little ugly with the code duplication but it works ;-)</div><div><br></div><div>Workspace&gt;&gt;acceptDroppingMorph: dropee event: evt inMorph: targetMorph </div><div><span style="white-space:pre-wrap">        </span>&quot;Return the dropee to its old position, and add a reference to it at the</div><div><span style="white-space:pre-wrap">        </span>cursor point.&quot;</div><div><span style="white-space:pre-wrap">        </span>| bindingName externalName |</div><div><span style="white-space:pre-wrap">        </span>(dropee isKindOf: TransferMorph)</div><div><span style="white-space:pre-wrap">                </span>ifTrue: [externalName := dropee passenger className.</div><div><span style="white-space:pre-wrap">                        </span>externalName := externalName isOctetString</div><div><span style="white-space:pre-wrap">                                                </span>ifTrue: [externalName]</div><div><span style="white-space:pre-wrap">                                                </span>ifFalse: [&#39;a&#39; , externalName].</div><div><span style="white-space:pre-wrap">                        </span>bindingName := externalName translateToLowercase , dropee passenger identityHash printString.</div><div><span style="white-space:pre-wrap">                        </span>targetMorph correctSelectionWithString: bindingName , &#39; &#39;.</div><div><span style="white-space:pre-wrap">                        </span>(self bindingOf: bindingName)</div><div><span style="white-space:pre-wrap">                                </span>value: dropee passenger]</div><div><span style="white-space:pre-wrap">                </span>ifFalse: [externalName := dropee externalName.</div><div><span style="white-space:pre-wrap">                        </span>externalName := externalName isOctetString</div><div><span style="white-space:pre-wrap">                                                </span>ifTrue: [externalName]</div><div><span style="white-space:pre-wrap">                                                </span>ifFalse: [&#39;a&#39; , externalName].</div><div><span style="white-space:pre-wrap">                        </span>bindingName := externalName translateToLowercase , dropee identityHash printString.</div><div><span style="white-space:pre-wrap">                        </span>targetMorph correctSelectionWithString: bindingName , &#39; &#39;.</div><div><span style="white-space:pre-wrap">                        </span>(self bindingOf: bindingName)</div><div><span style="white-space:pre-wrap">                                </span>value: dropee].</div><div><span style="white-space:pre-wrap">        </span>dropee rejectDropMorphEvent: evt.</div><div><span style="white-space:pre-wrap">        </span>^ true&quot;success&quot;</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 6:06 PM, karl ramberg <span dir="ltr">&lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Workspaces are great for scripting and exploring ideas etc. And working with already existing objects. It&#39;s not so good for developing but very good for other important computing and learning needs.<div><br></div><div>Best,</div><div>Karl</div><div> </div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 5:55 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:ma.chris.m@gmail.com" target="_blank">ma.chris.m@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">All Jakob had to do was &quot;do it&quot; on:<br>
<br>
  myXml := &#39;&lt;SomeElement&gt;.... all kinds of XML ... &lt;/SomeElement&gt;&#39;<br>
<br>
He now has access to myXml.  Then replace all the text in the<br>
workspace with that from the other workspace.  Done.<br>
<br>
I guess I see Workspaces for learning and discovery for newbies.<br>
Short, simple, explorations of syntax and class library.<br>
<br>
Attempting to do work as complex as parsing a large XML is going to<br>
present further challenges above and beyond accessing an object.  If<br>
someone feels the need to &quot;link workspaces&quot; they really should stop<br>
and consider just making a class.  In fact, I think linked workspaces<br>
would lead a newbie down the wrong path..<br>
<div><div><br>
On Thu, Mar 17, 2016 at 11:28 AM, karl ramberg &lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Mar 17, 2016 at 4:39 PM, Chris Muller &lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Mar 17, 2016 at 4:58 AM, Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On 17.03.2016, at 01:43, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Wed, Mar 16, 2016 at 11:58 AM, Bert Freudenberg<br>
&gt;&gt; &gt; &lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt; On 16.03.2016, at 18:48, marcel.taeumel &lt;<a href="mailto:Marcel.Taeumel@hpi.de" target="_blank">Marcel.Taeumel@hpi.de</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Mabye we need a simple way to link bindings across tools. Then, for<br>
&gt;&gt; &gt;&gt; &gt; example,<br>
&gt;&gt; &gt;&gt; &gt; we could simple connect a Workspace window to the text box in the<br>
&gt;&gt; &gt;&gt; &gt; Inspector<br>
&gt;&gt; &gt;&gt; &gt; (resp. Object Explorer) and all would share the same bindings. Then,<br>
&gt;&gt; &gt;&gt; &gt; you<br>
&gt;&gt; &gt;&gt; &gt; could simply select stuff in the Object Explorer, evaluate &quot;x :=<br>
&gt;&gt; &gt;&gt; &gt; self&quot;<br>
&gt;&gt; &gt;&gt; &gt; and<br>
&gt;&gt; &gt;&gt; &gt; you would have access to x in that other Workspace (resp. Inspector&#39;s<br>
&gt;&gt; &gt;&gt; &gt; text<br>
&gt;&gt; &gt;&gt; &gt; box).<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Not a bad idea … what could be a UI for connecting workspaces?<br>
&gt;&gt;<br>
&gt;&gt; Why not just invoke the halos on the inspectors built-in workspace and<br>
&gt;&gt; clone it with the upper-green button and use that?<br>
&gt;&gt;<br>
&gt; This would break workflow I think because like Jacob wrote, you open a file<br>
&gt; in a Workspace and you need a reference to that from another already open<br>
&gt; Workspace.<br>
&gt;<br>
&gt; How about another copy command, like &#39;copy as reference&#39; and then you could<br>
&gt; paste it in another Workspace ?<br>
&gt;<br>
&gt;<br>
&gt; Best,<br>
&gt; Karl<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>