<div dir="ltr"><div><div><div>I would say ToolBuilder-Morphic should depend on Morphic, not the other way around.<br></div>So why not putting PluggableSystemWindowWithLabelButton in ToolBuilder-Morphic?<br></div>Isn&#39;t it a pluggable extension for Morphic that should be used only thru ToolBuilder?<br>

</div>Otherwise, we can consider that as a bad usage of inheritance, or a case of Traits...<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/9 Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 9 January 2014 14:27, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>

&gt; On 9 January 2014 13:34, Colin Putney &lt;<a href="mailto:colin@wiresong.com">colin@wiresong.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Jan 9, 2014 at 3:47 AM, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It does for SUnit what older commits did for MVC and Morphic: moves<br>
&gt;&gt;&gt; the UI-framework-specific code to that particular UI framework, so<br>
&gt;&gt;&gt; that the core of ToolBuilder remains UI agnostic.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The problem with shrinking that you refer to is, presumable, that<br>
&gt;&gt;&gt; SUnitToolBuilderTests superclass == AnObsoleteToolBuilderTests? I&#39;d<br>
&gt;&gt;&gt; noticed that, and asked on the list how I might fix that. If you can<br>
&gt;&gt;&gt; suggest an action I can take to remedy the problem, I&#39;m all ears.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; No, the problem with shrinking is that I want to remove SUnitToolBuilder<br>
&gt;&gt; without removing TestRunner.<br>
&gt;&gt;<br>
&gt;&gt; TestRunner provides a GUI for running tests. SUnitToolBuilder provides<br>
&gt;&gt; infrastructure for testing a GUI. They *sound* similar, but really they&#39;re<br>
&gt;&gt; completely different, and should be in separate packages.<br>
&gt;<br>
&gt; Yes, they are different.<br>
&gt;<br>
&gt;&gt; On the other hand, the ToolBuilder packages were already separate from each<br>
&gt;&gt; other. Admittedly, if you don&#39;t have MVC in the image, you probably don&#39;t<br>
&gt;&gt; want ToolBuilder-MVC either, but that&#39;s not a reason to tie them together;<br>
&gt;&gt; it&#39;s reasonable to want MVC only and not use ToolBuilder at all. It seems<br>
&gt;&gt; that these changes have introduced coupling to what was already a nicely<br>
&gt;&gt; modularized group of packages.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m sorry I didn&#39;t notice this when you first brought it up—I was busy with<br>
&gt;&gt; dirty-world stuff in May and not paying much attention to the Internet. I<br>
&gt;&gt; think the right thing to do is just revert these changes.<br>
&gt;<br>
&gt; I suspect that the bug might stem from me looking at system<br>
&gt; categories, not at packages. ToolBuilder is one of the packages (only<br>
&gt; it and HelpSystem, in fact) that do the Right Thing sub-package-wise.<br>
&gt;<br>
&gt; You&#39;re right. I&#39;ll revert the changes.<br>
<br>
</div></div>Undoing these changes, I think I realise why I did it. Morphic depends<br>
on ToolBuilder-Morphic, and I tried to break that dependency by<br>
folding TB-M into Morphic. Once that was done, what&#39;s good for one<br>
framework should be good for the others. Only of course while Morphic<br>
shouldn&#39;t depend on TB-M, folding TB-M into Morphic means that Morphic<br>
still depends on TB, which it shouldn&#39;t. (Because using TB was<br>
supposed to be optional. It&#39;s TOOLBuilder, not GenericUIBuilder.<br>
<br>
So Morphic still depends on ToolBuilder-Morphic, because<br>
PluggableSystemWindowWithLabelButton subclasses PluggableSystemWindow,<br>
and because UserDialogBoxMorph uses PluggableButtonMorphPlus.<br>
<br>
frank<br>
<br>
&gt;&gt; Colin<br>
<br>
</blockquote></div><br></div>