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

Gerald Klix cuis.01 at klix.ch
Wed Jul 21 09:29:22 PDT 2021

After your applying your suggested fix and after
adding an #iconColor method the buttons work again.

Thanks for your help.

But the VectorGraphics stuff leads to a repeating error.
I attached the last of 97 debug logs.

Me puzzled,


On 7/21/21 12:23 PM, Gerald Klix via Cuis-dev wrote:
> 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,
> Gerald
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CuisDebug-2021-07-21_18.25.18.log
Type: text/x-log
Size: 40290 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20210721/13a22065/attachment-0001.bin>

More information about the Cuis-dev mailing list