<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div>Animated gif are a very good idea to show bugs in the mailing list ! <div class="">I will keep it in mind.</div><div class=""><br class=""></div><div class="">bye</div><div class="">n.<br class=""><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 20, 2019, at 12:02 AM, Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" class="">marcel.taeumel@hpi.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div id="__MailbirdStyleContent" style="font-size: 10pt; font-family: Arial;" class="">
                                        This is the bug (smart splitters disabled, left mouse click):<div class=""><span id="cid:7d6b94e3-7ee1-4df4-90b6-2938d9b209a9"><image.gif></span></div><div class=""><br class=""></div><div class="">Best,</div><div class="">Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;"><p style="color: #AAAAAA; margin-top: 10px;" class="">Am 20.11.2019 05:40:59 schrieb Chris Muller <<a href="mailto:asqueaker@gmail.com" class="">asqueaker@gmail.com</a>>:</p><div style="font-family:Arial,Helvetica,sans-serif" class="">
<div dir="ltr" class=""><div dir="ltr" class="">On Mon, Nov 18, 2019 at 2:20 AM Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" class="">marcel.taeumel@hpi.de</a>> wrote:<br class=""></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_-326061020902486755__MailbirdStyleContent" style="font-size: 10pt; font-family: Arial;" class="">





                                        Hi, there.<div class=""><br class=""></div><div class="">I cannot solve this issue at the moment.</div><div class=""><br class=""></div><div class="">Here is some history about (the rather recently added) #balanceOffsets:</div><div class=""><br class=""></div><div class=""><a href="http://forum.world.st/A-fix-for-ProportionalSplitterMorph-td5072182.html" target="_blank" class="">http://forum.world.st/A-fix-for-ProportionalSplitterMorph-td5072182.html</a><br class=""></div><div class=""><a href="http://forum.world.st/A-fix-for-ProportionalSplitterMorph-take-2-td5072239.html" target="_blank" class="">http://forum.world.st/A-fix-for-ProportionalSplitterMorph-take-2-td5072239.html</a><br class=""></div><div class=""><br class=""></div><div class="">> <span style="font-family: Arial,Helvetica,sans-serif;font-size: 13px" class="">one could expect that a Morph bounds is obtained by applying its layoutFrame to its owner bounds</span></div><div class=""><br class=""></div><div class="">That's exactly what's happening. See:</div><div class=""><br class=""></div><div class="">Morph >> #doLayoutIn:</div><div class="">ProportionalLayout >> #layoutIn:</div><div class="">Morph >> #layoutProportionallyInBounds:(positioning:)</div><div class="">LayoutFrame >> layout:in:</div><div class=""><br class=""></div><div class="">> <span style="font-family: Arial,Helvetica,sans-serif;font-size: 13px" class="">for example the grip morphs have a very strange idea of their own layoutFrame</span></div><div class=""><span style="font-family: Arial,Helvetica,sans-serif;font-size: 13px" class=""><br class=""></span></div><div class=""><span style="font-family: Arial,Helvetica,sans-serif;font-size: 13px" class="">Yes, grip morphs are quite hacky. Their relationship to SystemWindow and that window's label area required some unconventional overrides of </span><span style="font-size: 13.3333px" class="">#layoutProportionallyInBounds:(positioning:)</span></div><div class=""><span style="font-size: 13.3333px" class=""><br class=""></span></div><div class=""><span style="font-size: 13.3333px" class="">Anyway, that issue with #balanceOffsets: does not bleed into all these things. It is just confined within ProportionalSplitterMorph. I suppose. :-D</span></div></div></blockquote><div class=""><br class=""></div><div class="">Yes, it appears I isolated balanceOffsets by the preference checks:</div><div class=""><br class=""></div><div class="">    (ProportionalSplitterMorph smartVerticalSplitters or: [ ProportionalSplitterMorph smartHorizontalSplitters ])</div><div class=""><br class=""></div><div class="">and in ProportionalSplitterMorph>>#stopStepping, it once again calls #balanceOffsets to put the state back to the manual-splitter scheme, as if the user had moved the bar themself.</div><div class=""><br class=""></div><div class=""> - Chris</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-m_-326061020902486755__MailbirdStyleContent" style="font-size: 10pt; font-family: Arial;" class=""><div class=""><span style="font-size: 13.3333px" class=""><br class=""></span></div><div class=""><span style="font-size: 13.3333px" class="">Best,</span></div><div class=""><span style="font-size: 13.3333px" class="">Marcel</span></div><div class=""><span style="font-family: Arial,Helvetica,sans-serif;font-size: 13px" class=""><br class=""></span></div><div class=""></div>

                                        <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px;min-width:500px" class=""><p style="color:rgb(170,170,170);margin-top:10px" class="">Am 17.11.2019 23:34:24 schrieb Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank" class="">nicolas.cellier.aka.nice@gmail.com</a>>:</p><div style="font-family:Arial,Helvetica,sans-serif" class="">
<div dir="ltr" class=""><div dir="ltr" class="">Hi,</div><div class="">what I see is completely against my opinion of the right thing.</div><div class="">I gonna expose this opinion below.</div><div class=""><br class=""></div><div class="">#repositionBy: is trying to change the layoutFrame offsets of the splitter and its neighbour morphs...</div><div class="">WHAT?</div><div class=""><br class=""></div><div class="">What are offsets for in the first place?</div><div class="">They are used for reserving a fixed space, for example for a button to be one lineGrid high!</div><div class="">A proportional splitter should not change the fixed space, it should rather consider it as a constraint.</div><div class="">Instead, it should change the proportional space, that is the fraction part of layouts...</div><div class="">As the name tells! A ProportionalSplitter SHALL change the proportional layout.<br class=""></div><div class=""><br class=""></div><div class="">What is #balanceOffsets trying to do?</div><div class="">It's trying to undo the mistakes that we performed in #repositionBy:by transforming the offset deltas into fraction deltas...</div><div class="">Ouch, it's too late, I don't feel like this is a bright strategy!</div><div class=""><br class=""></div><div class="">By inspecting the Morphs, I see plenty of surprises... For example, one could expect that a Morph bounds is obtained by applying its layoutFrame to its owner bounds... Err, that ain't always the case, for example the grip morphs have a very strange idea of their own layoutFrame... So before I learn what the least surprise should be, it might take a bit of time... Otherwise, repairing one thing may break two others...</div><div class="">If you have already gone thru this, share my opinion, and are ready to kill the problem you get my blessing ;)<br class=""></div><div class=""><br class=""></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 17 nov. 2019 à 20:41, Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank" class="">nicolas.cellier.aka.nice@gmail.com</a>> a écrit :<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;min-width:500px"><div dir="ltr" class=""><div class="">Bingo,</div><div class="">if I inspect the ProportionalSpliiterMorph (thru halos), then evaluate in inspector:</div><div class=""><br class=""></div><div class="">    self setProperty: #fullDelta toValue: 0@0; balanceOffsets</div><div class=""><br class=""></div><div class="">I then get the undesired behavior...</div><div class="">Thanks Christoph for the starting point<br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 17 nov. 2019 à 19:20, Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de" target="_blank" class="">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> a écrit :<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;min-width:500px">




<div dir="ltr" class="">
<div id="gmail-m_-326061020902486755gmail-m_8686397850491637509gmail-m_4120132448995115731divtagdefaultwrapper" style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif;" dir="ltr" class="">
<div id="gmail-m_-326061020902486755gmail-m_8686397850491637509gmail-m_4120132448995115731divtagdefaultwrapper" style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class=""><p class="">Hi, I perceived a similar issue a year ago, I'm afraid it appears to have been forgotten ...</p><p class=""><br class="">
</p><div class=""><br class="webkit-block-placeholder"></div>
</div>
<blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px;min-width:500px" class="">
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class="">
<div class="">I recently found a bug in the splitter class: Each time you mouseDown a splitter but not mouseMove it, it moves itself by delta=1. More concretely I could locate this during debugging in #balanceOffsets, where self layoutFrame leftFraction actually gets
 a larger value with every click. I was able to fix the problem by preventing every call to #balanceOffsets, but that doesn't seem to be the right solution. Since then, I haven't missed any splitter behavior, so I don't understand the point of this method.</div>
<div class=""><span style="font-size: 12pt" class=""><br class="">
</span></div>
<div class=""><span style="font-size: 12pt" class="">Is there any reason why #fullDelta is set here?</span></div>
</div>
</blockquote>
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class=""><div class=""><br class="webkit-block-placeholder"></div>
<div id="gmail-m_-326061020902486755gmail-m_8686397850491637509gmail-m_4120132448995115731Signature" class="">
<div name="divtagdefaultwrapper" class="">
<div class=""><span style="font-size: 10pt;color: rgb(128,128,128)" class=""></span></div>
</div>
</div>
In every case, I think it could be a good idea to refactor #balanceOffsets in terms of readability :-)</div>
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class="">
<br class="">
</div>
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class="">
Best,</div>
<div style="font-size: 12pt; font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr" class="">
Christoph<br class="">
<br class="">
<div style="" class="">
<hr style="display:inline-block;width:98%" class="">
<div id="gmail-m_-326061020902486755gmail-m_8686397850491637509gmail-m_4120132448995115731divRplyFwdMsg" dir="ltr" class=""><span style="font-family: Calibri, sans-serif;" class=""><b class="">Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank" class="">squeak-dev-bounces@lists.squeakfoundation.org</a>> im Auftrag von Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank" class="">nicolas.cellier.aka.nice@gmail.com</a>><br class="">
<b class="">Gesendet:</b> Sonntag, 17. November 2019 19:11 Uhr<br class="">
<b class="">An:</b> The general-purpose Squeak developers list<br class="">
<b class="">Betreff:</b> [squeak-dev] MCSaveVersionDialog splitter broken</span>
<div class=""> </div>
</div>
<div class="">
<div dir="ltr" class="">
<div class="">Hi,</div>
<div class="">here is how to reproduce:</div>
<div class="">1. save any package</div>
<div class="">2. click on the horizontal splitter (below the list of changes)<br class="">
</div>
<div class="">3. the splitter goes up once at button down, and once at button up by about the vertical size of the Accept/Cancel buttons</div>
<div class=""><br class="">
</div>
<div class="">I don't know where to start searching for it...<br class="">
</div>
</div>
</div>
</div>
</div>
</div>
</div>

<br class="">
</blockquote></div>
</blockquote></div></div>
</div></blockquote></div><br class="">
</blockquote></div></div>
</div></blockquote>
                                        </div></div><br class=""></div></blockquote></div><br class=""></div></div></body></html>