<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Apr 21, 2017 11:23 AM, "Bert Freudenberg" <<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="elided-text">On Thu, Apr 20, 2017 at 11:29 PM, Chris Cunningham <span dir="ltr"><<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 20, 2017 at 9:32 AM, Bert Freudenberg <span dir="ltr"><<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>></span> wrote:</div><div class="gmail_quote"><snip/><span class="m_8369879957856758811gmail-"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Yeah, isn't it fun to untangle a monolithic system? ;)</div></div></div></div></blockquote></span><div>Not bad if you don't try and change things... </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div></div></div></div></blockquote><div><snip/> </div><span class="m_8369879957856758811gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Anything else lying around?</div></div></blockquote><div><br></div></span><div>There is also the stuff with hasNonStandardPalette and convertARGB etc which is only used if there are external forms, but that seems a bit harder to remove because the hooks need to be there. I think it's fine to leave that as it is, unless you notice something that's easily removable.</div><span class="m_8369879957856758811gmail-m_7113224669492196065HOEnZb"><font color="#888888"><div><br></div></font></span></div></div></div></blockquote></span><div>There is a new version in the inbox with those 4 method moved.</div><div>The rest are doable.  THe right way to do them, I think, is to remove most of these methods completely from Form. Then, adjust the methods that call them (in Form) to do the standard form code; and have override varients in ExternalForm (and/or ExternalScreen) that does the very specific alternates - or delegates to Form if it should.  Those dependant methods seem to have a lot of assumptions about what the other variants might be.</div><div><br></div><div>I might get to this next week at some point, but I won't promise anything.</div></div></div></div></blockquote><div><br></div></div><div>I think we should leave this as is. The hooks need to stay in place if we still want to support external forms.<br></div><div><br></div><div>We might want to amend the comment in #hasNonStandardPalette with some mention of the new external graphics package.</div><font color="#888888"><div><br></div><div> - Bert -</div></font></div></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I became interested in this because a test failed, so I can stop when it is deemed right to do so. That said:</div><div dir="auto"><br></div><div dir="auto">The current methods calling the methods you mention will look very weird without the ExternalForm loaded. There are branches that make no sense with that package removed. I did 3+ years from now if someone needs to work on Form and especially those methods they might be tempted to just remove them and then we are much worse off. </div><div dir="auto"><br></div><div dir="auto">What I'm suggesting is to factor out ExternalForm versions of those methods into ExternalForm and ExternalScreen where they will make sense to someone looking over it in the future. In the process the methods in Form should also get simple and more understandable (although there is a lot of but twiddling left in them).  As a bonus I would leave a note in the Form comment about the existence of ExternalForm in case someone was looking for such a thing. </div><div dir="auto"><br></div><div dir="auto">Yes this approach can also for over time - but at least ExternalForm will be consistent with itself.  And it might not for as fast asvleaving the mixed methods in there now. The only good way not to for is to put the classes back in, really. </div><div dir="auto"><br></div><div dir="auto">Thanks, </div><div dir="auto">cbc</div><div dir="auto"></div></div>