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 * questions.
24 */
25
26 package com.sun.javafx.scene.control.skin;
27
28 import javafx.scene.control.TableCell;
29
30 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
31 import javafx.beans.property.BooleanProperty;
32 import javafx.beans.property.ReadOnlyDoubleProperty;
33 import javafx.scene.control.TableColumn;
34
35 /**
36 */
37 public class TableCellSkin<S,T> extends TableCellSkinBase<TableCell<S,T>, TableCellBehavior<S,T>> {
38
39 private final TableColumn<S,T> tableColumn;
40
41 public TableCellSkin(TableCell<S,T> tableCell) {
42 super(tableCell, new TableCellBehavior<S,T>(tableCell));
43
44 this.tableColumn = tableCell.getTableColumn();
45
46 super.init(tableCell);
47 }
48
49 @Override protected BooleanProperty columnVisibleProperty() {
50 return tableColumn.visibleProperty();
51 }
52
53 @Override protected ReadOnlyDoubleProperty columnWidthProperty() {
54 return tableColumn.widthProperty();
55 }
56 }
|
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 * questions.
24 */
25
26 package javafx.scene.control.skin;
27
28 import com.sun.javafx.scene.control.behavior.BehaviorBase;
29 import javafx.scene.Node;
30 import javafx.scene.control.Accordion;
31 import javafx.scene.control.Button;
32 import javafx.scene.control.Control;
33 import javafx.scene.control.TableCell;
34
35 import com.sun.javafx.scene.control.behavior.TableCellBehavior;
36 import javafx.beans.property.BooleanProperty;
37 import javafx.beans.property.ReadOnlyDoubleProperty;
38 import javafx.scene.control.TableColumn;
39
40 /**
41 * Default skin implementation for the {@link TableCell} control.
42 *
43 * @see TableCell
44 * @since 9
45 */
46 public class TableCellSkin<S,T> extends TableCellSkinBase<TableCell<S,T>> {
47
48 /***************************************************************************
49 * *
50 * Private Fields *
51 * *
52 **************************************************************************/
53
54 private final BehaviorBase<TableCell<S,T>> behavior;
55
56
57
58 /***************************************************************************
59 * *
60 * Constructors *
61 * *
62 **************************************************************************/
63
64 /**
65 * Creates a new TableCellSkin instance, installing the necessary child
66 * nodes into the Control {@link Control#getChildren() children} list, as
67 * well as the necessary input mappings for handling key, mouse, etc events.
68 *
69 * @param control The control that this skin should be installed onto.
70 */
71 public TableCellSkin(TableCell<S,T> control) {
72 super(control);
73
74 // install default input map for the TableCell control
75 behavior = new TableCellBehavior<>(control);
76 // control.setInputMap(behavior.getInputMap());
77 }
78
79
80
81 /***************************************************************************
82 * *
83 * Public API *
84 * *
85 **************************************************************************/
86
87 /** {@inheritDoc} */
88 @Override public void dispose() {
89 super.dispose();
90
91 if (behavior != null) {
92 behavior.dispose();
93 }
94 }
95
96 /** {@inheritDoc} */
97 @Override BooleanProperty columnVisibleProperty() {
98 return getSkinnable().getTableColumn().visibleProperty();
99 }
100
101 /** {@inheritDoc} */
102 @Override ReadOnlyDoubleProperty columnWidthProperty() {
103 return getSkinnable().getTableColumn().widthProperty();
104 }
105 }
|