Just curious if there are any resources, plugins that will quickly help \create a short wizard, tutorial or guided tour that prompts users through various menus/buttons in a XOJO app.
So click on floating menu of topics and then it prompts user for each action to complete with pointing/highlighting buttons etc.
Yes… I could build but wondering if there is a generic scripting tool, along with supporting text that can be built as template to reuse portions.
For something simple, you can use the tooltip class, but it is not native and looks awful on windows.
Easieast way, create a window with no borders, put the text and images there, you can use a single canvas that covers all the window and draw there. Show the window as modal and move it acordingly:
Yes, this means you have to make all the positioning and drawing manually.
If you want momething fancier, use declares to create custom shaped windows.
I create similar guides or transaction checklists in my Xojo Web projects using the Alert controls from GraffitiSuite.
I have a switch on each webpage to toggle on/off assistance/guidance for users.
So for instance if a user is creating a Sales Proposal and the guides are switched on, all steps in process appear as numbered alerts and are dismissed as each step is completed. So Step 1 may be to enter a Project Name - the alert will contain a advice or instructions for completing that step. When a project name is completed based on the rules applied to it, it’s alert will be dismiss (based on a TextChanged event in the related WebTextField.
The Alerts in GraffitiSuite have excellent styling and positioning. I usually push them to the right of the window. Just be careful to include some code to remember where a user is up to in a process if they navigate away then come back (I store incomplete transaction data in the session including the status of the guides).
Since adding the guides support tickets have all but evaporated. It does take some time to implement first time around but you get quicker.
I actually worked on my own implementation of Intro.js a while back, but had to move on to other more pressing things. Thanks to @Lars_Lehmann for sharing! You should also be wary of Intro.js licensing, as you need to purchase an appropriate license to use it in commercial products.
The only way I was able to achieve somewhat of a guided tour was to have small help buttons placed throughout my application. Then I created “plain box” windows, turned all frame options like Close, Maximize etc… to false so I’m left with just a plain rectangle window and fill it with whatever info the user should need using a label. then I use the mouse enter and exit events to call on the window and close.
Please bare in mind that I am very new to xojo, I hope this helps in some way.
Robin
EDIT, I didn’t see Ivan’s posted above, apologies!
I was curious if its possible to implement this functionality into the Desktop environment. So I started a little project to port some of the functions of intro.js to a desktop app.
Took me about 3.5 hours of work. It feels a bit rough due to the fact that there are no animations. If I have time later I’ll implement it with AnimationKit of @Thom_McGrath to smoothen everything a bit.
A Screencast is in the Repo. Heres an excerpt from Github Repo Readme:
Xojo-Intro implements a simple way to build step-by-step tutorials in Xojo destop applications
You can control the colors of your intros by altering the background color properties of the controls under Intro->UI
The IntroHandler will always try to display the IntoContainer in a good position next to the highlighted Control. In case that there’s not enough space on your layout, it will display a messagebox
You can use all sorts of regular UI controls, which inherit from RectControl, but also Window and ContainerControl is possible
Controls inside nested ContainerControls will work as well
Ideas and todo
Add ControlArrays to highlight more than one Control (currently only possible by using ContainerControls)
Make use of the AnimationKit to smoothen the things a bit
More configurations of the whole thing would be a good thing.
Contribute
I don’t plan to put much effort into this project. It was a fun little thing which I developed in three hours. But since I’m not really using Xojo desktop, I wouldn’t make use of it in the future.
So feel free to pull the code, extend it and send your improvements in a PullRequest/MergeRequest. It’s now up to you to make this basic thing better.