diff -r ececf104ffcc javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableRow.java --- a/javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableRow.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableRow.java Wed Nov 21 10:28:34 2012 -0800 @@ -25,6 +25,7 @@ package com.preview.javafx.scene.control; import com.sun.javafx.css.StyleManager; +import com.sun.javafx.scene.control.skin.TreeTableRowSkin; import java.lang.ref.WeakReference; import javafx.beans.InvalidationListener; import javafx.beans.Observable; @@ -312,7 +313,10 @@ } } - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TreeTableRowSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableView.java --- a/javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableView.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/preview/javafx/scene/control/TreeTableView.java Wed Nov 21 10:28:34 2012 -0800 @@ -26,7 +26,9 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import javafx.scene.control.Skin; import javafx.scene.control.TreeView; +import com.sun.javafx.scene.control.skin.TreeTableViewSkin; /** * @@ -52,4 +54,16 @@ public final ObservableList> getColumns() { return columns; } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TreeTableViewSkin(this); + } + } diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/AccordionSkin.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/AccordionSkin.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/AccordionSkin.java Wed Nov 21 10:28:34 2012 -0800 @@ -30,6 +30,7 @@ import javafx.collections.ListChangeListener; import javafx.scene.Node; import javafx.scene.control.Accordion; +import javafx.scene.control.Skin; import javafx.scene.control.TitledPane; import javafx.scene.shape.Rectangle; import javafx.scene.control.SkinBase; @@ -151,9 +152,14 @@ for(Node n: getSkinnable().getPanes()) { TitledPane tp = ((TitledPane)n); - TitledPaneSkin skin = (TitledPaneSkin) tp.getSkin(); - skin.setMaxTitledPaneHeightForAccordion(maxTitledPaneHeight); - double ph = snapSize(skin.getTitledPaneHeightForAccordion()); + Skin skin = tp.getSkin(); + double ph; + if (skin instanceof TitledPaneSkin) { + ((TitledPaneSkin)skin).setMaxTitledPaneHeightForAccordion(maxTitledPaneHeight); + ph = snapSize(((TitledPaneSkin)skin).getTitledPaneHeightForAccordion()); + } else { + ph = tp.prefHeight(w); + } tp.resize(w, ph); if (!resize && previousPane != null && expandedPane != null) { diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/DoubleField.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/DoubleField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/DoubleField.java Wed Nov 21 10:28:34 2012 -0800 @@ -3,6 +3,7 @@ import com.sun.javafx.scene.control.skin.InputField; import javafx.beans.property.DoubleProperty; import javafx.beans.property.SimpleDoubleProperty; +import javafx.scene.control.Skin; /** * @@ -23,4 +24,15 @@ public DoubleField() { getStyleClass().setAll("double-field"); } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new DoubleFieldSkin(this); + } } \ No newline at end of file diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java Wed Nov 21 10:28:34 2012 -0800 @@ -120,14 +120,16 @@ } } + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ - - - - - - - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new FXVKSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/InputField.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/InputField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/InputField.java Wed Nov 21 10:28:34 2012 -0800 @@ -4,11 +4,12 @@ import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Control; +import javafx.scene.control.Skin; /** * */ -class InputField extends Control { +abstract class InputField extends Control { /** * The default value for {@link #prefColumnCount}. */ @@ -91,7 +92,7 @@ getStyleClass().setAll("input-field"); } -// @Override protected String getUserAgentStylesheet() { + // @Override protected String getUserAgentStylesheet() { // return getClass().getResource("InputField.css").toExternalForm(); // } } \ No newline at end of file diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/IntegerField.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/IntegerField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/IntegerField.java Wed Nov 21 10:28:34 2012 -0800 @@ -2,6 +2,7 @@ import javafx.beans.property.IntegerProperty; import javafx.beans.property.SimpleIntegerProperty; +import javafx.scene.control.Skin; /** * @@ -30,4 +31,15 @@ getStyleClass().setAll("integer-field"); setMaxValue(maxVal); } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new IntegerFieldSkin(this); + } } \ No newline at end of file diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/SliderSkin.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/SliderSkin.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/SliderSkin.java Wed Nov 21 10:28:34 2012 -0800 @@ -224,7 +224,7 @@ thumbHeight = thumb.prefHeight(-1); thumb.resize(thumbWidth, thumbHeight); // we are assuming the is common radius's for all corners on the track - double trackRadius = track.getBackground().getFills().size() > 0 ? + double trackRadius = track.getBackground() == null ? 0 : track.getBackground().getFills().size() > 0 ? track.getBackground().getFills().get(0).getRadii().getTopLeftHorizontalRadius() : 0; if (getSkinnable().getOrientation() == Orientation.HORIZONTAL) { diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/WebColorField.java --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/WebColorField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/WebColorField.java Wed Nov 21 10:28:34 2012 -0800 @@ -3,6 +3,7 @@ import com.sun.javafx.scene.control.skin.InputField; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; +import javafx.scene.control.Skin; import javafx.scene.paint.Color; /** @@ -24,4 +25,15 @@ public WebColorField() { getStyleClass().setAll("webcolor-field"); } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new WebColorFieldSkin(this); + } } \ No newline at end of file diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css Wed Nov 21 10:28:34 2012 -0800 @@ -347,7 +347,6 @@ ** section that defines the following: ** ** ** ** .control-name { ** - ** -fx-skin: "com.sun.javafx.scene.control.skin.ControlNameSkin"; ** ** -fx-background-color: a, b, c, d ** ** -fx-background-insets: e, f, g, h ** ** -fx-background-radius: i, j, k, l ** @@ -468,7 +467,6 @@ ******************************************************************************/ .label { - -fx-skin: "com.sun.javafx.scene.control.skin.LabelSkin"; -fx-text-fill: -fx-text-background-color; } @@ -494,7 +492,6 @@ ******************************************************************************/ .button { - -fx-skin: "com.sun.javafx.scene.control.skin.ButtonSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; -fx-background-insets: 0 0 -1 0, 0, 1, 2; -fx-background-radius: 5, 5, 4, 3; @@ -540,7 +537,6 @@ ******************************************************************************/ .toggle-button { - -fx-skin: "com.sun.javafx.scene.control.skin.ToggleButtonSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; -fx-background-insets: 0 0 -1 0, 0, 1, 2; -fx-background-radius: 5, 5, 4, 3; @@ -601,7 +597,6 @@ ******************************************************************************/ .radio-button { - -fx-skin: "com.sun.javafx.scene.control.skin.RadioButtonSkin"; -fx-label-padding: 0.0em 0.0em 0.0em 0.416667em; /* 0 0 0 5 */ -fx-text-fill: -fx-text-background-color; } @@ -657,7 +652,6 @@ ******************************************************************************/ .check-box { - -fx-skin: "com.sun.javafx.scene.control.skin.CheckBoxSkin"; -fx-label-padding: 0.0em 0.0em 0.0em 0.416667em; /* 0 0 0 5 */ -fx-text-fill: -fx-text-background-color; } @@ -722,7 +716,6 @@ ******************************************************************************/ .hyperlink { - -fx-skin: "com.sun.javafx.scene.control.skin.HyperlinkSkin"; -fx-padding: 0.166667em; /* 2 */ -fx-cursor: hand; -fx-content-display: LEFT; @@ -762,7 +755,6 @@ ******************************************************************************/ .context-menu { - -fx-skin: "com.sun.javafx.scene.control.skin.ContextMenuSkin"; -fx-background-color: derive(-fx-color,-40%), derive(-fx-color,100%), @@ -800,7 +792,6 @@ ******************************************************************************/ .menu { -/* -fx-skin: "com.sun.javafx.scene.control.skin.MenuSkin";*/ -fx-background-color: transparent; -fx-padding: 0.333333em 0.666667em 0.333333em 0.666667em; /* 4 8 4 8 */ } @@ -861,7 +852,6 @@ * derive(-fx-base,-70%); #3e3e3e */ .menu-bar { - -fx-skin: "com.sun.javafx.scene.control.skin.MenuBarSkin"; -fx-padding: 0.0em 0.666667em 0.0em 0.666667em; /* 0 8 0 8 */ -fx-spacing: 0.166667em; /* 2 */ -fx-base: derive(#d0d0d0,-70%); @@ -911,7 +901,6 @@ ******************************************************************************/ .menu-item { -/* -fx-skin: "com.sun.javafx.scene.control.skin.MenuItemSkin";*/ -fx-background-color: transparent; -fx-padding: 0.333333em 0.41777em 0.333333em 0.41777em; /* 4 5 4 5 */ } @@ -1010,7 +999,6 @@ ******************************************************************************/ .choice-box { - -fx-skin: "com.sun.javafx.scene.control.skin.ChoiceBoxSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; -fx-background-insets: 0 0 -1 0, 0, 1, 2; -fx-background-radius: 5, 5, 4, 3; @@ -1083,10 +1071,6 @@ * * ******************************************************************************/ -.slider { - -fx-skin: "com.sun.javafx.scene.control.skin.SliderSkin"; -} - .slider > .thumb { -fx-background-color: derive(-fx-color,-36%), @@ -1152,10 +1136,6 @@ * * ******************************************************************************/ -.scroll-bar { - -fx-skin: "com.sun.javafx.scene.control.skin.ScrollBarSkin"; -} - .scroll-bar:horizontal { -fx-background-color: -fx-box-border, @@ -1309,7 +1289,6 @@ ******************************************************************************/ .scroll-pane { - -fx-skin: "com.sun.javafx.scene.control.skin.ScrollPaneSkin"; -fx-background-color: -fx-box-border,-fx-background; -fx-background-insets: 0, 1; -fx-padding: 1.0; @@ -1345,10 +1324,6 @@ * * ******************************************************************************/ -.separator { - -fx-skin: "com.sun.javafx.scene.control.skin.SeparatorSkin"; -} - .separator > .line { -fx-border-style: segments(0.166667em, 0.166667em); -fx-border-width: 0.083333em; /* 1 */ @@ -1385,7 +1360,6 @@ ******************************************************************************/ .text-field { - -fx-skin: "com.sun.javafx.scene.control.skin.TextFieldSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -1413,7 +1387,6 @@ ******************************************************************************/ .password-field { - -fx-skin: "com.sun.javafx.scene.control.skin.PasswordFieldSkin"; -fx-text-fill: -fx-text-inner-color; } @@ -1424,7 +1397,6 @@ ******************************************************************************/ .text-area { - -fx-skin: "com.sun.javafx.scene.control.skin.TextAreaSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -1486,7 +1458,6 @@ ******************************************************************************/ .list-view { - -fx-skin: "com.sun.javafx.scene.control.skin.ListViewSkin"; -fx-background-color: -fx-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1; @@ -1525,7 +1496,6 @@ } .list-cell { - -fx-skin: "com.sun.javafx.scene.control.skin.ListCellSkin"; -fx-background-color: -fx-control-inner-background; -fx-padding: 0.25em; /* 3 */ -fx-text-fill: -fx-text-inner-color; @@ -1604,7 +1574,6 @@ ******************************************************************************/ .tree-view { - -fx-skin: "com.sun.javafx.scene.control.skin.TreeViewSkin"; -fx-background-color: -fx-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1; @@ -1643,7 +1612,6 @@ } .tree-cell { - -fx-skin: "com.sun.javafx.scene.control.skin.TreeCellSkin"; -fx-background-color: -fx-control-inner-background; -fx-padding: 0.25em; /* 3 */ -fx-text-fill: -fx-text-inner-color; @@ -1742,7 +1710,6 @@ ******************************************************************************/ .menu-button { - -fx-skin: "com.sun.javafx.scene.control.skin.MenuButtonSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; -fx-background-insets: 0 0 -1 0, 0, 1, 2; -fx-background-radius: 5, 5, 4, 3; @@ -1808,7 +1775,6 @@ ******************************************************************************/ .split-menu-button { - -fx-skin: "com.sun.javafx.scene.control.skin.SplitMenuButtonSkin"; -fx-background-color: -fx-shadow-highlight-color; -fx-background-insets: 0 0 -1 0; -fx-background-radius: 5; @@ -1883,7 +1849,6 @@ ******************************************************************************/ .tooltip { - -fx-skin: "com.sun.javafx.scene.control.skin.TooltipSkin"; -fx-background-color: linear-gradient(#cec340, #a59c31), linear-gradient(#fefefc, #e6dd71), @@ -1915,10 +1880,6 @@ * * ******************************************************************************/ -.tool-bar { - -fx-skin: "com.sun.javafx.scene.control.skin.ToolBarSkin"; -} - .tool-bar:vertical { -fx-background: derive(-fx-base,-20%); -fx-background-color: @@ -1994,7 +1955,6 @@ ******************************************************************************/ .progress-bar { - -fx-skin: "com.sun.javafx.scene.control.skin.ProgressBarSkin"; -fx-background-color: -fx-box-border, linear-gradient(to bottom, derive(-fx-color,30%) 5%, derive(-fx-color,-17%)); @@ -2036,7 +1996,6 @@ ******************************************************************************/ .progress-indicator { - -fx-skin: "com.sun.javafx.scene.control.skin.ProgressIndicatorSkin"; -fx-progress-color: dodgerblue; } @@ -2087,7 +2046,6 @@ ******************************************************************************/ .table-view { - -fx-skin: "com.sun.javafx.scene.control.skin.TableViewSkin"; -fx-background-color: -fx-box-border, -fx-control-inner-background; -fx-background-insets: 0,1; @@ -2136,7 +2094,6 @@ /* Each row in the table is a table-row-cell. Inside a table-row-cell is any number of table-cell. */ .table-row-cell { - -fx-skin: "com.sun.javafx.scene.control.skin.TableRowSkin"; -fx-background-color: -fx-table-cell-border-color, -fx-control-inner-background; -fx-background-insets: 0, 0 0 1 0; -fx-padding: 0.0em; /* 0 */ @@ -2208,7 +2165,6 @@ } .table-cell { - -fx-skin: "com.sun.javafx.scene.control.skin.TableCellSkin"; -fx-padding: 0.166667em; /* 2px, plus border adds 1px */ -fx-background-color: transparent; @@ -2400,7 +2356,6 @@ ******************************************************************************/ .titled-pane { - -fx-skin: "com.sun.javafx.scene.control.skin.TitledPaneSkin"; -fx-text-fill: -fx-text-base-color; } @@ -2456,10 +2411,6 @@ * * ******************************************************************************/ -.accordion { - -fx-skin: "com.sun.javafx.scene.control.skin.AccordionSkin"; -} - .accordion > .titled-pane > .title { -fx-background-color: -fx-box-border, @@ -2517,7 +2468,6 @@ } .split-pane { - -fx-skin: "com.sun.javafx.scene.control.skin.SplitPaneSkin"; -fx-background-color: -fx-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1; -fx-padding: 1; @@ -2562,7 +2512,6 @@ ******************************************************************************/ .tab-pane { - -fx-skin: "com.sun.javafx.scene.control.skin.TabPaneSkin"; /* -fx-tab-min-width: 4.583em; 55 */ /* -fx-tab-max-width: 4.583em; 55 */ -fx-tab-min-height: 2em; /* 24 */ @@ -2570,7 +2519,6 @@ } .tab-pane > .tab-header-area > .headers-region > .tab > .tab-container > .tab-label { - -fx-skin: "com.sun.javafx.scene.control.skin.LabelSkin"; -fx-background-color: transparent; -fx-alignment: CENTER; -fx-text-fill: -fx-text-base-color; @@ -3034,7 +2982,6 @@ /* ------- MAIN BUTTON ------- */ .combo-box-base { - -fx-skin: "com.sun.javafx.scene.control.skin.ComboBoxBaseSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-outer-border, -fx-inner-border, -fx-body-color; -fx-background-radius: 5, 5, 4, 3; -fx-background-insets: 0 0 -1 0, 0, 1, 2; @@ -3125,9 +3072,6 @@ } /* -------------- STYLES FOR THE DEFAULT LISTVIEW-BASED COMBOBOX ------------- */ -.combo-box { - -fx-skin: "com.sun.javafx.scene.control.skin.ComboBoxListViewSkin"; -} /* Customie the ListCell that appears in the ComboBox button itself */ .combo-box > .list-cell { @@ -3164,9 +3108,6 @@ } /* -------------------------- STYLES FOR THE COLOR-PICKER CONTROL ----- */ -.color-picker { - -fx-skin: "com.sun.javafx.scene.control.skin.ColorPickerSkin"; -} .color-picker > .arrow-button { -fx-background-color: null; @@ -3374,12 +3315,7 @@ -fx-padding: 0 0 0 5; } -.custom-color-dialog #input-text-field { - -fx-skin: "com.sun.javafx.scene.control.skin.TextFieldSkin"; -} - .custom-color-dialog .input-field { - -fx-skin: "com.sun.javafx.scene.control.skin.InputFieldSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -3399,7 +3335,6 @@ } .custom-color-dialog .integer-field { - -fx-skin: "com.sun.javafx.scene.control.skin.IntegerFieldSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -3419,7 +3354,6 @@ }*/ .custom-color-dialog .double-field { - -fx-skin: "com.sun.javafx.scene.control.skin.DoubleFieldSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -3440,7 +3374,6 @@ .custom-color-dialog .webcolor-field { - -fx-skin: "com.sun.javafx.scene.control.skin.WebColorFieldSkin"; -fx-background-color: -fx-shadow-highlight-color, -fx-text-box-border, -fx-control-inner-background; -fx-background-insets: 0, 1, 2; -fx-background-radius: 3, 2, 2; @@ -3462,7 +3395,6 @@ /* -------------------------- STYLES FOR PAGINATION CONTROL ----- */ .pagination { - -fx-skin: "com.sun.javafx.scene.control.skin.PaginationSkin"; -fx-padding: 0; -fx-arrows-visible: true; -fx-tooltip-visible: true; @@ -3544,11 +3476,3 @@ * TreeTableView * * * ******************************************************************************/ - -.tree-table-view { - -fx-skin: "com.sun.javafx.scene.control.skin.TreeTableViewSkin"; -} - -.tree-table-row { - -fx-skin: "com.sun.javafx.scene.control.skin.TreeTableRowSkin"; -} diff -r ececf104ffcc javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/embedded.css --- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/embedded.css Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/embedded.css Wed Nov 21 10:28:34 2012 -0800 @@ -146,7 +146,6 @@ * * ******************************************************************************/ .fxvk { - -fx-skin: "com.sun.javafx.scene.control.skin.FXVKSkin"; -fx-cursor: default; -fx-background-color: #a1a1a1, #d7d7d7, #c2c2c2; -fx-background-insets: 0, 1 0 0 0, 2 0 0 0; diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Accordion.java --- a/javafx-ui-controls/src/javafx/scene/control/Accordion.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Accordion.java Wed Nov 21 10:28:34 2012 -0800 @@ -36,6 +36,7 @@ import com.sun.javafx.collections.TrackableObservableList; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.AccordionSkin; /** *

An accordion is a group of {@link TitledPane TitlePanes}. Only one TitledPane can be opened at @@ -172,6 +173,11 @@ */ public final ObservableList getPanes() { return panes; } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new AccordionSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Button.java --- a/javafx-ui-controls/src/javafx/scene/control/Button.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Button.java Wed Nov 21 10:28:34 2012 -0800 @@ -32,6 +32,7 @@ import com.sun.javafx.css.StyleManager; import com.sun.javafx.scene.control.accessible.AccessibleButton; import com.sun.javafx.accessible.providers.AccessibleProvider; +import com.sun.javafx.scene.control.skin.ButtonSkin; /** *

A simple button control. The button control can contain @@ -181,6 +182,11 @@ fireEvent(new ActionEvent()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ButtonSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/CheckBox.java --- a/javafx-ui-controls/src/javafx/scene/control/CheckBox.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/CheckBox.java Wed Nov 21 10:28:34 2012 -0800 @@ -34,6 +34,7 @@ import com.sun.javafx.css.StyleManager; import com.sun.javafx.scene.control.accessible.AccessibleCheckBox; import com.sun.javafx.accessible.providers.AccessibleProvider; +import com.sun.javafx.scene.control.skin.CheckBoxSkin; /** * A tri-state selection Control typically skinned as a box with a checkmark or @@ -228,6 +229,12 @@ fireEvent(new ActionEvent()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new CheckBoxSkin(this); + } + + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ChoiceBox.java --- a/javafx-ui-controls/src/javafx/scene/control/ChoiceBox.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ChoiceBox.java Wed Nov 21 10:28:34 2012 -0800 @@ -40,6 +40,7 @@ import javafx.util.StringConverter; import com.sun.javafx.css.StyleManager; +import com.sun.javafx.scene.control.skin.ChoiceBoxSkin; import javafx.beans.DefaultProperty; /** @@ -310,6 +311,11 @@ showing.set(false); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ChoiceBoxSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ColorPicker.java --- a/javafx-ui-controls/src/javafx/scene/control/ColorPicker.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ColorPicker.java Wed Nov 21 10:28:34 2012 -0800 @@ -27,6 +27,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.paint.Color; +import com.sun.javafx.scene.control.skin.ColorPickerSkin; /** *

ColorPicker control allows the user to select a color from either a standard @@ -104,6 +105,18 @@ @Override void valueInvalidated() { // do nothing - we dont want to fire action event when value changes. } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ColorPickerSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ComboBox.java --- a/javafx-ui-controls/src/javafx/scene/control/ComboBox.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ComboBox.java Wed Nov 21 10:28:34 2012 -0800 @@ -25,7 +25,6 @@ package javafx.scene.control; -import com.sun.javafx.event.EventDispatchChainImpl; import com.sun.javafx.scene.control.FocusableTextField; import javafx.collections.WeakListChangeListener; import com.sun.javafx.scene.control.skin.ComboBoxListViewSkin; @@ -37,7 +36,6 @@ import javafx.beans.value.WeakChangeListener; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; -import javafx.collections.ListChangeListener.Change; import javafx.collections.ObservableList; import javafx.scene.Node; import javafx.util.Callback; @@ -373,8 +371,17 @@ } return editor.getReadOnlyProperty(); } - - + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ComboBoxListViewSkin(this); + } /*************************************************************************** * * @@ -402,9 +409,9 @@ } } }; - - - + + + /*************************************************************************** * * * Private methods * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ComboBoxBase.java --- a/javafx-ui-controls/src/javafx/scene/control/ComboBoxBase.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ComboBoxBase.java Wed Nov 21 10:28:34 2012 -0800 @@ -423,7 +423,6 @@ } } - /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ContextMenu.java --- a/javafx-ui-controls/src/javafx/scene/control/ContextMenu.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ContextMenu.java Wed Nov 21 10:28:34 2012 -0800 @@ -42,6 +42,7 @@ import com.sun.javafx.Utils; import com.sun.javafx.collections.TrackableObservableList; +import com.sun.javafx.scene.control.skin.ContextMenuSkin; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; @@ -290,6 +291,11 @@ Event.fireEvent(this, new Event(Menu.ON_HIDDEN)); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ContextMenuSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Control.java --- a/javafx-ui-controls/src/javafx/scene/control/Control.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Control.java Wed Nov 21 10:28:34 2012 -0800 @@ -506,25 +506,35 @@ return mask; } - - + + /** + * Create a new instance of the default skin for this control. This is called to create a skin for the control if + * no skin is provided via CSS {@code -fx-skin} or set explicitly in a sub-class with {@code setSkin(...)}. + * + * @return new instance of default skin for this control. If null then the control will have no skin unless one + * is provided by css. + */ + protected Skin createDefaultSkin() { + return null; + } + /*************************************************************************** * * * Package API for SkinBase * * * - **************************************************************************/ - + **************************************************************************/ + // package private for SkinBase ObservableList getControlChildren() { return getChildren(); } - + /*************************************************************************** * * * Private implementation * * * - **************************************************************************/ + **************************************************************************/ /** * Gets the Skin's node, or returns null if there is no Skin. @@ -751,14 +761,20 @@ super.impl_processCSS(styleManager, reapply); if (getSkin() == null) { - final String msg = - "The -fx-skin property has not been defined in CSS for " + this; - final List errors = StyleManager.getErrors(); - if (errors != null) { - CssError error = new CssError(msg); - errors.add(error); // RT-19884 - } - Logging.getControlsLogger().severe(msg); + // try to create default skin + final Skin defaultSkin = createDefaultSkin(); + if (defaultSkin != null) { + skinProperty().set(defaultSkin); + } else { + final String msg = "The -fx-skin property has not been defined in CSS for " + this + + " and createDefaultSkin() returned null."; + final List errors = StyleManager.getErrors(); + if (errors != null) { + CssError error = new CssError(msg); + errors.add(error); // RT-19884 + } + Logging.getControlsLogger().severe(msg); + } } } diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Hyperlink.java --- a/javafx-ui-controls/src/javafx/scene/control/Hyperlink.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Hyperlink.java Wed Nov 21 10:28:34 2012 -0800 @@ -32,6 +32,7 @@ import javafx.scene.Node; import com.sun.javafx.css.StyleManager; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.HyperlinkSkin; /** @@ -145,6 +146,12 @@ fireEvent(new ActionEvent()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new HyperlinkSkin(this); + } + + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Label.java --- a/javafx-ui-controls/src/javafx/scene/control/Label.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Label.java Wed Nov 21 10:28:34 2012 -0800 @@ -26,6 +26,7 @@ package javafx.scene.control; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.LabelSkin; import javafx.beans.property.ObjectProperty; import javafx.beans.property.ObjectPropertyBase; import javafx.beans.value.ChangeListener; @@ -142,10 +143,21 @@ public final void setLabelFor(Node value) { labelForProperty().setValue(value); } public final Node getLabelFor() { return labelFor == null ? null : labelFor.getValue(); } - + /*************************************************************************** * * - * CSS Support * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new LabelSkin(this); + } + + /*************************************************************************** + * * + * CSS Support * * * **************************************************************************/ diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ListCell.java --- a/javafx-ui-controls/src/javafx/scene/control/ListCell.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ListCell.java Wed Nov 21 10:28:34 2012 -0800 @@ -25,8 +25,7 @@ package javafx.scene.control; -import com.sun.javafx.logging.PlatformLogger; -import com.sun.javafx.scene.control.Logging; +import com.sun.javafx.scene.control.skin.ListCellSkin; import javafx.beans.InvalidationListener; import javafx.beans.Observable; import javafx.beans.WeakInvalidationListener; @@ -41,8 +40,6 @@ import javafx.collections.WeakListChangeListener; import java.lang.ref.WeakReference; import java.util.List; -import javafx.beans.property.ReadOnlyObjectProperty; -import javafx.beans.property.ReadOnlyObjectWrapper; /** @@ -326,6 +323,10 @@ updateFocus(); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ListCellSkin(this); + } /*************************************************************************** diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ListView.java --- a/javafx-ui-controls/src/javafx/scene/control/ListView.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ListView.java Wed Nov 21 10:28:34 2012 -0800 @@ -733,6 +733,11 @@ accListView = new AccessibleList(this); return (AccessibleProvider)accListView ; } + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ListViewSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/MenuBar.java --- a/javafx-ui-controls/src/javafx/scene/control/MenuBar.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/MenuBar.java Wed Nov 21 10:28:34 2012 -0800 @@ -31,13 +31,13 @@ import javafx.beans.DefaultProperty; import javafx.beans.property.BooleanProperty; -import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.value.WritableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import com.sun.javafx.css.*; import com.sun.javafx.css.converters.*; +import com.sun.javafx.scene.control.skin.MenuBarSkin; /** *

@@ -149,7 +149,10 @@ return menus; } - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new MenuBarSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/MenuButton.java --- a/javafx-ui-controls/src/javafx/scene/control/MenuButton.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/MenuButton.java Wed Nov 21 10:28:34 2012 -0800 @@ -33,6 +33,7 @@ import javafx.geometry.Side; import javafx.scene.Node; import com.sun.javafx.css.StyleManager; +import com.sun.javafx.scene.control.skin.MenuButtonSkin; import javafx.beans.property.ReadOnlyBooleanProperty; import javafx.beans.property.ReadOnlyBooleanWrapper; @@ -233,6 +234,11 @@ fireEvent(new ActionEvent()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new MenuButtonSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Pagination.java --- a/javafx-ui-controls/src/javafx/scene/control/Pagination.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Pagination.java Wed Nov 21 10:28:34 2012 -0800 @@ -48,6 +48,7 @@ import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.Stylesheet.Origin; import com.sun.javafx.css.converters.SizeConverter; +import com.sun.javafx.scene.control.skin.PaginationSkin; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -315,6 +316,18 @@ */ public final ObjectProperty> pageFactoryProperty() { return pageFactory; } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new PaginationSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/PasswordField.java --- a/javafx-ui-controls/src/javafx/scene/control/PasswordField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/PasswordField.java Wed Nov 21 10:28:34 2012 -0800 @@ -26,6 +26,7 @@ package javafx.scene.control; import com.sun.javafx.beans.annotations.DuplicateInBuilderProperties; +import com.sun.javafx.scene.control.skin.PasswordFieldSkin; /** * Text field that masks entered characters. @@ -36,6 +37,12 @@ getStyleClass().add("password-field"); } + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + /** * Does nothing for PasswordField. */ @@ -51,4 +58,9 @@ public void copy() { // No-op } + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new PasswordFieldSkin(this); + } } diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/PopupControl.java --- a/javafx-ui-controls/src/javafx/scene/control/PopupControl.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/PopupControl.java Wed Nov 21 10:28:34 2012 -0800 @@ -876,6 +876,17 @@ else bridge.getChildren().clear(); } + /** + * Create a new instance of the default skin for this control. This is called to create a skin for the control if + * no skin is provided via CSS {@code -fx-skin} or set explicitly in a sub-class with {@code setSkin(...)}. + * + * @return new instance of default skin for this control. If null then the control will have no skin unless one + * is provided by css. + */ + protected Skin createDefaultSkin() { + return null; + } + /*************************************************************************** * * * StyleSheet Handling * @@ -1238,6 +1249,32 @@ Logging.getControlsLogger().severe(msg, e.getCause()); } } + + /** + * @treatAsPrivate implementation detail + * @deprecated This is an internal API that is not intended for use and will be removed in the next version + */ + @Deprecated + @Override protected void impl_processCSS(StyleManager styleManager, boolean reapply) { + super.impl_processCSS(styleManager, reapply); + + if (getSkin() == null) { + // try to create default skin + final Skin defaultSkin = createDefaultSkin(); + if (defaultSkin != null) { + skinProperty().set(defaultSkin); + } else { + final String msg = "The -fx-skin property has not been defined in CSS for " + this + + " and createDefaultSkin() returned null."; + final List errors = StyleManager.getErrors(); + if (errors != null) { + CssError error = new CssError(msg); + errors.add(error); // RT-19884 + } + Logging.getControlsLogger().severe(msg); + } + } + } } } diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ProgressBar.java --- a/javafx-ui-controls/src/javafx/scene/control/ProgressBar.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ProgressBar.java Wed Nov 21 10:28:34 2012 -0800 @@ -26,6 +26,7 @@ package javafx.scene.control; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.ProgressBarSkin; import javafx.geometry.NodeOrientation; /** @@ -87,6 +88,17 @@ /*************************************************************************** * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ProgressBarSkin(this); + } + + /*************************************************************************** + * * * Stylesheet Handling * * * **************************************************************************/ diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ProgressIndicator.java --- a/javafx-ui-controls/src/javafx/scene/control/ProgressIndicator.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ProgressIndicator.java Wed Nov 21 10:28:34 2012 -0800 @@ -27,6 +27,7 @@ import com.sun.javafx.css.StyleManager; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.ProgressIndicatorSkin; import javafx.beans.property.DoubleProperty; import javafx.beans.property.DoublePropertyBase; import javafx.beans.property.ReadOnlyBooleanProperty; @@ -183,6 +184,10 @@ * * **************************************************************************/ + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ProgressIndicatorSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/RadioButton.java --- a/javafx-ui-controls/src/javafx/scene/control/RadioButton.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/RadioButton.java Wed Nov 21 10:28:34 2012 -0800 @@ -25,11 +25,11 @@ package javafx.scene.control; +import javafx.geometry.Pos; +import com.sun.javafx.accessible.providers.AccessibleProvider; import com.sun.javafx.css.StyleableProperty; -import javafx.geometry.Pos; import com.sun.javafx.scene.control.accessible.AccessibleRadioButton; -import com.sun.javafx.accessible.providers.AccessibleProvider; -import static javafx.geometry.Pos.CENTER_LEFT; +import com.sun.javafx.scene.control.skin.RadioButtonSkin; /** *

RadioButtons create a series of items where only one item can be @@ -110,6 +110,12 @@ } } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new RadioButtonSkin(this); + } + + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ScrollBar.java --- a/javafx-ui-controls/src/javafx/scene/control/ScrollBar.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ScrollBar.java Wed Nov 21 10:28:34 2012 -0800 @@ -336,6 +336,11 @@ setValue(Utils.clamp(getMin(), getValue() - getUnitIncrement(), getMax())); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ScrollBarSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ScrollPane.java --- a/javafx-ui-controls/src/javafx/scene/control/ScrollPane.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ScrollPane.java Wed Nov 21 10:28:34 2012 -0800 @@ -28,6 +28,7 @@ import com.sun.javafx.css.*; import com.sun.javafx.css.converters.BooleanConverter; import com.sun.javafx.css.converters.EnumConverter; +import com.sun.javafx.scene.control.skin.ScrollPaneSkin; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -557,6 +558,11 @@ */ // public var vblockIncrement:Number = -1; + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ScrollPaneSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Separator.java --- a/javafx-ui-controls/src/javafx/scene/control/Separator.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Separator.java Wed Nov 21 10:28:34 2012 -0800 @@ -39,6 +39,7 @@ import com.sun.javafx.css.StyleableObjectProperty; import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.converters.EnumConverter; +import com.sun.javafx.scene.control.skin.SeparatorSkin; /** * A horizontal or vertical separator line. The visual appearance of this @@ -210,6 +211,11 @@ return valignment; } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new SeparatorSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Slider.java --- a/javafx-ui-controls/src/javafx/scene/control/Slider.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Slider.java Wed Nov 21 10:28:34 2012 -0800 @@ -50,6 +50,7 @@ import com.sun.javafx.scene.control.accessible.AccessibleSlider; import com.sun.javafx.accessible.providers.AccessibleProvider; +import com.sun.javafx.scene.control.skin.SliderSkin; /** * The Slider Control is used to display a continuous or discrete range of @@ -622,6 +623,11 @@ return Utils.clamp(getMin(), v, getMax()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new SliderSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * @@ -800,7 +806,7 @@ VERTICAL_PSEUDOCLASS_STATE : HORIZONTAL_PSEUDOCLASS_STATE; return mask; } - + private AccessibleSlider accSlider ; /** * @treatAsPrivate implementation detail diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/SplitMenuButton.java --- a/javafx-ui-controls/src/javafx/scene/control/SplitMenuButton.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/SplitMenuButton.java Wed Nov 21 10:28:34 2012 -0800 @@ -26,6 +26,7 @@ package javafx.scene.control; import javafx.event.ActionEvent; +import com.sun.javafx.scene.control.skin.SplitMenuButtonSkin; /** * The SplitMenuButton, like the {@link MenuButton} is closely associated with @@ -106,6 +107,16 @@ fireEvent(new ActionEvent()); } + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new SplitMenuButtonSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/SplitPane.java --- a/javafx-ui-controls/src/javafx/scene/control/SplitPane.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/SplitPane.java Wed Nov 21 10:28:34 2012 -0800 @@ -46,6 +46,7 @@ import com.sun.javafx.css.StyleableObjectProperty; import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.converters.EnumConverter; +import com.sun.javafx.scene.control.skin.SplitPaneSkin; /** *

A control that has two or more sides, each separated by a divider, which can be @@ -357,6 +358,11 @@ return positions; } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new SplitPaneSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TabPane.java --- a/javafx-ui-controls/src/javafx/scene/control/TabPane.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TabPane.java Wed Nov 21 10:28:34 2012 -0800 @@ -43,6 +43,7 @@ import com.sun.javafx.css.StyleableDoubleProperty; import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.converters.SizeConverter; +import com.sun.javafx.scene.control.skin.TabPaneSkin; import javafx.beans.DefaultProperty; /** @@ -481,6 +482,11 @@ return tabMaxHeight; } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TabPaneSkin(this); + } + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TableCell.java --- a/javafx-ui-controls/src/javafx/scene/control/TableCell.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TableCell.java Wed Nov 21 10:28:34 2012 -0800 @@ -34,7 +34,7 @@ import javafx.event.Event; import javafx.scene.control.TableView.TableViewFocusModel; -import com.sun.javafx.property.PropertyReference; +import com.sun.javafx.scene.control.skin.TableCellSkin; import javafx.collections.WeakListChangeListener; import java.lang.ref.WeakReference; import javafx.beans.property.ReadOnlyObjectProperty; @@ -365,13 +365,16 @@ setSelected(selected); } - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TableCellSkin(this); + } /* ************************************************************************* - * * - * Private Implementation * - * * - **************************************************************************/ + * * + * Private Implementation * + * * + **************************************************************************/ @Override void indexChanged() { super.indexChanged(); diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TableRow.java --- a/javafx-ui-controls/src/javafx/scene/control/TableRow.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TableRow.java Wed Nov 21 10:28:34 2012 -0800 @@ -35,6 +35,7 @@ import java.util.List; import javafx.beans.property.ReadOnlyObjectProperty; import javafx.beans.property.ReadOnlyObjectWrapper; +import com.sun.javafx.scene.control.skin.TableRowSkin; /** *

TableRow is an {@link javafx.scene.control.IndexedCell IndexedCell}, but @@ -208,7 +209,10 @@ * * **************************************************************************/ - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TableRowSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TableView.java --- a/javafx-ui-controls/src/javafx/scene/control/TableView.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TableView.java Wed Nov 21 10:28:34 2012 -0800 @@ -1268,6 +1268,11 @@ return visibleLeafColumns.get(column); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TableViewSkin(this); + } + /*************************************************************************** * * * Private Implementation * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TextArea.java --- a/javafx-ui-controls/src/javafx/scene/control/TextArea.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TextArea.java Wed Nov 21 10:28:34 2012 -0800 @@ -45,6 +45,7 @@ import com.sun.javafx.binding.ExpressionHelper; import com.sun.javafx.collections.ListListenerHelper; import com.sun.javafx.collections.NonIterableChange; +import com.sun.javafx.scene.control.skin.TextAreaSkin; /** * Text input component that allows a user to enter multiple lines of @@ -554,4 +555,15 @@ public final DoubleProperty scrollLeftProperty() { return scrollLeft; } public final double getScrollLeft() { return scrollLeft.getValue(); } public final void setScrollLeft(double value) { scrollLeft.setValue(value); } + + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TextAreaSkin(this); + } } diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TextField.java --- a/javafx-ui-controls/src/javafx/scene/control/TextField.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TextField.java Wed Nov 21 10:28:34 2012 -0800 @@ -44,6 +44,7 @@ import com.sun.javafx.binding.ExpressionHelper; import com.sun.javafx.css.*; import com.sun.javafx.css.converters.*; +import com.sun.javafx.scene.control.skin.TextFieldSkin; /** @@ -240,6 +241,16 @@ public final void setAlignment(Pos value) { alignmentProperty().set(value); } public final Pos getAlignment() { return alignment == null ? Pos.CENTER_LEFT : alignment.get(); } + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TextFieldSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TitledPane.java --- a/javafx-ui-controls/src/javafx/scene/control/TitledPane.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TitledPane.java Wed Nov 21 10:28:34 2012 -0800 @@ -40,6 +40,7 @@ import com.sun.javafx.css.StyleableBooleanProperty; import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.converters.BooleanConverter; +import com.sun.javafx.scene.control.skin.TitledPaneSkin; import javafx.beans.DefaultProperty; /** @@ -245,7 +246,16 @@ */ public final BooleanProperty collapsibleProperty() { return collapsible; } + /*************************************************************************** + * * + * Methods * + * * + **************************************************************************/ + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TitledPaneSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ToggleButton.java --- a/javafx-ui-controls/src/javafx/scene/control/ToggleButton.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ToggleButton.java Wed Nov 21 10:28:34 2012 -0800 @@ -25,10 +25,6 @@ package javafx.scene.control; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import javafx.beans.property.BooleanProperty; import javafx.beans.property.BooleanPropertyBase; import javafx.beans.property.ObjectProperty; @@ -36,9 +32,9 @@ import javafx.event.ActionEvent; import javafx.geometry.Pos; import javafx.scene.Node; - import com.sun.javafx.css.StyleManager; import com.sun.javafx.css.StyleableProperty; +import com.sun.javafx.scene.control.skin.ToggleButtonSkin; /** * A {@code ToggleButton} is a specialized control which has the ability to be @@ -234,6 +230,12 @@ fireEvent(new ActionEvent()); } + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ToggleButtonSkin(this); + } + + /*************************************************************************** * * * Stylesheet Handling * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/ToolBar.java --- a/javafx-ui-controls/src/javafx/scene/control/ToolBar.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/ToolBar.java Wed Nov 21 10:28:34 2012 -0800 @@ -41,6 +41,7 @@ import com.sun.javafx.css.StyleableObjectProperty; import com.sun.javafx.css.StyleableProperty; import com.sun.javafx.css.converters.EnumConverter; +import com.sun.javafx.scene.control.skin.ToolBarSkin; /** *

@@ -171,6 +172,17 @@ /*************************************************************************** * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new ToolBarSkin(this); + } + + /*************************************************************************** + * * * Stylesheet Handling * * * **************************************************************************/ diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/Tooltip.java --- a/javafx-ui-controls/src/javafx/scene/control/Tooltip.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/Tooltip.java Wed Nov 21 10:28:34 2012 -0800 @@ -30,6 +30,7 @@ import com.sun.javafx.css.converters.EnumConverter; import com.sun.javafx.css.converters.SizeConverter; import com.sun.javafx.css.converters.StringConverter; +import com.sun.javafx.scene.control.skin.TooltipSkin; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; @@ -313,6 +314,17 @@ /*************************************************************************** * * + * Methods * + * * + **************************************************************************/ + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TooltipSkin(this); + } + + /*************************************************************************** + * * * Stylesheet Handling * * * **************************************************************************/ diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TreeCell.java --- a/javafx-ui-controls/src/javafx/scene/control/TreeCell.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TreeCell.java Wed Nov 21 10:28:34 2012 -0800 @@ -32,6 +32,7 @@ import javafx.collections.ListChangeListener; import javafx.scene.Node; import com.sun.javafx.css.StyleManager; +import com.sun.javafx.scene.control.skin.TreeCellSkin; import javafx.collections.WeakListChangeListener; import java.lang.ref.WeakReference; import javafx.beans.property.ReadOnlyObjectProperty; @@ -378,7 +379,10 @@ } } - + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TreeCellSkin(this); + } /*************************************************************************** * * diff -r ececf104ffcc javafx-ui-controls/src/javafx/scene/control/TreeView.java --- a/javafx-ui-controls/src/javafx/scene/control/TreeView.java Wed Nov 21 11:38:18 2012 -0500 +++ b/javafx-ui-controls/src/javafx/scene/control/TreeView.java Wed Nov 21 10:28:34 2012 -0800 @@ -42,6 +42,7 @@ import javafx.util.Callback; import com.sun.javafx.scene.control.WeakEventHandler; +import com.sun.javafx.scene.control.skin.TreeViewSkin; import com.sun.javafx.scene.control.skin.VirtualContainerBase; import java.lang.ref.WeakReference; import javafx.beans.DefaultProperty; @@ -849,8 +850,11 @@ int r = isShowRoot() ? row : (row + 1); return getItem(getRoot(), r); } - - + + /** {@inheritDoc} */ + @Override protected Skin createDefaultSkin() { + return new TreeViewSkin(this); + } /*************************************************************************** * *