[squeak-dev] Inspector Custom Value Panes & Related

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Tue Sep 8 06:09:44 UTC 2020


Hi all, Hi Tobias,


does the attached changeset match your expectations? :-)


Best,

Christoph

<http://www.hpi.de/>
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Donnerstag, 3. September 2020 15:56:49
An: squeak-dev
Betreff: Re: [squeak-dev] Inspector Custom Value Panes & Related

Plus, TextFontReference is a rather fixed pointer to a specific font and size, which breaks when using Squeak's notion of High-DPI with bigger fonts in general. TextFontChange works better with its index. And so does TextEmphasis for italic.

Best,
Marcel

Am 03.09.2020 15:53:35 schrieb Tobias Pape <das.linux at gmx.de>:

Hi
> On 03.09.2020, at 15:04, Thiede, Christoph wrote:
>
> Hi Tobias,
>
> > Also, I don't see how two font refs can ever be stacked, it makes not much sense, no?
>
> That was exactly my point. 'foo' asText beAllFont: font1; beAllFont: font2 does not make any sense, of course, but when a text is passed from somewhere else, you may not know which formatting has already been applied to it ...

That is true. But if you want to change the font, there's only so much you can do.
If you want just change an upright font to an italic one, the FontReference will not work in any case.
The TextFontChange attribute is seemingly intended for that, but it only understands "Font array indices" which is most unhelpful :D

Best regards
-Tobias


>
> Best,
> Christoph
>
> Von: Squeak-dev im Auftrag von Tobias Pape
> Gesendet: Donnerstag, 3. September 2020 00:13:24
> An: The general-purpose Squeak developers list
> Betreff: Re: [squeak-dev] Inspector Custom Value Panes & Related
>
>
> > On 02.09.2020, at 23:29, Thiede, Christoph wrote:
> >
> > Hi Tobias, thanks for the tips! :-)
> >
> > > I think the "TextFontReference toFont:" and explicit "addAttribute:" are a bit involved; maybe something akin to Text>>#makeBoldFrom:to:/Text>>#allBold would be nice.
> >
> > Would you expect such a Text>>#setFont:from:to: only to add a TextFontReference or also to remove all existing TextFontReferences from the interval?
> >
>
> I'd be wary of using #set... because exactly that expectation happens.
> Vocabulary is cumbersome, tho.
> see TextMorph's _be_AllFont, Text's _make_Bold and the attributes only ever add.
>
> Also, I don't see how two font refs can ever be stacked, it makes not much sense, no?
> Coalescing the runs would probably take care of chopping up the different font runs, but that's beneath the cover.
>
> That said, I liked the Seaside/Magritte-wording with beSomething on their brushes or models respectively…
>
> Best regards
> -Tobias
>
> > Best,
> > Christoph
> > Von: Squeak-dev im Auftrag von Tobias Pape
> > Gesendet: Mittwoch, 2. September 2020 22:04:38
> > An: The general-purpose Squeak developers list
> > Betreff: Re: [squeak-dev] Inspector Custom Value Panes & Related
> >
> > Hi
> >
> > > On 02.09.2020, at 21:14, Thiede, Christoph wrote:
> > >
> > > Hi Eric,
> > >
> > > > I can't seem to find MorphInspector in a current (5.3 here) image. Is this a separate package?
> > >
> > > MorphInspector, FormInspector, and a bunch of other small new improvements to the inspector framework have arrived in the Squeak Trunk just a few months ago! Seehttp://forum.world.st/Please-try-out-Inspector-Refactoring-td5114974.html andhttps://squeak.org/downloads/#current-trunk-image-2:~:text=Current-,Trunk,-Image :-)
> > >
> > > > I find the whole relationship between a Text and TextStyle a bit confusing, especially where it comes to setting Fonts. It appears that there are lots of different "kinds" of Fonts, and there's a good amount of indirection so it's difficult to determine which kind of fonts (StrikeFont? TTFont?) "live" and how to see what's available and pick programmatically. Is there a good primer somewhere on Text/TextStyle?
> > >
> > > These are good questions others can probably answer better than I could do.
> > > This is all I can tell you:
> > > • Font rendering in Squeak is difficult and the default font (DejaVu Sans) appears to be the only one that looks kind of nice in all sizes. I almost never choose a different font.
> > > • To change the font in a Text, use something like:
> > > 'foo' asText
> > > addAttribute: (TextFontReference toFont: (StrikeFont
> > > familyName: 'Darkmap DejaVu Sans'
> > > pointSize: 20));
> > > openAsMorph
> >
> > I'd suggest to use the TextStyle indirection, so you don't have to guess wether the font is a Strike font or a TTFont or whatever:
> >
> > 'foo' asText
> > addAttribute: (TextFontReference toFont: ((TextStyle named: 'Darkmap DejaVu Sans') fontOfSize: 20));
> > openAsMorph
> >
> >
> > If you are just after changing the font used in a TextMorph (not the text itself), I'd use
> >
> > 'foo' asTextMorph
> > beAllFont: ((TextStyle named: 'Darkmap DejaVu Sans') fontOfSize: 20);
> > openInHand
> >
> >
> > That way, the name string can be easily exchanged, such as 'BitstreamVeraSans', or anything imported with the FontImporterTool
> >
> > I think the "TextFontReference toFont:" and explicit "addAttribute:" are a bit involved; maybe something akin to Text>>#makeBoldFrom:to:/Text>>#allBold would be nice.
> >
> >
> > Best regards
> > -Tobias
> >
> >
> > >
> > > > Also -- how can I disable editing of a TextMorph?
> > >
> > > See TextMorph >> #readOnly: or also Morph >> #lock to disable any interaction.
> > >
> > > Best,
> > > Christoph
> > > Von: Squeak-dev im Auftrag von Eric Gade
> > > Gesendet: Mittwoch, 2. September 2020 17:01:45
> > > An: The general-purpose Squeak developers list
> > > Betreff: Re: [squeak-dev] Inspector Custom Value Panes & Related
> > >
> > > Hi Christoph,
> > >
> > > On Tue, Sep 1, 2020 at 7:32 PM Christoph Thiede wrote:
> > >
> > > for displaying graphics in an inspector, have a look at MorphInspector (screenshot) or FormInspector (pixels). Custom interactive fields are not (yet?) supported, but in theory, you could subclass Inspector and override the relevant toolbuilder methods.
> > >
> > > I can't seem to find MorphInspector in a current (5.3 here) image. Is this a separate package?
> > >
> > >
> > > Regarding to your second question - why don't you use a TextMorphs? The composition of different formatting styles applied to a string is just what makes up a Text
> > >
> > > Aha, yes, I think I've looked into this before. I find the whole relationship between a Text and TextStyle a bit confusing, especially where it comes to setting Fonts. It appears that there are lots of different "kinds" of Fonts, and there's a good amount of indirection so it's difficult to determine which kind of fonts (StrikeFont? TTFont?) "live" and how to see what's available and pick programmatically. Is there a good primer somewhere on Text/TextStyle? Also -- how can I disable editing of a TextMorph?
> > >
> > > Thanks again



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200908/2886304c/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Text-emphasis.1.cs
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200908/2886304c/attachment.ksh>


More information about the Squeak-dev mailing list