[Cuis-dev] BoxedMorph padding
Juan Vuletich
juan at cuis.st
Sun Sep 8 14:43:45 PDT 2024
Hi Bernhard,
(below)
On 9/8/2024 2:32 PM, Bernhard Pieber via Cuis-dev wrote:
> Hi Juan,
>
> Hmm, as padding is defined as the inner distance between the border and the content shown inside that border I don't understand why padding should not make sense if a border makes sense? Why should AutoCompleterMorph, ProgressBarMorph, and PasteUpMorph for example not have a padding? AutoCompleterMorph and ProgressBarMorph might even look better with a bit of it.
>
> I agree for DraggingGuideMorph, LayoutAdjustingMorph, HandMorph and HaloMorph, but then that's because a border does not make much sense. Hmm, why do they subclass BoxedMorph in the first place? I tried setting borders to LayoutAdjustingMorph, HandMorph and HaloMorph but none were shown. Is it because they need the extent ivar? If yes, how about the following hierarchy?
>
> PlacedMorph: location, layoutSpec
> MorphWithExtent: extent
> BorderedMorph: color, borderWith, borderColor, padding
>
> Cheers,
> Bernhard
This is a very good proposal. I'd just rename MorphWithExtent ->
BoxMorph. So, we could have:
PlacedMorph: location, layoutSpec
BoxMorph: extent
BorderedBoxMorph: color, borderWith, borderColor, padding
And the hierarchy would be:
BoxMorph subclasses (besides BorderedMorph):
#(#DraggingGuideMorph #HaloHandleMorph #HaloMorph #HandMorph
#InnerPluggableMorph #LayoutAdjustingMorph #MenuLineMorph #PasteUpMorph
#ResizeMorph) .
BorderedBoxMorph subclasses:
#(#AutoCompleterMorph #ImageMorph #LabelMorph #PluggableMorph
#ProgressBarMorph #TextParagraphMorph #TileResizeMorph #TranscriptMorph) .
Additional BorderedBoxMorph subclasses, with borderWidth typically zero,
but possibly non-zero padding:
#(#HoverHelpMorph #LayoutMorph #MenuMorph)
I like it.
The migration would have to be gradual, picking one of the existing
BoxedMorph subclasses, and either ensuring no use of 'border', and make
it subclass BoxMorph, or make it subclass of BorderedBoxMorph, making it
also use 'padding'.
Thanks,
>
>> Am 07.09.2024 um 22:49 schrieb Juan Vuletich<juan at cuis.st>:
>>
>> On 9/6/2024 11:47 AM, ken.dickey--- via Cuis-dev wrote:
>>> And for the rest of us, here is the 3 combined ChangeSets into one.
>>>
>>> I think I have now reconstituted all the code I lost.
>>>
>>> Again, sorry for the lost fileout.
>>>
>>> Please test& feedback.
>>>
>>> Cheers,
>>> -KenD
>> Hi Ken,
>>
>> I think this is useful. But I'm not really happy with adding the ivar to
>> BoxedMorph. I reviewed the immediate subclasses of BoxedMorph, and on a
>> quick look...
>>
>> Classes where 'padding' makes sense:
>> HoverHelpMorph
>> ImageMorph
>> LabelMorph
>> LayoutMorph
>> MenuMorph
>> PluggableMorph
>> TextParagraphMorph
>> TranscriptMorph
>>
>> Classes where 'padding' doesn't make sense:
>> AutoCompleterMorph
>> DraggingGuideMorph
>> HaloHandleMorph
>> HaloMorph
>> HandMorph
>> InnerPluggableMorph
>> LayoutAdjustingMorph
>> MenuLineMorph
>> PasteUpMorph
>> ProgressBarMorph
>>
>> So, I think it would be better to add PaddedMorph as subclass of
>> BoxedMorph, with ivar 'padding'. Then we could (pehaps gradually) change
>> the superclass of classes where we see the advantage, starting with your
>> code to enable the feature.
>>
>> Thoughts?
>>
>> Thanks,
>>
>> --
>> Juan Vuletich
>> cuis.st
>> github.com/jvuletich
>> researchgate.net/profile/Juan-Vuletich
>> independent.academia.edu/JuanVuletich
>> patents.justia.com/inventor/juan-manuel-vuletich
>> linkedin.com/in/juan-vuletich-75611b3
>> twitter.com/JuanVuletich
>>
>
--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich
More information about the Cuis-dev
mailing list