My apologies if this has been raised before.
The default Xojo theme, is superseded by a third party or custom bootstrap theme when we drag and drop the new themes bootstrap.min.css file into the Navigator. I believe, the new theme must be named bootstrap.min.css to be recognised by the IDE (as a valid theme). This may suggest we are restricted to one-theme-at-a-time.
I had hoped, I could offer end-users a choice of themes by selecting from a curated (Note 1) list of themes whilst using our apps. No different in theory than visiting say https://bootswatch.com/ and previewing a handful of themes.
Note 1: curated in the sense, that all listed themes play nicely with our web apps.
Is such an implementation now possible? I have a few ideas but I’m a little unsure how to approach it…
Switching themes at runtime is not possible at the moment. Primarily because controls change in size so much from theme to theme and your layouts would be completely broken.
Switching themes at runtime is not possible at the moment.
Thank you for clarifying Greg. (not important - just considering some possibilities of theming)
your layouts would be completely broken
You are likely correct, however I have tested a WebPage (layout) after individually loading each of the 21 themes on bootswatch and whilst sizing does vary, my example WebPage did survive.
If it were possible (at some later point), I would, of course, test each theme for compatibility with my WebPage (layout).
Kind regards, Andrew
What you can do today is change the theme at build time. If you had a template app that you wanted to sell to multiple customers, you can build once and just put a different copy of bootstrap.min.css in the resources directory. It should just pick it up at runtime.
Would be great a “per app” theme that could be overridden by a “per page” theme at design time. Drag the theme (or use a “Load app Theme” menu option) to a non webpage parented object and it becomes the global one, the same (or use the menu “load page theme”) to a webpage parented object and it becomes that specific page theme.