<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 14, 2009, at 2:09 PM, Terje Norderhaug wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; ">What about calling set-view-container in an initialize-instance :after method on editable-text-dialog-item?<br><br>I haven't tested this at all, but something like this (assuming there isn't already an :after method):<br><br>(defmethod initialize-instance :after ((item editable-text-dialog-item) &key view-container)<br><span class="Apple-tab-span" style="white-space: pre; "> </span>(set-view-container item view-container))</span></blockquote></div><br><div><br></div><div>Good man, Terje. We can't use :view-container as the keyword parameter, but if we call it :container, that will be a decent workaround:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 0, 136); "><span style="font: 18.0px Skia Light">(</span><span style="font: 14.0px Optima; color: #990033">defClass</span><span style="color: #000000"> </span><span style="font: 14.0px Optima; text-decoration: underline">FOO</span><span style="color: #000000"> (</span>color-dialog<span style="color: #000000">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> ((<span style="font: 14.0px Optima; color: #000088">editable-text</span> <span style="font: 10.0px Geneva">:initform</span> nil <span style="font: 10.0px Geneva; color: #990033">:accessor</span> foo-editable-text))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Geneva; "><span style="font: 10.0px Monaco"> (</span>:default-initargs</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva">:window-title</span> <span style="color: #660099">"Bug Demo"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Geneva; "><span style="font: 10.0px Monaco"> </span>:theme-background<span style="font: 10.0px Monaco"> t </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva">:view-size</span> (make-point 200 50)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva; color: #990033">:view-position</span> #@(50 50))<span style="font: 18.0px Skia Light; color: #000088">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; ">This is new:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span class="Apple-style-span" style="color: rgb(0, 0, 136); font-family: Optima; font-size: 14px; "><span style="font: 18.0px Skia Light">(</span><span style="color: #990033">defMethod</span><span style="font: 10.0px Monaco; color: #000000"> </span><span style="text-decoration: underline">initialize-instance</span><span style="font: 10.0px Monaco; color: #000000"> </span><span style="font: 10.0px Geneva; color: #990033">:after</span><span style="font: 10.0px Monaco; color: #000000"> ((item</span><span style="font: 12.0px Optima"> editable-text-dialog-item</span><span style="font: 10.0px Monaco; color: #000000">) </span><span style="font: 10.0px Geneva; color: #990033">&key</span><span style="font: 10.0px Monaco; color: #000000"> container)</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (<span style="font: 14.0px Optima; color: #000088">when</span> container (set-view-container item container))<span style="font: 18.0px Skia Light; color: #000088">)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><font class="Apple-style-span" color="#000088" face="'Skia Light'" size="5"><span class="Apple-style-span" style="font-size: 18px;"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 14px/normal Optima; color: rgb(0, 0, 136); "><span style="font: 18.0px Skia Light">(</span><span style="color: #990033">defMethod</span><span style="font: 10.0px Monaco; color: #000000"> </span><span style="text-decoration: underline">ccl::window-make-parts</span><span style="font: 10.0px Monaco; color: #000000"> </span><span style="font: 10.0px Geneva; color: #990033">:after</span><span style="font: 10.0px Monaco; color: #000000"> ((dialog </span><span style="font: 12.0px Optima">foo</span><span style="font: 10.0px Monaco; color: #000000">) </span><span style="font: 10.0px Geneva; color: #990033">&rest</span><span style="font: 10.0px Monaco; color: #000000"> rest &key)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (<span style="font: 14.0px Optima; color: #000088">declare</span> (<span style="font: 14.0px Optima; color: #000088">ignore</span> rest))</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (<span style="font: 14.0px Optima; color: #000088">setf</span> (foo-editable-text dialog)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (<span style="font: 14.0px Optima; color: #000088">make-instance</span> 'editable-text-dialog-item <span style="font: 10.0px Geneva; color: #990033">:dialog-item-text</span> <span style="color: #660099">"Foobar"</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva; color: #990033">:view-size</span> #@(100 25)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva; color: #990033">:view-position</span> #@(15 15)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><span style="color: #000000"> </span>;; just :container here, not :view-container</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> <span style="font: 10.0px Geneva; color: #990033">:container</span> dialog))<span style="font: 18.0px Skia Light; color: #000088">)</span></div></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal 'Lucida Grande'; min-height: 15px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); ">;;; (make-instance 'foo)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 153, 102); "><br></div></div></body></html>