Browse Source

MFXListView is now a legacy component (MFXLegacyListView)

Signed-off-by: PAlex404 <alessandro.parisi406@gmail.com>
PAlex404 4 years ago
parent
commit
1268482faa

+ 5 - 5
demo/src/main/java/io/github/palexdev/materialfx/demo/controllers/ListViewDemoController.java

@@ -1,7 +1,7 @@
 package io.github.palexdev.materialfx.demo.controllers;
 
 import io.github.palexdev.materialfx.controls.MFXButton;
-import io.github.palexdev.materialfx.controls.MFXListView;
+import io.github.palexdev.materialfx.controls.legacy.MFXLegacyListView;
 import io.github.palexdev.materialfx.effects.DepthLevel;
 import io.github.palexdev.materialfx.utils.ColorUtils;
 import javafx.collections.FXCollections;
@@ -24,16 +24,16 @@ public class ListViewDemoController implements Initializable {
     private final Random random = new Random(System.currentTimeMillis());
 
     @FXML
-    private MFXListView<String> stringView;
+    private MFXLegacyListView<String> stringView;
 
     @FXML
-    private MFXListView<Label> labelView;
+    private MFXLegacyListView<Label> labelView;
 
     @FXML
-    private MFXListView<HBox> hBoxView;
+    private MFXLegacyListView<HBox> hBoxView;
 
     @FXML
-    private MFXListView<String> cssView;
+    private MFXLegacyListView<String> cssView;
 
     @FXML
     private MFXButton depthButton;

+ 48 - 47
demo/src/main/resources/io/github/palexdev/materialfx/demo/listviews_demo.fxml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<?import io.github.palexdev.materialfx.controls.*?>
+<?import io.github.palexdev.materialfx.controls.legacy.MFXLegacyListView?>
+<?import io.github.palexdev.materialfx.controls.MFXButton?>
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.*?>
 <?import javafx.scene.layout.*?>
@@ -8,50 +9,50 @@
            prefWidth="730.0" stylesheets="@css/listviews_demo.css" xmlns="http://javafx.com/javafx/11.0.1"
            xmlns:fx="http://javafx.com/fxml/1"
            fx:controller="io.github.palexdev.materialfx.demo.controllers.ListViewDemoController">
-   <padding>
-      <Insets left="20.0" right="20.0"/>
-   </padding>
-   <Label id="customLabel" alignment="CENTER" prefHeight="26.0" prefWidth="266.0" text="ListViews"
-          StackPane.alignment="TOP_CENTER">
-      <StackPane.margin>
-         <Insets top="20.0"/>
-      </StackPane.margin>
-   </Label>
-   <HBox alignment="TOP_CENTER" maxHeight="-Infinity" prefHeight="250.0" prefWidth="680.0" spacing="20.0">
-      <StackPane.margin>
-         <Insets top="-20.0"/>
-      </StackPane.margin>
-      <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="130.0"
-            spacing="10.0">
-         <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="Standard"/>
-         <MFXListView fx:id="stringView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
-                      prefWidth="120.0"/>
-      </VBox>
-      <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="160.0"
-            spacing="10.0">
-         <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="Labels"/>
-         <MFXListView fx:id="labelView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
-                      prefWidth="150.0"/>
-      </VBox>
-      <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="265.0"
-            spacing="10.0">
-         <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="HBoxes"/>
-         <MFXListView fx:id="hBoxView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
-                      prefWidth="265.0"/>
-      </VBox>
-      <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="135.0"
-            spacing="10.0">
-         <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="125.0" text="Customized and CSS"/>
-         <MFXListView id="customView" fx:id="cssView" maxHeight="-Infinity" maxWidth="-Infinity"
-                      prefHeight="200.0" prefWidth="110.0" stylesheets="@css/listviews_demo.css"/>
-      </VBox>
-   </HBox>
-   <VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="90.0" prefWidth="128.0"
-         spacing="10.0" StackPane.alignment="BOTTOM_RIGHT">
-      <StackPane.margin>
-         <Insets bottom="5.0"/>
-      </StackPane.margin>
-      <MFXButton fx:id="depthButton" prefWidth="70.0" text="3D"/>
-      <MFXButton fx:id="colorsButton" text="Change bars color"/>
-   </VBox>
+    <padding>
+        <Insets left="20.0" right="20.0"/>
+    </padding>
+    <Label id="customLabel" alignment="CENTER" prefHeight="26.0" prefWidth="266.0" text="ListViews"
+           StackPane.alignment="TOP_CENTER">
+        <StackPane.margin>
+            <Insets top="20.0"/>
+        </StackPane.margin>
+    </Label>
+    <HBox alignment="TOP_CENTER" maxHeight="-Infinity" prefHeight="250.0" prefWidth="680.0" spacing="20.0">
+        <StackPane.margin>
+            <Insets top="-20.0"/>
+        </StackPane.margin>
+        <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="130.0"
+              spacing="10.0">
+            <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="Standard"/>
+            <MFXLegacyListView fx:id="stringView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
+                               prefWidth="120.0"/>
+        </VBox>
+        <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="160.0"
+              spacing="10.0">
+            <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="Labels"/>
+            <MFXLegacyListView fx:id="labelView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
+                               prefWidth="150.0"/>
+        </VBox>
+        <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="265.0"
+              spacing="10.0">
+            <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="110.0" text="HBoxes"/>
+            <MFXLegacyListView fx:id="hBoxView" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="200.0"
+                               prefWidth="265.0"/>
+        </VBox>
+        <VBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="250.0" prefWidth="135.0"
+              spacing="10.0">
+            <Label id="label" alignment="CENTER" prefHeight="25.0" prefWidth="125.0" text="Customized and CSS"/>
+            <MFXLegacyListView id="customView" fx:id="cssView" maxHeight="-Infinity" maxWidth="-Infinity"
+                               prefHeight="200.0" prefWidth="110.0" stylesheets="@css/listviews_demo.css"/>
+        </VBox>
+    </HBox>
+    <VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="90.0" prefWidth="128.0"
+          spacing="10.0" StackPane.alignment="BOTTOM_RIGHT">
+        <StackPane.margin>
+            <Insets bottom="5.0"/>
+        </StackPane.margin>
+        <MFXButton fx:id="depthButton" prefWidth="70.0" text="3D"/>
+        <MFXButton fx:id="colorsButton" text="Change bars color"/>
+    </VBox>
 </StackPane>

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXComboBox.java

@@ -56,7 +56,7 @@ public class MFXComboBox<T> extends Control {
     private String STYLESHEET;
 
     private final ObjectProperty<T> selectedValue = new SimpleObjectProperty<>();
-    private final ObjectProperty<ObservableList<T>> items = new SimpleObjectProperty<>(FXCollections.observableArrayList());
+    private final ObjectProperty<ObservableList<T>> items = new SimpleObjectProperty<>();
 
     private final DoubleProperty maxPopupWidth = new SimpleDoubleProperty(150);
     private final DoubleProperty maxPopupHeight = new SimpleDoubleProperty(200);

+ 19 - 19
materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXListCell.java → materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/legacy/MFXLegacyListCell.java

@@ -16,7 +16,7 @@
  *     along with MaterialFX.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-package io.github.palexdev.materialfx.controls.cell;
+package io.github.palexdev.materialfx.controls.cell.legacy;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
 import io.github.palexdev.materialfx.effects.RippleGenerator;
@@ -42,19 +42,19 @@ import java.util.stream.Collectors;
  * Extends {@code ListCell}, redefines the style class to "mfx-list-cell" for usage in CSS,
  * each cell has a {@code RippleGenerator} to generate ripple effects on click.
  */
-public class MFXListCell<T> extends ListCell<T> {
+public class MFXLegacyListCell<T> extends ListCell<T> {
     //================================================================================
     // Properties
     //================================================================================
-    private static final StyleablePropertyFactory<MFXListCell<?>> FACTORY = new StyleablePropertyFactory<>(ListCell.getClassCssMetaData());
+    private static final StyleablePropertyFactory<MFXLegacyListCell<?>> FACTORY = new StyleablePropertyFactory<>(ListCell.getClassCssMetaData());
     private final String STYLE_CLASS = "mfx-list-cell";
-    private final String STYLESHEET = MFXResourcesLoader.load("css/mfx-listcell.css").toString();
+    private final String STYLESHEET = MFXResourcesLoader.load("css/legacy/mfx-listcell.css").toString();
     private final RippleGenerator rippleGenerator;
 
     //================================================================================
     // Constructors
     //================================================================================
-    public MFXListCell() {
+    public MFXLegacyListCell() {
         rippleGenerator = new RippleGenerator(this);
         rippleGenerator.setRippleColor(Color.rgb(50, 150, 255));
         rippleGenerator.setInDuration(Duration.millis(400));
@@ -90,9 +90,9 @@ public class MFXListCell<T> extends ListCell<T> {
 
         selectedProperty().addListener((observable, oldValue, newValue) -> {
             if (newValue) {
-                NodeUtils.updateBackground(MFXListCell.this, getSelectedColor(), new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
+                NodeUtils.updateBackground(MFXLegacyListCell.this, getSelectedColor(), new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
             } else {
-                NodeUtils.updateBackground(MFXListCell.this, Color.WHITE, new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
+                NodeUtils.updateBackground(MFXLegacyListCell.this, Color.WHITE, new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
             }
         });
 
@@ -111,16 +111,16 @@ public class MFXListCell<T> extends ListCell<T> {
                 if (getIndex() == 0) {
                     setBackground(new Background(new BackgroundFill(getHoverColor(), CornerRadii.EMPTY, Insets.EMPTY)));
                 } else {
-                    NodeUtils.updateBackground(MFXListCell.this, getHoverColor(), new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
+                    NodeUtils.updateBackground(MFXLegacyListCell.this, getHoverColor(), new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
                 }
             } else {
-                NodeUtils.updateBackground(MFXListCell.this, Color.WHITE, new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
+                NodeUtils.updateBackground(MFXLegacyListCell.this, Color.WHITE, new CornerRadii(getCornerRadius()), new Insets(getBackgroundInsets()));
             }
         });
 
         selectedColor.addListener((observableValue, oldValue, newValue) -> {
             if (!newValue.equals(oldValue) && isSelected()) {
-                NodeUtils.updateBackground(MFXListCell.this, newValue);
+                NodeUtils.updateBackground(MFXLegacyListCell.this, newValue);
             }
         });
 
@@ -235,31 +235,31 @@ public class MFXListCell<T> extends ListCell<T> {
     private static class StyleableProperties {
         private static final List<CssMetaData<? extends Styleable, ?>> cssMetaDataList;
 
-        private static final CssMetaData<MFXListCell<?>, Paint> SELECTED_COLOR =
+        private static final CssMetaData<MFXLegacyListCell<?>, Paint> SELECTED_COLOR =
                 FACTORY.createPaintCssMetaData(
                         "-mfx-selected-color",
-                        MFXListCell::selectedColorProperty,
+                        MFXLegacyListCell::selectedColorProperty,
                         Color.rgb(180, 180, 255)
                 );
 
-        private static final CssMetaData<MFXListCell<?>, Paint> HOVER_COLOR =
+        private static final CssMetaData<MFXLegacyListCell<?>, Paint> HOVER_COLOR =
                 FACTORY.createPaintCssMetaData(
                         "-mfx-hover-color",
-                        MFXListCell::hoverColorProperty,
+                        MFXLegacyListCell::hoverColorProperty,
                         Color.rgb(50, 150, 255, 0.2)
                 );
 
-        private static final CssMetaData<MFXListCell<?>, Number> CORNER_RADIUS =
+        private static final CssMetaData<MFXLegacyListCell<?>, Number> CORNER_RADIUS =
                 FACTORY.createSizeCssMetaData(
                         "-mfx-corner-radius",
-                        MFXListCell::cornerRadiusProperty,
+                        MFXLegacyListCell::cornerRadiusProperty,
                         0
                 );
 
-        private static final CssMetaData<MFXListCell<?>, Number> BACKGROUND_INSETS =
+        private static final CssMetaData<MFXLegacyListCell<?>, Number> BACKGROUND_INSETS =
                 FACTORY.createSizeCssMetaData(
                         "-mfx-background-insets",
-                        MFXListCell::backgroundInsetsProperty,
+                        MFXLegacyListCell::backgroundInsetsProperty,
                         0
                 );
 
@@ -283,7 +283,7 @@ public class MFXListCell<T> extends ListCell<T> {
 
     @Override
     public List<CssMetaData<? extends Styleable, ?>> getControlCssMetaData() {
-        return MFXListCell.getControlCssMetaDataList();
+        return MFXLegacyListCell.getControlCssMetaDataList();
     }
 
     /**

+ 2 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyComboBox.java

@@ -20,7 +20,7 @@ package io.github.palexdev.materialfx.controls.legacy;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
 import io.github.palexdev.materialfx.beans.MFXSnapshotWrapper;
-import io.github.palexdev.materialfx.controls.cell.MFXListCell;
+import io.github.palexdev.materialfx.controls.cell.legacy.MFXLegacyListCell;
 import io.github.palexdev.materialfx.skins.legacy.MFXLegacyComboBoxSkin;
 import io.github.palexdev.materialfx.validation.MFXDialogValidator;
 import javafx.beans.property.BooleanProperty;
@@ -88,7 +88,7 @@ public class MFXLegacyComboBox<T> extends ComboBox<T> {
     //================================================================================
     private void initialize() {
         getStyleClass().add(STYLE_CLASS);
-        setCellFactory(listCell -> new MFXListCell<>() {
+        setCellFactory(listCell -> new MFXLegacyListCell<>() {
             @Override
             protected void updateItem(T item, boolean empty) {
                 super.updateItem(item, empty);

+ 17 - 17
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXListView.java → materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyListView.java

@@ -16,12 +16,12 @@
  *     along with MaterialFX.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-package io.github.palexdev.materialfx.controls;
+package io.github.palexdev.materialfx.controls.legacy;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
-import io.github.palexdev.materialfx.controls.cell.MFXListCell;
+import io.github.palexdev.materialfx.controls.cell.legacy.MFXLegacyListCell;
 import io.github.palexdev.materialfx.effects.DepthLevel;
-import io.github.palexdev.materialfx.skins.MFXListViewSkin;
+import io.github.palexdev.materialfx.skins.legacy.MFXLegacyListViewSkin;
 import io.github.palexdev.materialfx.utils.ColorUtils;
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleObjectProperty;
@@ -39,24 +39,24 @@ import java.util.List;
  * This is the implementation of a ListView restyled to comply with modern standards.
  * <p>
  * Extends {@code ListView}, redefines the style class to "mfx-list-view for usage in CSS,
- * for cells it uses {@link MFXListCell} by default.
+ * for cells it uses {@link MFXLegacyListCell} by default.
  */
-public class MFXListView<T> extends ListView<T> {
+public class MFXLegacyListView<T> extends ListView<T> {
     //================================================================================
     // Properties
     //================================================================================
-    private static final StyleablePropertyFactory<MFXListView<?>> FACTORY = new StyleablePropertyFactory<>(ListView.getClassCssMetaData());
-    private final String STYLE_CLASS = "mfx-list-view";
-    private final String STYLESHEET = MFXResourcesLoader.load("css/mfx-listview.css").toString();
+    private static final StyleablePropertyFactory<MFXLegacyListView<?>> FACTORY = new StyleablePropertyFactory<>(ListView.getClassCssMetaData());
+    private final String STYLE_CLASS = "mfx-legacy-list-view";
+    private final String STYLESHEET = MFXResourcesLoader.load("css/legacy/mfx-listview.css").toString();
 
     //================================================================================
     // Constructors
     //================================================================================
-    public MFXListView() {
+    public MFXLegacyListView() {
         initialize();
     }
 
-    public MFXListView(ObservableList<T> observableList) {
+    public MFXLegacyListView(ObservableList<T> observableList) {
         super(observableList);
         initialize();
     }
@@ -66,7 +66,7 @@ public class MFXListView<T> extends ListView<T> {
     //================================================================================
     private void initialize() {
         getStyleClass().add(STYLE_CLASS);
-        setCellFactory(cell -> new MFXListCell<>());
+        setCellFactory(cell -> new MFXLegacyListCell<>());
         addListeners();
     }
 
@@ -231,18 +231,18 @@ public class MFXListView<T> extends ListView<T> {
     private static class StyleableProperties {
         private static final List<CssMetaData<? extends Styleable, ?>> cssMetaDataList;
 
-        private static final CssMetaData<MFXListView<?>, Boolean> HIDE_SCROLLBARS =
+        private static final CssMetaData<MFXLegacyListView<?>, Boolean> HIDE_SCROLLBARS =
                 FACTORY.createBooleanCssMetaData(
                         "-mfx-hide-scrollbars",
-                        MFXListView::hideScrollBarsProperty,
+                        MFXLegacyListView::hideScrollBarsProperty,
                         false
                 );
 
-        private static final CssMetaData<MFXListView<?>, DepthLevel> DEPTH_LEVEL =
+        private static final CssMetaData<MFXLegacyListView<?>, DepthLevel> DEPTH_LEVEL =
                 FACTORY.createEnumCssMetaData(
                         DepthLevel.class,
                         "-mfx-depth-level",
-                        MFXListView::depthLevelProperty,
+                        MFXLegacyListView::depthLevelProperty,
                         DepthLevel.LEVEL2
                 );
 
@@ -261,7 +261,7 @@ public class MFXListView<T> extends ListView<T> {
     //================================================================================
     @Override
     protected Skin<?> createDefaultSkin() {
-        return new MFXListViewSkin<>(this);
+        return new MFXLegacyListViewSkin<>(this);
     }
 
     @Override
@@ -271,6 +271,6 @@ public class MFXListView<T> extends ListView<T> {
 
     @Override
     public List<CssMetaData<? extends Styleable, ?>> getControlCssMetaData() {
-        return MFXListView.getControlCssMetaDataList();
+        return MFXLegacyListView.getControlCssMetaDataList();
     }
 }

+ 3 - 3
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXComboBoxSkin.java

@@ -21,9 +21,9 @@ package io.github.palexdev.materialfx.skins;
 import io.github.palexdev.materialfx.beans.MFXSnapshotWrapper;
 import io.github.palexdev.materialfx.controls.MFXComboBox;
 import io.github.palexdev.materialfx.controls.MFXIconWrapper;
-import io.github.palexdev.materialfx.controls.MFXListView;
 import io.github.palexdev.materialfx.controls.enums.Styles;
 import io.github.palexdev.materialfx.controls.factories.MFXAnimationFactory;
+import io.github.palexdev.materialfx.controls.legacy.MFXLegacyListView;
 import io.github.palexdev.materialfx.effects.RippleGenerator;
 import io.github.palexdev.materialfx.font.MFXFontIcon;
 import io.github.palexdev.materialfx.selection.ComboSelectionModelMock;
@@ -59,7 +59,7 @@ public class MFXComboBoxSkin<T> extends SkinBase<MFXComboBox<T>> {
 
     private final MFXIconWrapper icon;
     private final PopupControl popup;
-    private final MFXListView<T> listView;
+    private final MFXLegacyListView<T> listView;
     private final EventHandler<MouseEvent> popupHandler;
 
     private final Line unfocusedLine;
@@ -101,7 +101,7 @@ public class MFXComboBoxSkin<T> extends SkinBase<MFXComboBox<T>> {
         container = new HBox(20, valueLabel);
         container.setAlignment(Pos.CENTER_LEFT);
 
-        listView = new MFXListView<>();
+        listView = new MFXLegacyListView<>();
         listView.getStylesheets().add(comboBox.getUserAgentStylesheet());
         popup = buildPopup();
 

+ 3 - 3
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXFilterComboBoxSkin.java

@@ -3,10 +3,10 @@ package io.github.palexdev.materialfx.skins;
 import io.github.palexdev.materialfx.beans.MFXSnapshotWrapper;
 import io.github.palexdev.materialfx.controls.MFXFilterComboBox;
 import io.github.palexdev.materialfx.controls.MFXIconWrapper;
-import io.github.palexdev.materialfx.controls.MFXListView;
 import io.github.palexdev.materialfx.controls.MFXTextField;
 import io.github.palexdev.materialfx.controls.enums.Styles;
 import io.github.palexdev.materialfx.controls.factories.MFXAnimationFactory;
+import io.github.palexdev.materialfx.controls.legacy.MFXLegacyListView;
 import io.github.palexdev.materialfx.effects.RippleGenerator;
 import io.github.palexdev.materialfx.font.MFXFontIcon;
 import io.github.palexdev.materialfx.selection.ComboSelectionModelMock;
@@ -46,7 +46,7 @@ public class MFXFilterComboBoxSkin<T> extends SkinBase<MFXFilterComboBox<T>> {
 
     private final MFXIconWrapper icon;
     private final PopupControl popup;
-    private final MFXListView<T> listView;
+    private final MFXLegacyListView<T> listView;
     private final EventHandler<MouseEvent> popupHandler;
 
     private final Line unfocusedLine;
@@ -103,7 +103,7 @@ public class MFXFilterComboBoxSkin<T> extends SkinBase<MFXFilterComboBox<T>> {
         searchContainer.setAlignment(Pos.CENTER_LEFT);
         searchContainer.setManaged(false);
 
-        listView = new MFXListView<>();
+        listView = new MFXLegacyListView<>();
         listView.getStylesheets().add(comboBox.getUserAgentStylesheet());
         popup = buildPopup();
         popupHandler = event -> {

+ 7 - 7
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXListViewSkin.java → materialfx/src/main/java/io/github/palexdev/materialfx/skins/legacy/MFXLegacyListViewSkin.java

@@ -16,10 +16,10 @@
  *     along with MaterialFX.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-package io.github.palexdev.materialfx.skins;
+package io.github.palexdev.materialfx.skins.legacy;
 
-import io.github.palexdev.materialfx.controls.MFXListView;
 import io.github.palexdev.materialfx.controls.factories.MFXAnimationFactory;
+import io.github.palexdev.materialfx.controls.legacy.MFXLegacyListView;
 import io.github.palexdev.materialfx.effects.MFXDepthManager;
 import javafx.animation.Animation;
 import javafx.animation.KeyFrame;
@@ -40,12 +40,12 @@ import javafx.util.Duration;
 import java.util.Set;
 
 /**
- * This is the implementation of the {@code Skin} associated with every {@code MFXListView}.
+ * This is the implementation of the {@code Skin} associated with every {@code MFXLegacyListView}.
  * <p>
  * The most important thing this skin does is replacing the default scrollbars with new ones,
  * this makes styling them a lot more easy.
  */
-public class MFXListViewSkin<T> extends ListViewSkin<T> {
+public class MFXLegacyListViewSkin<T> extends ListViewSkin<T> {
     //================================================================================
     // Properties
     //================================================================================
@@ -60,7 +60,7 @@ public class MFXListViewSkin<T> extends ListViewSkin<T> {
     //================================================================================
     // Constructors
     //================================================================================
-    public MFXListViewSkin(final MFXListView<T> listView) {
+    public MFXLegacyListViewSkin(final MFXLegacyListView<T> listView) {
         super(listView);
 
         virtualFlow = (VirtualFlow<?>) listView.lookup(".virtual-flow");
@@ -108,7 +108,7 @@ public class MFXListViewSkin<T> extends ListViewSkin<T> {
      * Adds listeners for: mouseExited, mouseEntered, hideScrollBars, and depthLevel properties.
      */
     private void setListeners() {
-        MFXListView<T> listView = (MFXListView<T>) getSkinnable();
+        MFXLegacyListView<T> listView = (MFXLegacyListView<T>) getSkinnable();
 
         listView.setOnMouseExited(event -> {
             if (listView.isHideScrollBars()) {
@@ -174,7 +174,7 @@ public class MFXListViewSkin<T> extends ListViewSkin<T> {
         });
     }
 
-    private void bindScrollBars(MFXListView<?> listView) {
+    private void bindScrollBars(MFXLegacyListView<?> listView) {
         final Set<Node> nodes = listView.lookupAll("VirtualScrollBar");
         for (Node node : nodes) {
             if (node instanceof ScrollBar) {

+ 1 - 0
materialfx/src/main/java/module-info.java

@@ -12,6 +12,7 @@ module MaterialFX.materialfx.main {
     exports io.github.palexdev.materialfx.controls;
     exports io.github.palexdev.materialfx.controls.base;
     exports io.github.palexdev.materialfx.controls.cell;
+    exports io.github.palexdev.materialfx.controls.cell.legacy;
     exports io.github.palexdev.materialfx.controls.enums;
     exports io.github.palexdev.materialfx.controls.factories;
     exports io.github.palexdev.materialfx.controls.legacy;

+ 0 - 0
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listcell.css → materialfx/src/main/resources/io/github/palexdev/materialfx/css/legacy/mfx-listcell.css


+ 27 - 27
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listview.css → materialfx/src/main/resources/io/github/palexdev/materialfx/css/legacy/mfx-listview.css

@@ -17,7 +17,7 @@
  */
 
 /* Base */
-.mfx-list-view {
+.mfx-legacy-list-view {
     -fx-focus-color: transparent;
     -fx-faint-focus-color: transparent;
 /*    -fx-background-insets: 1;*/
@@ -25,7 +25,7 @@
 }
 
 /* Look up colors */
-.mfx-list-view {
+.mfx-legacy-list-view {
     -mfx-selection-bar: transparent;
     -mfx-selection-bar-non-focused: transparent;
     -mfx-box-border: transparent;
@@ -40,90 +40,90 @@
 }
 
 /* Remove JavaFX crap */
-.mfx-list-view > .virtual-flow > .corner {
+.mfx-legacy-list-view > .virtual-flow > .corner {
     -fx-background-color: transparent;
 }
 
-.mfx-list-view > .virtual-flow > .scroll-bar,
-.mfx-list-view > .virtual-flow > .scroll-bar .decrement-arrow,
-.mfx-list-view > .virtual-flow > .scroll-bar .increment-arrow,
-.mfx-list-view > .virtual-flow > .scroll-bar .decrement-button,
-.mfx-list-view > .virtual-flow > .scroll-bar .increment-button {
+.mfx-legacy-list-view > .virtual-flow > .scroll-bar,
+.mfx-legacy-list-view > .virtual-flow > .scroll-bar .decrement-arrow,
+.mfx-legacy-list-view > .virtual-flow > .scroll-bar .increment-arrow,
+.mfx-legacy-list-view > .virtual-flow > .scroll-bar .decrement-button,
+.mfx-legacy-list-view > .virtual-flow > .scroll-bar .increment-button {
     -fx-pref-width: 0;
     -fx-pref-height: 0;
 }
 
 
-.mfx-list-view .scroll-bar:horizontal .increment-button,
-.mfx-list-view .scroll-bar:horizontal .decrement-button {
+.mfx-legacy-list-view .scroll-bar:horizontal .increment-button,
+.mfx-legacy-list-view .scroll-bar:horizontal .decrement-button {
     -fx-background-color: transparent;
     -fx-background-radius: 0.0em;
     -fx-padding: 0.0 0.0 10.0 0.0;
 }
 
-.mfx-list-view .scroll-bar:vertical .increment-button,
-.mfx-list-view .scroll-bar:vertical .decrement-button {
+.mfx-legacy-list-view .scroll-bar:vertical .increment-button,
+.mfx-legacy-list-view .scroll-bar:vertical .decrement-button {
     -fx-background-color: transparent;
     -fx-background-radius: 0.0em;
     -fx-padding: 0.0 10.0 0.0 0.0;
 
 }
 
-.mfx-list-view .scroll-bar .increment-arrow,
-.mfx-list-view .scroll-bar .decrement-arrow {
+.mfx-legacy-list-view .scroll-bar .increment-arrow,
+.mfx-legacy-list-view .scroll-bar .decrement-arrow {
     -fx-shape: " ";
     -fx-padding: 0.15em 0.0;
 }
 
-.mfx-list-view .scroll-bar:horizontal .increment-arrow,
-.mfx-list-view .scroll-bar:horizontal .decrement-arrow {
+.mfx-legacy-list-view .scroll-bar:horizontal .increment-arrow,
+.mfx-legacy-list-view .scroll-bar:horizontal .decrement-arrow {
     -fx-shape: " ";
     -fx-padding: 0.0 0.05em;
 }
 
-.mfx-list-view .scroll-bar:vertical .increment-arrow,
-.mfx-list-view .scroll-bar:vertical .decrement-arrow {
+.mfx-legacy-list-view .scroll-bar:vertical .increment-arrow,
+.mfx-legacy-list-view .scroll-bar:vertical .decrement-arrow {
     -fx-shape: " ";
     -fx-padding: 0.0 0.05em;
 }
 
 /* Customize ScrollBars */
-.mfx-list-view .mfx-scroll-bar:horizontal .track {
+.mfx-legacy-list-view .mfx-scroll-bar:horizontal .track {
     -fx-background-color: -mfx-track-color;
     -fx-border-color: transparent;
     -fx-background-radius: 2.0em;
     -fx-border-radius: 2.0em;
 }
 
-.mfx-list-view .mfx-scroll-bar:vertical .track {
+.mfx-legacy-list-view .mfx-scroll-bar:vertical .track {
     -fx-background-color: -mfx-track-color;
     -fx-border-color: transparent;
     -fx-background-radius: 2.0em;
     -fx-border-radius: 2.0em;
 }
 
-.mfx-list-view .mfx-scroll-bar .decrement-arrow,
-.mfx-list-view .mfx-scroll-bar .increment-arrow {
+.mfx-legacy-list-view .mfx-scroll-bar .decrement-arrow,
+.mfx-legacy-list-view .mfx-scroll-bar .increment-arrow {
     -fx-pref-width: 0;
     -fx-pref-height: 0;
 }
 
-.mfx-list-view .mfx-scroll-bar {
+.mfx-legacy-list-view .mfx-scroll-bar {
     -fx-background-color: transparent;
     -fx-pref-width: 12;
     -fx-pref-height: 12;
     -fx-padding: 5 0.5 5 0.5;
 }
 
-.mfx-list-view .mfx-scroll-bar:horizontal .thumb,
-.mfx-list-view .mfx-scroll-bar:vertical .thumb {
+.mfx-legacy-list-view .mfx-scroll-bar:horizontal .thumb,
+.mfx-legacy-list-view .mfx-scroll-bar:vertical .thumb {
     -fx-background-color: -mfx-thumb-color;
     -fx-background-insets: 2.0, 0.0, 0.0;
     -fx-background-radius: 2.0em;
 }
 
-.mfx-list-view .mfx-scroll-bar:horizontal .thumb:hover,
-.mfx-list-view .mfx-scroll-bar:vertical .thumb:hover {
+.mfx-legacy-list-view .mfx-scroll-bar:horizontal .thumb:hover,
+.mfx-legacy-list-view .mfx-scroll-bar:vertical .thumb:hover {
     -fx-background-color: -mfx-thumb-hover-color;
     -fx-background-insets: 1.5, 0.0, 0.0;
     -fx-background-radius: 2.0em;