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

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


I just tried with a clean Cuis image.
Filed in the one update and set the system font
to DejaVueSansCondensed: Same error, same debug log;
I now have 127 of them.

Best theories so far:

1. Linux 64bit-VectorEnginePlugin broken
2. Screen/Display too big

Will check 2., because it's the low hanging fruit.


Me more puzzled,

Gerald



On 7/21/21 6:29 PM, Gerald Klix via Cuis-dev wrote:
> 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,
> 
> Gerald
> 
> 
> 
> 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
>>>>>>>
>>>>>>>
>>>>>
>>>
>>>
> 


More information about the Cuis-dev mailing list