<div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi, there.<div><br></div><div>Here is some context about the current state of Squeak's dialog implementation.</div><div><br></div><div>Last year, I worked on UI themes and hence touched the sources of all relevant widgets. In the course of understanding and changing the existing implementations, I took the opportunity to clean-up and simplify things. The biggest construction sites included windows, menus, buttons, and dialogs. The biggest clean-up was a consistent use of the #setDefaultParameters-pattern, which has been there for a long time.</div><div><br></div><div>Until then, Squeak has had three kinds of dialogs: FillInTheBlankMorph, UserDialogBoxMorph, and SystemWindows that where "modal children" of other system windows. I merged the first two kinds and harmonized their visual appearance.</div><div><br></div><div><img src="cid:b43f0482-05cc-4123-aeab-9dd36a9f2354" width="auto"></img></div><div><img src="cid:79e50384-f53c-4600-aac1-0e0370f77db0" width="auto"></img></div><div>...became...</div><div><br></div><div><img src="cid:cad3015a-86fe-49c0-beac-4f6c92ee2f0e" width="auto"></img></div><div><img src="cid:14652848-3d6b-49d3-b9e1-99ba73bea200" width="auto"></img></div><div><br></div><div>I largely ignored system windows that where effectively treated as dialogs, which is (1) modal ownership and sometimes (2) modally exclusive user input. Two common candidates of these are the font-chooser dialog and the file/folder-chooser dialog:</div><div><br></div><div><img src="cid:6e6ab1fa-8e40-41bd-95b6-8ccee22817d1" width="auto"></img></div><div><img src="cid:c28847b7-9ac8-4a72-8992-389dfbfabfd0" width="auto"></img></div><div><br></div><div>As you can see, a conversion to a visual dialog-like appearance might entail some changes in DialogWindow and PluggableDialogWindow(Spec). Yet, I think there are still (1) title, (2) description, (3) opt. resizable content, and (4) a button bar --- like in all other dialogs. One could even think of making those modally exclusive ... but the need for copying necessary information from another morph to fulfill the dialogs request is too common.</div><div><br></div><div>Why do I write this? A dialog is no regular window because:</div><div>1. It poses a single request and therefore looks different.</div><div>2. It is modal in a sense that it can (a) belong to a window/dialog and (b) interrupt a complex job with user input and (c) closing it means aborting a job not just closing a view on objects.</div><div>3. It has a programming interface that is more like "request" and not like "open/show".</div><div><br></div><div>Consequently, file/folder choosers and font choosers should be real dialogs: code-wise and graphics-wise:</div><div><br></div><div><img src="cid:41140762-03e8-4dbf-a0ea-bba4e0833ee0" width="auto" style="width: 436px; height: 229px;"></img></div><div><br></div><div>Simple user requests don't need interactive content. Some might not have a description but only that content. Some might only have a title and the buttons. The message of title / description is debatable. I think that titles should be more generic like "Choose file" and descriptions should be more context specific to explain what kind of file is required. So that titles can be one-lines and descriptions be multi-liners.</div><div><br></div><div>Best,</div><div>Marcel</div><div><br></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;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 05.11.2017 02:19:45 schrieb Bob Arning <arning315@comcast.net>:</p>
    <p><span style="font-family: Georgia">That's the lack of options I was talking
        about. What if one of those 40 that TB did *not* give you was
        just the ticket? That said, you can probably make a quick list
        of the morphs *does* use and consider that your Beginner's Guide
        to Morphic. Then maybe add a few more morphs that seem
        particularly useful.</span><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 11/4/17 9:04 PM, tim Rowledge wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:E94ABD60-4356-4822-AA4A-C51C60BBF133@rowledge.org" style="min-width: 500px">
      <pre wrap="">One of the nice aspects of toolbuilder is the way it provides clear widget options - ask for a button and you get a button without having to check out every damn button related morph class - did you know there are *40* classes with ‘button’ in the name?
</pre>
    </blockquote>
    <br>
  
                        </blockquote></div>