From 3455f93e28e9e90f14399fa39645f4614634a53a Mon Sep 17 00:00:00 2001 From: Erik Lumme Date: Wed, 13 Sep 2017 10:48:29 +0300 Subject: [PATCH] Migrate ChangingThemeOnTheFly --- .../articles/ChangingThemeOnTheFly.asciidoc | 35 +++++++++++++++++++ documentation/articles/contents.asciidoc | 1 + 2 files changed, 36 insertions(+) create mode 100644 documentation/articles/ChangingThemeOnTheFly.asciidoc diff --git a/documentation/articles/ChangingThemeOnTheFly.asciidoc b/documentation/articles/ChangingThemeOnTheFly.asciidoc new file mode 100644 index 0000000000..9f0722f383 --- /dev/null +++ b/documentation/articles/ChangingThemeOnTheFly.asciidoc @@ -0,0 +1,35 @@ +[[changing-theme-on-the-fly]] +Changing theme on the fly +------------------------- + +Starting from Vaadin 7.3, you can change themes in the application +without reloading the page. To do this, simply use the +`UI.setTheme(String)` method. + +[source,java] +.... +public class ThemeChangeUI extends UI { + + private String[] themes = { "valo", "reindeer", "runo", "chameleon" }; + + @Override + protected void init(VaadinRequest request) { + ComboBox themePicker = new ComboBox("Theme", Arrays.asList(themes)); + themePicker.setValue(getTheme()); + + themePicker.addValueChangeListener(new ValueChangeListener() { + @Override + public void valueChange(ValueChangeEvent event) { + String theme = (String) event.getProperty().getValue(); + setTheme(theme); + } + }); + + setContent(themePicker); + } +} +.... + +In this way, you can let your users choose the look of your application. +The functionality also makes it easier to create applications that are +branded for different customers. diff --git a/documentation/articles/contents.asciidoc b/documentation/articles/contents.asciidoc index 90eb33e442..dfc2790ffe 100644 --- a/documentation/articles/contents.asciidoc +++ b/documentation/articles/contents.asciidoc @@ -66,5 +66,6 @@ are great, too. - link:ValoThemeGettingStarted.asciidoc[Valo theme - Getting started] - link:UseTooltipsToClarifyFunctions.asciidoc[Use tooltips to clarify functions] - link:EnableAndDisableButtonsToIndicateState.asciidoc[Enable and disable buttons to indicate state] +- link:ChangingThemeOnTheFly.asciidoc[Changing theme on the fly] - link:CreatingAUIExtension.asciidoc[Creating a UI extension] - link:CreatingAThemeUsingSass.asciidoc[Creating a theme using Sass] -- 2.39.5