Text boxes

Well, the main thing is that they'll be readable and writeable both by the user interactively and by the program. I'd like the program to see the text as just text, not cluttered with html or whatever, even if there's html in the implementation. I see a need for two kinds of interaction. One is the text editor style, in which there's a body of text that you jump around and add to throughout the document. The other is the conversation style, in which new text is added at the end, and the stuff above there doesn't change. So if you start editing a line earlier in the document, it gets copied down to the bottom and your edits happen in the copy.

My ideas for this are based on what we implemented in Object Logo 30 years ago...

But you'll be able to choose fonts and colors and all that. I think a text box should be considered a costume, so that it can be attached to a sprite which can then move, turn, etc., around the stage.

But none of this is official! I'm guessing Jens will want something simpler, but I don't really know yet.

that just doesn't make sense to me.

which is making the quote above more confusing.

I don't even know what object logo is

Just search it up.

yes, but when I search them, there seem to be MORE words I don't know..

I understand your frustration. But, look, if you're trying to learn something you don't already understand, you have to be able to tolerate some temporary frustration. I'm not saying not to ask for explanations! But don't make it sound as if everyone else is conspiring to frustrate you.

So, just to clear it out of the way, Logo is a programming language for kids, the immediate ancestor of Scratch and so the indirect ancestor of Snap!. Object Logo was an advanced version of Logo, way ahead of its time, to which I was a minor contributor. (It's in the past tense because it was designed to be really fast, so it included a JIT compiler to the Motorola 68000 processor that was used in the very first Macs. So when Apple moved away from the 68000, Object Logo stopped working.) One reason Object Logo is important to us is that it was the source of the object system Snap! uses for sprites and their clones. But it also had a great design for text boxes that I want to reimplement for Snap!.

Okay, you don't actually have to know or care about Object Logo for the discussion of text boxes. What's a text box? Answer:
textbox
A picture is worth 1K words. :~)

Why do I want text boxes to be costumes? So that I can do this: untitled script pic
textbox
and, you know, move it around the stage, all the things you can do with sprites and their costumes.

So, does that answer the question about costumes?

What's left is the part about the two categories of text boxes. The first category is a text editor, just like the editing program you use all the time, TextEdit if you're a Mac user, or umm Notepad? if you're a Windows user. (If you're a Linux user you know what a text editor is... :~) )

The second category is an interactive conversation window:
UCBLogo001
In this sort of program it would be meaningless to insert text anywhere other than at the end of the conversation, and you want what the user types to be visually distinguished from what the program types.

Anything else?

Do You lwant something like this https://snap.berkeley.edu/snap/snap.html#present:Username=dardoro&ProjectName=HTMLDialog
HTMLDialog script pic (2)

HTMLDialog script pic (3)

HTMLDialog script pic (4)

HTMLDialog script pic (5)

Results stamped on stage.
Stage (12)

To get the rich text editor, "contenteditable" may be used.

HTMLDialog script pic (6)

The scrolling terminal requires some tweaks to be done. Pending...

Oh interesting. I hadn't thought of exposing underlying representations to the user. Remember that one use of this would be for the program to read text entered by the user, so that text should be just the meaning part -- the characters -- not the formatting part. I'm envisioning that the formatting part would be available too, somehow, on a character-by-character basis, as metadata, so a character that would ordinarily appear as "r" in a text string might be "r: blue 14 point Baskerville semibold italic" or something when read in some special way. The goal is for users not to have to write HTML (etc) parsers. But I suppose an alternate approach would be to have a just-the-text reporter that would take HTML (etc) as input and report just the meaningful bits. On the third hand, the program should be able to say "select characters 49 to 87 of the box" and have that selection be highlighted, so it has to be able to say that directly about the text box's data structure.

At the moment I'm thinking that it'd only support text, not green circles as in your example, for simplicity. (But of course a sprite wearing a text box could be attached to a sprite wearing a green circle.)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.