<div dir="ltr"><div dir="ltr">Hi,</div><div>what I see is completely against my opinion of the right thing.</div><div>I gonna expose this opinion below.</div><div><br></div><div>#repositionBy: is trying to change the layoutFrame offsets of the splitter and its neighbour morphs...</div><div>WHAT?</div><div><br></div><div>What are offsets for in the first place?</div><div>They are used for reserving a fixed space, for example for a button to be one lineGrid high!</div><div>A proportional splitter should not change the fixed space, it should rather consider it as a constraint.</div><div>Instead, it should change the proportional space, that is the fraction part of layouts...</div><div>As the name tells! A ProportionalSplitter SHALL change the proportional layout.<br></div><div><br></div><div>What is #balanceOffsets trying to do?</div><div>It's trying to undo the mistakes that we performed in #repositionBy:by transforming the offset deltas into fraction deltas...</div><div>Ouch, it's too late, I don't feel like this is a bright strategy!</div><div><br></div><div>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>If you have already gone thru this, share my opinion, and are ready to kill the problem you get my blessing ;)<br></div><div><br></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">nicolas.cellier.aka.nice@gmail.com</a>> a écrit :<br></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>Bingo,</div><div>if I inspect the ProportionalSpliiterMorph (thru halos), then evaluate in inspector:</div><div><br></div><div>    self setProperty: #fullDelta toValue: 0@0; balanceOffsets</div><div><br></div><div>I then get the undesired behavior...</div><div>Thanks Christoph for the starting point<br></div></div><br><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">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> a écrit :<br></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 id="gmail-m_8686397850491637509gmail-m_4120132448995115731divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<div id="gmail-m_8686397850491637509gmail-m_4120132448995115731divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<p>Hi, I perceived a similar issue a year ago, I'm afraid it appears to have been forgotten ...</p>
<p><br>
</p>
<p></p>
</div>
<blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<div>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><span style="font-size:12pt"><br>
</span></div>
<div><span style="font-size:12pt">Is there any reason why #fullDelta is set here?</span></div>
</div>
</blockquote>
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<br>
</div>
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<p></p>
<div id="gmail-m_8686397850491637509gmail-m_4120132448995115731Signature">
<div name="divtagdefaultwrapper">
<div><font size="2" color="#808080"></font></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;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
<br>
</div>
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
Best,</div>
<div style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols" dir="ltr">
Christoph<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div id="gmail-m_8686397850491637509gmail-m_4120132448995115731divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>Von:</b> Squeak-dev <<a href="mailto:squeak-dev-bounces@lists.squeakfoundation.org" target="_blank">squeak-dev-bounces@lists.squeakfoundation.org</a>> im Auftrag von Nicolas Cellier <<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>><br>
<b>Gesendet:</b> Sonntag, 17. November 2019 19:11 Uhr<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> [squeak-dev] MCSaveVersionDialog splitter broken</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div>Hi,</div>
<div>here is how to reproduce:</div>
<div>1. save any package</div>
<div>2. click on the horizontal splitter (below the list of changes)<br>
</div>
<div>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><br>
</div>
<div>I don't know where to start searching for it...<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

<br>
</blockquote></div>
</blockquote></div></div>