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 TextField temp = new TextField("Test"); 58 temp.setMaxHeight(25); 59 temp.setMaxWidth(50); 60 return temp; 61 } 62 }), 63 Radio(new DefaultFactory() { 64 65 @Override 66 public Parent createControl() { 67 return new RadioButton("Test"); 68 } 69 }), 70 CheckBox(new DefaultFactory() { 71 72 @Override 73 public Parent createControl() { 74 return new CheckBox("Test"); 75 } 76 }), 77 Label(new DefaultFactory() { 78 79 @Override 80 public Parent createControl() { 81 StackPane value = new StackPane(); 82 83 Label label = new Label("Test"); 84 value.getChildren().add(label); 85 86 return value; 87 } 88 }), 89 TitledPane(new DefaultFactory() { 90 91 @Override 92 public Parent createControl() { 93 TitledPane temp = new TitledPane(); 94 temp.setText("Test"); 95 temp.setMaxWidth(200); 96 temp.setMaxHeight(200); 97 return temp; 98 } 99 }), 100 ToolBar(new DefaultFactory() { 101 102 @Override 103 public Parent createControl() { 104 return new ToolBar(new Button("Test")); 105 } 106 }), 107 Menu(new DefaultFactory() { 108 109 @Override 110 public Parent createControl() { 111 Menu m = new Menu("Text1"); 112 m.getItems().addAll(new MenuItem("Text2")); 113 return new MenuBar(m); 114 } 115 }), ListView(new DefaultFactory() { 116 117 @Override 118 public Parent createControl() { 119 ListView listView = new ListView(); 120 listView.getItems().addAll(FXCollections.observableArrayList((Object)"Test")); 121 listView.setMaxHeight(150); 122 listView.setMaxWidth(150); 123 return listView; 124 } 125 }), TableView(new DefaultFactory() { 126 127 @Override 128 public Parent createControl() { 129 TableView tableView = new TableView(); 130 // tableView.getColumns().addAll(TableColumnBuilder.create() 131 // .minWidth(50) 132 // .cellValueFactory(new PropertyValueFactory("test")) 133 // .text("Test") 134 // .build()); 135 TableColumn tableColumn = new TableColumn("Text"); 136 tableColumn.setMinWidth(50); 137 tableColumn.setCellValueFactory(new PropertyValueFactory("test")); 138 tableView.getColumns().add(tableColumn); 139 System.err.println("TableColumnFactory is temporarily modifier. Please, review once http://javafx-jira.kenai.com/browse/RT-27027 is resolved."); 140 141 tableView.getItems().addAll(FXCollections.observableArrayList((Object)new TestTableItem())); 142 tableView.setMaxHeight(150); 143 tableView.setMaxWidth(150); 144 return tableView; 145 } 146 }), 147 148 Accordion(new DefaultFactory() { 149 150 @Override 151 public Parent createControl() { 152 TitledPane expandedPane = new TitledPane("Test1", new Button("Test3")); 153 TitledPane otherPane = new TitledPane(); 154 otherPane.setText("Test2"); 155 Accordion temp = new Accordion(expandedPane, otherPane); 156 temp.setMaxHeight(200); 157 temp.setMaxWidth(200); 158 temp.setExpandedPane(expandedPane); 159 return temp; 160 } 161 }), 162 Slider(new DefaultFactory() { 163 164 @Override 165 public Parent createControl() { 166 Parent value = new Slider(); 167 ((Slider)value).setShowTickLabels(true); 168 ((Slider)value).setShowTickMarks(true); 169 ((Slider)value).setMaxWidth(150); 170 value.setId("TestSlider"); 171 return value; 172 } 173 }), 174 ProgressIndicator(new DefaultFactory() { 175 176 @Override 177 public Parent createControl() { 178 ProgressIndicator temp = new ProgressIndicator(0.02); 179 temp.setMaxHeight(50); 180 temp.setMaxWidth(50); 181 return temp; 182 } 183 }) 184 ; 185 186 private Factory factory; 187 188 private Factories(Factory factory) { 189 this.factory = factory; 190 } 191 192 public Parent createControl(boolean lcd) { 193 return factory.createControl(lcd); 194 } 195 196 } 197