1 /* 2 * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 */ 24 package test.scenegraph.lcd.controls; 25 26 import javafx.collections.FXCollections; 27 import javafx.scene.Parent; 28 import javafx.scene.control.*; 29 import javafx.scene.control.cell.PropertyValueFactory; 30 import javafx.scene.layout.StackPane; 31 import org.jemmy.fx.NodeDock; 32 33 /** 34 * 35 * @author Alexander Petrov 36 */ 37 public enum Factories implements Factory{ 38 39 Button(new DefaultFactory() { 40 41 @Override 42 public Parent createControl() { 43 return new Button("Test"); 44 } 45 }), 46 ToggleButton(new DefaultFactory() { 47 48 @Override 49 public Parent createControl() { 50 return new ToggleButton("Test"); 51 } 52 }), 53 TextField(new DefaultFactory() { 54 55 @Override 56 public Parent createControl() { 57 return TextFieldBuilder.create() 58 .text("Test") 59 .maxHeight(25) 60 .maxWidth(50) 61 .build(); 62 } 63 }), 64 Radio(new DefaultFactory() { 65 66 @Override 67 public Parent createControl() { 68 return new RadioButton("Test"); 69 } 70 }), 71 CheckBox(new DefaultFactory() { 72 73 @Override 74 public Parent createControl() { 75 return new CheckBox("Test"); 76 } 77 }), 78 Label(new DefaultFactory() { 79 80 @Override 81 public Parent createControl() { 82 StackPane value = new StackPane(); 83 84 Label label = new Label("Test"); 85 value.getChildren().add(label); 86 87 return value; 88 } 89 }), 90 TitledPane(new DefaultFactory() { 91 92 @Override 93 public Parent createControl() { 94 return TitledPaneBuilder.create() 95 .text("Test") 96 .maxWidth(200) 97 .maxHeight(200) 98 .build(); 99 } 100 }), 101 ToolBar(new DefaultFactory() { 102 103 @Override 104 public Parent createControl() { 105 return new ToolBar(ButtonBuilder.create().text("Test").build()); 106 } 107 }), 108 Menu(new DefaultFactory() { 109 110 @Override 111 public Parent createControl() { 112 113 return MenuBarBuilder.create() 114 .menus( 115 MenuBuilder.create() 116 .text("Text1") 117 .items( 118 MenuItemBuilder 119 .create() 120 .text("Text2") 121 .build()) 122 .build()) 123 .build(); 124 } 125 }), ListView(new DefaultFactory() { 126 127 @Override 128 public Parent createControl() { 129 ListView listView = new ListView(); 130 listView.getItems().addAll(FXCollections.observableArrayList((Object)"Test")); 131 listView.setMaxHeight(150); 132 listView.setMaxWidth(150); 133 return listView; 134 } 135 }), TableView(new DefaultFactory() { 136 137 @Override 138 public Parent createControl() { 139 TableView tableView = new TableView(); 140 // tableView.getColumns().addAll(TableColumnBuilder.create() 141 // .minWidth(50) 142 // .cellValueFactory(new PropertyValueFactory("test")) 143 // .text("Test") 144 // .build()); 145 TableColumn tableColumn = new TableColumn("Text"); 146 tableColumn.setMinWidth(50); 147 tableColumn.setCellValueFactory(new PropertyValueFactory("test")); 148 tableView.getColumns().add(tableColumn); 149 System.err.println("TableColumnFactory is temporarily modifier. Please, review once http://javafx-jira.kenai.com/browse/RT-27027 is resolved."); 150 151 tableView.getItems().addAll(FXCollections.observableArrayList((Object)new TestTableItem())); 152 tableView.setMaxHeight(150); 153 tableView.setMaxWidth(150); 154 return tableView; 155 } 156 }), 157 158 Accordion(new DefaultFactory() { 159 160 @Override 161 public Parent createControl() { 162 TitledPane expandedPane = TitledPaneBuilder.create() 163 .text("Test1") 164 .content(new Button("Test3")) 165 .build(); 166 return AccordionBuilder.create() 167 .maxHeight(200) 168 .maxWidth(200) 169 .panes(expandedPane, 170 TitledPaneBuilder.create() 171 .text("Test2") 172 .build()) 173 .expandedPane(expandedPane) 174 .build(); 175 } 176 }), 177 Slider(new DefaultFactory() { 178 179 @Override 180 public Parent createControl() { 181 Parent value = SliderBuilder.create() 182 .showTickLabels(true) 183 .showTickMarks(true) 184 .maxWidth(150) 185 .id("TestSlider") 186 .build(); 187 return value; 188 } 189 }), 190 ProgressIndicator(new DefaultFactory() { 191 192 @Override 193 public Parent createControl() { 194 return ProgressIndicatorBuilder.create() 195 .maxHeight(50) 196 .maxWidth(50) 197 .progress(0.02) 198 .build(); 199 } 200 }) 201 ; 202 203 private Factory factory; 204 205 private Factories(Factory factory) { 206 this.factory = factory; 207 } 208 209 public Parent createControl(boolean lcd) { 210 return factory.createControl(lcd); 211 } 212 213 } 214