You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Sliders.java 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. /*
  2. * Copyright 2000-2014 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.tests.themes.valo;
  17. import com.vaadin.navigator.View;
  18. import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
  19. import com.vaadin.shared.ui.slider.SliderOrientation;
  20. import com.vaadin.ui.HorizontalLayout;
  21. import com.vaadin.ui.Label;
  22. import com.vaadin.ui.ProgressBar;
  23. import com.vaadin.ui.Slider;
  24. import com.vaadin.ui.VerticalLayout;
  25. public class Sliders extends VerticalLayout implements View {
  26. public Sliders() {
  27. setMargin(true);
  28. Label h1 = new Label("Sliders");
  29. h1.addStyleName("h1");
  30. addComponent(h1);
  31. HorizontalLayout row = new HorizontalLayout();
  32. row.addStyleName("wrapping");
  33. row.setSpacing(true);
  34. addComponent(row);
  35. Slider slider = new Slider("Horizontal");
  36. slider.setValue(50.0);
  37. row.addComponent(slider);
  38. slider = new Slider("Horizontal, sized");
  39. slider.setValue(50.0);
  40. slider.setWidth("200px");
  41. row.addComponent(slider);
  42. slider = new Slider("Custom handle");
  43. slider.setValue(50.0);
  44. slider.setWidth("200px");
  45. slider.addStyleName("color1");
  46. row.addComponent(slider);
  47. slider = new Slider("Custom track");
  48. slider.setValue(50.0);
  49. slider.setWidth("200px");
  50. slider.addStyleName("color2");
  51. row.addComponent(slider);
  52. slider = new Slider("Custom indicator");
  53. slider.setValue(50.0);
  54. slider.setWidth("200px");
  55. slider.addStyleName("color3");
  56. row.addComponent(slider);
  57. slider = new Slider("No indicator");
  58. slider.setValue(50.0);
  59. slider.setWidth("200px");
  60. slider.addStyleName("no-indicator");
  61. row.addComponent(slider);
  62. slider = new Slider("With ticks (not in IE8 & IE9)");
  63. slider.setValue(3.0);
  64. slider.setWidth("200px");
  65. slider.setMax(4);
  66. slider.addStyleName("ticks");
  67. row.addComponent(slider);
  68. slider = new Slider("Toggle imitation");
  69. slider.setWidth("50px");
  70. slider.setResolution(0);
  71. slider.setMin(0);
  72. slider.setMax(1);
  73. row.addComponent(slider);
  74. slider = new Slider("Vertical");
  75. slider.setValue(50.0);
  76. slider.setOrientation(SliderOrientation.VERTICAL);
  77. row.addComponent(slider);
  78. slider = new Slider("Vertical, sized");
  79. slider.setValue(50.0);
  80. slider.setOrientation(SliderOrientation.VERTICAL);
  81. slider.setHeight("200px");
  82. row.addComponent(slider);
  83. slider = new Slider("Custom handle");
  84. slider.setValue(50.0);
  85. slider.setHeight("200px");
  86. slider.addStyleName("color1");
  87. slider.setOrientation(SliderOrientation.VERTICAL);
  88. row.addComponent(slider);
  89. slider = new Slider("Custom track");
  90. slider.setValue(50.0);
  91. slider.setHeight("200px");
  92. slider.addStyleName("color2");
  93. slider.setOrientation(SliderOrientation.VERTICAL);
  94. row.addComponent(slider);
  95. slider = new Slider("Custom indicator");
  96. slider.setValue(50.0);
  97. slider.setHeight("200px");
  98. slider.addStyleName("color3");
  99. slider.setOrientation(SliderOrientation.VERTICAL);
  100. row.addComponent(slider);
  101. slider = new Slider("No indicator");
  102. slider.setValue(50.0);
  103. slider.setHeight("200px");
  104. slider.addStyleName("no-indicator");
  105. slider.setOrientation(SliderOrientation.VERTICAL);
  106. row.addComponent(slider);
  107. slider = new Slider("With ticks");
  108. slider.setValue(3.0);
  109. slider.setHeight("200px");
  110. slider.setMax(4);
  111. slider.addStyleName("ticks");
  112. slider.setOrientation(SliderOrientation.VERTICAL);
  113. row.addComponent(slider);
  114. slider = new Slider("Disabled");
  115. slider.setValue(50.0);
  116. slider.setEnabled(false);
  117. row.addComponent(slider);
  118. h1 = new Label("Progress Bars");
  119. h1.addStyleName("h1");
  120. addComponent(h1);
  121. row = new HorizontalLayout();
  122. row.addStyleName("wrapping");
  123. row.setSpacing(true);
  124. addComponent(row);
  125. pb = new ProgressBar();
  126. pb.setCaption("Default");
  127. pb.setWidth("300px");
  128. // pb.setValue(0.6f);
  129. row.addComponent(pb);
  130. pb2 = new ProgressBar();
  131. pb2.setCaption("Point style");
  132. pb2.setWidth("300px");
  133. pb2.addStyleName("point");
  134. // pb2.setValue(0.6f);
  135. row.addComponent(pb2);
  136. if (!ValoThemeUI.isTestMode()) {
  137. ProgressBar pb3 = new ProgressBar();
  138. pb3.setIndeterminate(true);
  139. pb3.setCaption("Indeterminate");
  140. row.addComponent(pb3);
  141. }
  142. }
  143. float progress = 0;
  144. Thread update = new Thread() {
  145. @Override
  146. public void run() {
  147. while (true) {
  148. try {
  149. Thread.sleep(1000);
  150. getUI().access(new Runnable() {
  151. @Override
  152. public void run() {
  153. pb.setValue(progress);
  154. pb2.setValue(progress);
  155. if (progress > 1) {
  156. progress = 0;
  157. } else {
  158. progress += 0.2 * Math.random();
  159. }
  160. }
  161. });
  162. } catch (InterruptedException e) {
  163. break;
  164. }
  165. }
  166. };
  167. };
  168. private ProgressBar pb;
  169. private ProgressBar pb2;
  170. @Override
  171. public void enter(ViewChangeEvent event) {
  172. if (!ValoThemeUI.isTestMode()) {
  173. getUI().setPollInterval(1000);
  174. update.start();
  175. } else {
  176. pb.setValue(0.3f);
  177. pb2.setValue(0.6f);
  178. }
  179. }
  180. @Override
  181. public void detach() {
  182. if (!ValoThemeUI.isTestMode()) {
  183. getUI().setPollInterval(-1);
  184. update.interrupt();
  185. }
  186. super.detach();
  187. }
  188. }