Fancy "TextEdit" thing: create new C++ module like TextEdit, or use GDScript with existing nodes?

bzm3rbzm3r Posts: 2Member

I want to make something similar to the TextEdit node, but allowing for the following options:

Artistic stuff:
1) text effects: allow for "glowing" text (like on an old-school console)

GUI stuff:
2) drag and drop of words in a sentence: e.g. original sentence is "cat kissed dog", user pulls "dog" over to where cat is sitting, and then cat automagically animates itself over to where dog is, so that new sentence is now "dog kissed cat"

3) novel representation of "text": just making up an example here, but maybe I design things so that after a sentence like "cat kissed dog" is typed, it is is transformed into a tree like:

       /          \
      /            \
    cat         dog

Input stuff:
3) user types in a "keyword", denoted by a special character at the start (e.g. a forward slash is the special character, so the keywords would be \dog, or \cat), and the keywords are checked to see if they are "known", if they are known, special things might happen (e.g. \dog might be replaced by a sprite of a dog

Editor stuff:
4) custom syntax highlighting? e.g. cat kissed dog is displayed so that "kissed" is bold, and "cat" and "dog" are both pink

5) custom autocompletion? e.g. user starts typing "do", and an autocompletion bar shows "dog, dolphin, doughnut"

6) tightly controlled editing: by this I mean that I don't want the user to be able to "free type" wherever they want like in a normal multi-line text document, but instead I want to be able to control WHERE what they type shows up. For example:

User first types:

cat kissed dog

User hits enter, and cat kissed dog is auto-indented, and a "THEN" is automatically added to the next line:

               cat kissed dog
    THEN  <new cursor position>

I am fairly new to Godot (I have completed the tutorials though), and I am having trouble how to organize nodes/scenes in order to achieve the type of things I mention above. Could you help me "imagine"/plan?

Sign In or Register to comment.