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

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


Breaks even with a tiny screen, would have been too easy.
Will try 64 bit windows.

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