[Cuis-dev] Button Refactoring (Was: Re: FYI. VectorGraphics freezes World. CuisBook procedure.)

Gerald Klix cuis.01 at klix.ch
Wed Jul 21 03:23:43 PDT 2021

On 7/21/21 11:15 AM, Juan Vuletich via Cuis-dev wrote:
> See that I replaced #drawRoundGradientLookOn: with #drawRoundLookOn: , 
> because I removed the gradient option. I believe that if you do this 
> rename in any senders and/or implementors in Haver, it should work ok. 
> In any case, check in detail updates #4677, #4678, #4681, #4682 and #4688.
IC and will check it out. Early in the morning a was bit
pressed for time -- I still am -- so I not dig into it.
> In general, any Cuis code that is redefined by Haver could have issues 
> with future Cuis updates, right? I'm not complaining, it is just that I 
> think we'll need to deal with this fact.
That's the risk I took when started on that "Haver"-journey.
In fact I spent two days or so in mitigating the risks.
That is I implemented a baseline checker that creates
code that -- in turn -- checks every class and method
modified in a changeset/package for being of
the proper version.
I used for that big Environments change set with
good results; it detected a trivial change.
Since there was not much change, I did not use
it for all the other packages. In the button case
it would have helped anyways, because id does not
detect sends to `super`, it just looks at
extension methods that override methods in the base image.

What we need (for each class), is an interface
definition for subclasses, that -- at least --
lists the methods that will stay stable.

Just my 0.03€ and many thanks for your help,


> Cheers,
> On 7/21/2021 4:33 AM, Gerald Klix via Cuis-dev wrote:
>> Near miss: #drawRoundGradientLookOn: is still missing.
>> Please see the attached debug log.
>> The code for the button stuff is here:
>> https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/haver/ui/Buttons.pck.st
>> I am sorry there is now Haver release containing this package,
>> I hope that I can prepare a new release next week.
>> (Raspi builds still miss the FFI plugin, I dug into that one,
>> it's a sad story)
>> Thank you for your efforts!
>> Best Regards,
>> Gerald
>> On 7/21/21 4:31 AM, Juan Vuletich via Cuis-dev wrote:
>>> Done. Just pushed another update. Please tell how it goes.
>>> Cheers,
>>> On 7/20/2021 6:34 PM, Juan Vuletich via Cuis-dev wrote:
>>>> The truth is that all I need to move to the Canvas is the specific 
>>>> methods to draw the icons in window controls. There are Form in 
>>>> BitBltCanvas, but just drawing calls in VectorGraphicsCanvas. Let my 
>>>> try to partially revert the changes, and see if I can get VG drawing 
>>>> the icons, without reducing the flexibility you need.
>>>> Thanks,
>>>> On 7/20/2021 6:14 PM, Gerald Klix via Cuis-dev wrote:
>>>>> I just looked into it, and discovered your changes as you
>>>>> discribed them.
>>>>> This move is a bit unfortunate, because
>>>>> I overwrote many of the drawing methods.
>>>>> Only drawRoundGradientLookOn: and draw3DLookOn:
>>>>> are expected to be definded in the super class.
>>>>> Sending the corespoinding messages to the canvas won't
>>>>> do the job, because these methods delegate the icon
>>>>> drawing not the canvas and not my subclass.
>>>>> I don't want the icons to be magnified that much.
>>>>> Maybe factroring out the magniofaction factors
>>>>> might do the job. Also the icons are displayed left of
>>>>> label.
>>>>> I'll look into it tommorrow and try to come up with
>>>>> a solution, its 23:10 here.
>>>>> Just one remark (or rant):
>>>>> I can't the my this solution is cleaner:
>>>>> Now Canavs defines the geometry of Button
>>>>> and not the button itself.
>>>>> Thanks for your help and Best Regards,
>>>>> Gerald

More information about the Cuis-dev mailing list