<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi Marcel!</p>
<p><br>
</p>
<p>Fair point, I will revert that.</p>
<p>Would you agree with the rest of the patch when I reupload it?</p>
<p><br>
</p>
<p>This commit was a first step towards the implementation of a CommandLineUIManager as discussed here: <a href="http://forum.world.st/CommandLineUIManager-td5106538.html" class="x_OWAAutoLink" id="LPlnk392713" style="font-size:12pt">http://forum.world.st/CommandLineUIManager-td5106538.html</a> <span style="font-size:12pt">By
 the way, my image already contains an early prototype version of it.</span></p>
<p><span style="font-size:12pt">If there is anyone else interested in this extension,
<a href="http://forum.world.st/The-Inbox-ToolBuilder-Kernel-ct-135-mcz-tp5110615p5110623.html" class="x_OWAAutoLink">
my questions from the post below</a> are still up to date! :-)</span></p>
<p><span style="font-size:12pt"><br>
</span></p>
<p><span style="font-size:12pt">Best,</span></p>
<p><span style="font-size:12pt">Christoph</span></p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" 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">
<div name="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">
<div class="x__rp_U4 x_ms-font-weight-regular x_ms-font-color-neutralDark x_rpHighlightAllClass x_rpHighlightBodyClass" id="x_Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="x_divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="x_Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" target="_blank" rel="noopener noreferrer" id="LPNoLP"><font size="2"><span id="LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Donnerstag, 1. Oktober 2020 16:28:53<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: ToolBuilder-Kernel-ct.135.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi Christoph.<br>
<br>
-1 because "false" is typically different than "cancellation" in the context<br>
where that UI request is posed. <br>
<br>
Imagine that a user says "No, do not overwrite but duplicate that item." but<br>
your logic could trigger something like "Close this dialog" just because the<br>
current UI manager omitted to implement that case. It would be more<br>
discoverable to raise that #subclassResponsibility exception.<br>
<br>
Best,<br>
Marcel<br>
<br>
<br>
commits-2 wrote<br>
> Christoph Thiede uploaded a new version of ToolBuilder-Kernel to project<br>
> The Inbox:<br>
> <a href="http://source.squeak.org/inbox/ToolBuilder-Kernel-ct.135.mcz">http://source.squeak.org/inbox/ToolBuilder-Kernel-ct.135.mcz</a><br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: ToolBuilder-Kernel-ct.135<br>
> Author: ct<br>
> Time: 24 January 2020, 6:34:43.604574 pm<br>
> UUID: 3ec2613e-56d3-2d41-b5c3-799a66a986e9<br>
> Ancestors: ToolBuilder-Kernel-mt.134<br>
> <br>
> Provides fallback implementations for some UIManager messages<br>
> <br>
> =============== Diff against ToolBuilder-Kernel-mt.134 ===============<br>
> <br>
> Item was changed:<br>
>   ----- Method: UIManager>>chooseFrom:values:lines:title: (in category 'ui<br>
> requests') -----<br>
>   chooseFrom: labelList values: valueList lines: linesArray title: aString<br>
> +      "Choose an item from the given list. Answer the corresponding value."<br>
> +      | result |<br>
> +      result := self chooseFrom: labelList lines: linesArray title: aString.<br>
> +      (result isNil or: [result isZero]) ifTrue: [^ nil].<br>
> +      ^ valueList at: result!<br>
> -      "Choose an item from the given list. Answer the selected item."<br>
> -      ^self subclassResponsibility!<br>
> <br>
> Item was changed:<br>
>   ----- Method: UIManager>>confirm:orCancel: (in category 'ui requests')<br>
> -----<br>
>   confirm: aString orCancel: cancelBlock<br>
> +      "Put up a yes/no/cancel menu with caption aString. Answer true if the<br>
> response is yes, false if no. If cancel is chosen, evaluate cancelBlock.<br>
> This is a modal question--the user must respond yes or no."<br>
> +      ^ (self confirm: aString)<br>
> +              ifFalse: [cancelBlock value];<br>
> +              yourself!<br>
> -      "Put up a yes/no/cancel menu with caption aString. Answer true if  <br>
> -      the response is yes, false if no. If cancel is chosen, evaluate  <br>
> -      cancelBlock. This is a modal question--the user must respond yes or<br>
> no."<br>
> -      ^self subclassResponsibility!<br>
> <br>
> Item was changed:<br>
>   ----- Method: UIManager>>confirm:orCancel:title: (in category 'ui<br>
> requests') -----<br>
>   confirm: aString orCancel: cancelBlock title: titleString<br>
> +      "Put up a yes/no/cancel menu with caption aString, and titleString to<br>
> label the dialog. Answer true if the response is yes, false if no. If<br>
> cancel is chosen, evaluate cancelBlock. This is a modal question--the user<br>
> must respond yes or no."<br>
> +      ^ (self confirm: aString title: titleString)<br>
> +              ifFalse: [cancelBlock value];<br>
> +              yourself!<br>
> -      "Put up a yes/no/cancel menu with caption aString, and titleString to<br>
> label the dialog.<br>
> -      Answer true if  the response is yes, false if no. If cancel is chosen,<br>
> evaluate cancelBlock.<br>
> -      This is a modal question--the user must respond yes or no."<br>
> -      ^self subclassResponsibility!<br>
> <br>
> Item was changed:<br>
>   ----- Method: UIManager>>request:initialAnswer:centerAt: (in category<br>
> 'ui requests - text') -----<br>
>   request: queryString initialAnswer: defaultAnswer centerAt: aPoint <br>
> +      "Create an instance of me whose question is queryString with the given<br>
> initial answer. Invoke it centered at the given point, and answer the<br>
> string the user accepts. Answer the empty string if the user cancels."<br>
> -      "Create an instance of me whose question is queryString with the given<br>
> -      initial answer. Invoke it centered at the given point, and answer the<br>
> -      string the user accepts. Answer the empty string if the user cancels."<br>
>   <br>
> +      ^ self request: queryString initialAnswer: defaultAnswer!<br>
> -      ^self subclassResponsibility!<br>
<br>
<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://forum.world.st/Squeak-Dev-f45488.html">http://forum.world.st/Squeak-Dev-f45488.html</a><br>
<br>
</div>
</span></font>
</body>
</html>