As it comes, TextInputCanvas does not seem able to do a whole lot more than Canvas. I use Formatted Text Control in a couple of my apps. It is based on TextInputCanvas. I looked at the code. It appears TextInputCanvas is far from being usable out of the box. It certainly is not anything like TextArea.
I use the most recent version from MBS, BTW. Christian had posted a link, but I could not locate the post.
In contrast to the Canvas Control, the TextInputCanvas Control offers the possibility to program modern text input controls. This is not possible with the Canvas Control.
Well, I deliberately chose this title because Xojo could use the opportunity to add this as a “new directly integrated” control to users using TextInputCanvas as well, in addition to the “new” desktop controls.
The TextInputCanvas is free of charge. You must have bought something else. What I agree with is that the control is not very visibly documented. However, if you read the source code, you will find a lot of info, although not all useful, in the form of comments.
As examples: Xojo’s own code editor in the IDE is based on TextInputCanvas, the Formatted Text Control is based on it, and as you could see from @GarryPettet’s posts lately, he is also developing a text editor based on TextInputCanvas. I’m sure there are a few more who have written controls based on TextInputCanvas, as it is essential, in my view, for the development of text input controls.
The Text Input Canvas (TIC) plugin from Xojo is the only way to get proper text handling in a Canvas class. In reality, the move to Cocoa from Carbon really messed a good thing up. The old canvas text handling was easy but since Cocoa has so many buzzers and bells there was no way that Xojo could retrofit what it needed into the control. Voila! The Text Input Canvas Plugin was born out of necessity.
If you work with Canvas objects that need text handling in Real Studio/Xojo Cocoa builds you quickly realize that it works vastly different than in Carbon builds. This is because Carbon apps (through Apple Text Services) gives you a bunch of information for free. In Cocoa only text controls get that information and that presents some issues to Xojo developers creating custom controls that do keyboard handling.
Xojo released an open source plugin on Friday for those who want to create custom text controls with international support (and integration with some Cocoa features).
From another forum (the link may not be posted here as it violates Xojo’s forum rules)
TIC is a canvas with extra code for handling text input delegate methods
The IDE’s code editor. But that’s a bit misleading. It’s really a canvas that does not inherit from canvas and has additional events for handling text input and selection. These are things that appear simple on the surface (“just handle key down”) but really are not. You’ll never get good text input without it.
The problem is the plug-in is undocumented, unmaintained, and the latest compiled version available is one I ended up paying Christian to build it. I believe others contributed to the cost too.
Even with the poor documentation, what we really need is a true canvas subclass with these added events.
So, nine days have passed since the opening of this topic. Unfortunately, until today none of the more directly addressed Xojo employees has responded to this topic.
In full awareness that the survey result is not representative, it can be stated that there is a desire among the survey participants to integrate the TextInputCanvas control into the Xojo IDE.
Since no one from Xojo has commented here yet, I have privately asked the head of Xojo directly about it.
He made it pretty clear that the result is irrelevant until the official feedback case is in the top 10 user feedback cases. Sad, especially considering that energy and time is spent on bringing “new desktop controls” to the IDE. My feeling was and is that already due to the fact that the TextInputCanvas is a plugin, the integration into the IDE should not take further time, because e.g. also the SearchField and DatePicker control are in Xojo not other than plugins. A look in the Xojo program folder confirms this. And even if the feedback case would make it into the top 10, this would be far from a guarantee for a timely implementation as an official control.
My suggestion to name me a sum x, which would have to be raised, so that Xojo integrates the control into the IDE was unfortunately rejected and remained in detail also unanswered. My suggestion was that the members of the community, who also want this control in the IDE, could have donated together an amount to raise this sum. Too bad, because other features were implemented by “special payments” from users.
Oh well. What remains? The wish and the possibility to support the feedback cases from the first post of this topic and thus influence the ranking, hoping that Xojo will take a step towards us after all.
In Xojo’s defense that is the metric which they are using to develop the roadmap. Although the RM may move slower than many of us would like or some of us would prefer a “different” roadmap, Xojo has to pick some method and the method they have is user driven. To me, all the Mac stuff dominated the top for ages and the android stuff as well. Neither one interest me at all, but the Window’s 10 and 11 UI definitely does (finally!!). I would not want that side-tracked for this canvas control - as cool as it sounds.
You should start playing with TextInputCanvas as it is available right now, before requesting it to become part of the Library. It is extremely far from being as readily usable as regular Xojo controls.
Oh trust me, I did. I‘m deep into this Control as I’m worked for a company which sold a popular control based on it. Any modern text input controls are simply impossible without the TextInputCanvas in Xojo, otherwise Xojo itself would not have coded this plugin, since they need it even for their code editor. After all, there was a reason why Microsoft abandoned RealBasic when developing Word for macOS…