Browse Source

Version 11.5.6

Some improvements and bug fixes:
Moved cells to separate package.
MFXAnimationFactory added null check to resetNode().
MFXFontIcon added no-arg constructors for usage in SceneBuilder,
use Paint interface because SceneBuilder is stupid.
MFXTextFieldSkin, mfx-textfield.css fixed strange font size bug when clicking on the validation label.
mfx-dialog.css fixed font.

Added new resources

Signed-off-by: PAlex404 <alessandro.parisi406@gmail.com>
PAlex404 4 years ago
parent
commit
1e2c183f6e
21 changed files with 89 additions and 27 deletions
  1. 23 0
      .run/MaterialFX [jlinkZip].run.xml
  2. 1 1
      .run/MaterialFX [run].run.xml
  3. 23 0
      .run/MaterialFX [testrun].run.xml
  4. 2 2
      README.md
  5. 1 1
      build.gradle
  6. 2 2
      demo/build.gradle
  7. 1 1
      materialfx/gradle.properties
  8. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXComboBox.java
  9. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXListView.java
  10. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXDateCell.java
  11. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXListCell.java
  12. 4 2
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXAnimationFactory.java
  13. 5 1
      materialfx/src/main/java/io/github/palexdev/materialfx/font/FontResources.java
  14. 13 8
      materialfx/src/main/java/io/github/palexdev/materialfx/font/MFXFontIcon.java
  15. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDateCellSkin.java
  16. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDatePickerContent.java
  17. 0 2
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXTextFieldSkin.java
  18. 1 0
      materialfx/src/main/java/module-info.java
  19. 2 3
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-dialog.css
  20. 5 0
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-textfield.css
  21. BIN
      materialfx/src/main/resources/io/github/palexdev/materialfx/fonts/materialfx-resources.ttf

+ 23 - 0
.run/MaterialFX [jlinkZip].run.xml

@@ -0,0 +1,23 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="MaterialFX [jlinkZip]" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list>
+          <option value="jlinkZip" />
+        </list>
+      </option>
+      <option name="vmOptions" value="" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>

+ 1 - 1
.run/MaterialFX [run].run.xml

@@ -4,7 +4,7 @@
       <option name="executionName" />
       <option name="externalProjectPath" value="$PROJECT_DIR$" />
       <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="" />
+      <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.Demo" />
       <option name="taskDescriptions">
         <list />
       </option>

+ 23 - 0
.run/MaterialFX [testrun].run.xml

@@ -0,0 +1,23 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="MaterialFX [testrun]" type="GradleRunConfiguration" factoryName="Gradle">
+    <ExternalSystemSettings>
+      <option name="executionName" />
+      <option name="externalProjectPath" value="$PROJECT_DIR$" />
+      <option name="externalSystemIdString" value="GRADLE" />
+      <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.TestDemo" />
+      <option name="taskDescriptions">
+        <list />
+      </option>
+      <option name="taskNames">
+        <list>
+          <option value="run" />
+        </list>
+      </option>
+      <option name="vmOptions" value="" />
+    </ExternalSystemSettings>
+    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+    <DebugAllEnabled>false</DebugAllEnabled>
+    <method v="2" />
+  </configuration>
+</component>

+ 2 - 2
README.md

@@ -86,7 +86,7 @@ repositories {
 }
 
 dependencies {
-implementation 'io.github.palexdev:materialfx:11.4.4'
+implementation 'io.github.palexdev:materialfx:11.5.6'
 }
 ```
 ###### Maven
@@ -94,7 +94,7 @@ implementation 'io.github.palexdev:materialfx:11.4.4'
 <dependency>
   <groupId>io.github.palexdev</groupId>
   <artifactId>materialfx</artifactId>
-  <version>11.4.4</version>
+  <version>11.5.6</version>
 </dependency>
 ```
 

+ 1 - 1
build.gradle

@@ -4,7 +4,7 @@ plugins {
 }
 
 group 'io.github.palexdev'
-version '11.5.5-staging'
+version '11.5.6'
 
 repositories {
     mavenCentral()

+ 2 - 2
demo/build.gradle

@@ -15,9 +15,9 @@ dependencies {
     implementation 'org.kordamp.ikonli:ikonli-fontawesome5-pack:11.5.0'
     implementation project(':materialfx')
 }
+
 application {
-    mainClassName = 'MaterialFX.demo.main/io.github.palexdev.materialfx.demo.Demo'
-    //mainClassName = 'MaterialFX.demo.main/io.github.palexdev.materialfx.demo.TestDemo'
+    mainClassName = moduleName.concat('/').concat(project.findProperty("chooseMain").toString())
 }
 
 jlink {

+ 1 - 1
materialfx/gradle.properties

@@ -1,6 +1,6 @@
 GROUP=io.github.palexdev
 POM_ARTIFACT_ID=materialfx
-VERSION_NAME=11.5.5-staging
+VERSION_NAME=11.5.6
 
 POM_NAME=materialfx
 POM_DESCRIPTION=Material Desgin components for JavaFX

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

@@ -2,6 +2,7 @@ package io.github.palexdev.materialfx.controls;
 
 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.skins.MFXComboBoxSkin;
 import io.github.palexdev.materialfx.validation.MFXDialogValidator;
 import javafx.beans.property.BooleanProperty;

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

@@ -1,6 +1,7 @@
 package io.github.palexdev.materialfx.controls;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
+import io.github.palexdev.materialfx.controls.cell.MFXListCell;
 import io.github.palexdev.materialfx.effects.DepthLevel;
 import io.github.palexdev.materialfx.skins.MFXListViewSkin;
 import io.github.palexdev.materialfx.utils.ColorUtils;

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXDateCell.java → materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXDateCell.java

@@ -1,4 +1,4 @@
-package io.github.palexdev.materialfx.controls;
+package io.github.palexdev.materialfx.controls.cell;
 
 import io.github.palexdev.materialfx.effects.RippleGenerator;
 import io.github.palexdev.materialfx.skins.MFXDateCellSkin;

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXListCell.java → materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXListCell.java

@@ -1,4 +1,4 @@
-package io.github.palexdev.materialfx.controls;
+package io.github.palexdev.materialfx.controls.cell;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
 import io.github.palexdev.materialfx.effects.RippleGenerator;

+ 4 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXAnimationFactory.java

@@ -151,8 +151,10 @@ public enum MFXAnimationFactory {
     }
 
     private static void resetNode(Node node) {
-        node.setTranslateX(0);
-        node.setTranslateY(0);
+        if (node != null) {
+            node.setTranslateX(0);
+            node.setTranslateY(0);
+        }
     }
     public abstract Timeline build(Node node, double durationMillis);
 }

+ 5 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/font/FontResources.java

@@ -10,7 +10,11 @@ public enum FontResources {
     CHEVRON_DOWN("mfx-chevron-down", '\uE900'),
     CHEVRON_LEFT("mfx-chevron-left", '\uE901'),
     CHEVRON_RIGHT("mfx-chevron-right", '\uE902'),
-    CHEVRON_UP("mfx-chevron-right", '\uE903')
+    CHEVRON_UP("mfx-chevron-right", '\uE903'),
+    CIRCLE("mfx-circle", '\uE909'),
+    GOOGLE("mfx-google", '\uE90a'),
+    MINUS_CIRCLE("mfx-minus-circle", '\uE907'),
+    X_CIRCLE("mfx-x-circle", '\uE908')
     ;
 
     public static FontResources findByDescription(String description) {

+ 13 - 8
materialfx/src/main/java/io/github/palexdev/materialfx/font/MFXFontIcon.java

@@ -2,6 +2,7 @@ package io.github.palexdev.materialfx.font;
 
 import javafx.css.*;
 import javafx.scene.paint.Color;
+import javafx.scene.paint.Paint;
 import javafx.scene.text.Font;
 import javafx.scene.text.Text;
 
@@ -20,6 +21,10 @@ public class MFXFontIcon extends Text {
     //================================================================================
     // Constructors
     //================================================================================
+    public MFXFontIcon() {
+        initialize();
+    }
+
     public MFXFontIcon(String description) {
         this(description, 10);
     }
@@ -32,7 +37,6 @@ public class MFXFontIcon extends Text {
         initialize();
 
         setDescription(description);
-        setFont(FontHandler.getResources());
         setSize(size);
         setColor(color);
 
@@ -43,7 +47,8 @@ public class MFXFontIcon extends Text {
     // Methods
     //================================================================================
     private void initialize() {
-        getStyleClass().setAll(STYLE_CLASS);
+        getStyleClass().add(STYLE_CLASS);
+        setFont(FontHandler.getResources());
 
         sizeProperty().addListener((observable, oldValue, newValue) -> {
             Font font = getFont();
@@ -82,7 +87,7 @@ public class MFXFontIcon extends Text {
     /**
      * Specifies the color of the icon.
      */
-    private final StyleableObjectProperty<Color> color = new SimpleStyleableObjectProperty<>(
+    private final StyleableObjectProperty<Paint> color = new SimpleStyleableObjectProperty<>(
             StyleableProperties.COLOR,
             this,
             "color",
@@ -113,15 +118,15 @@ public class MFXFontIcon extends Text {
         this.size.set(size);
     }
 
-    public Color getColor() {
+    public Paint getColor() {
         return color.get();
     }
 
-    public StyleableObjectProperty<Color> colorProperty() {
+    public StyleableObjectProperty<Paint> colorProperty() {
         return color;
     }
 
-    public void setColor(Color color) {
+    public void setColor(Paint color) {
         this.color.set(color);
     }
 
@@ -144,8 +149,8 @@ public class MFXFontIcon extends Text {
                         10
                 );
 
-        private static final CssMetaData<MFXFontIcon, Color> COLOR =
-                FACTORY.createColorCssMetaData(
+        private static final CssMetaData<MFXFontIcon, Paint> COLOR =
+                FACTORY.createPaintCssMetaData(
                         "-mfx-color",
                         MFXFontIcon::colorProperty,
                         Color.rgb(117, 117, 117)

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDateCellSkin.java

@@ -1,6 +1,6 @@
 package io.github.palexdev.materialfx.skins;
 
-import io.github.palexdev.materialfx.controls.MFXDateCell;
+import io.github.palexdev.materialfx.controls.cell.MFXDateCell;
 import io.github.palexdev.materialfx.controls.factories.RippleClipTypeFactory;
 import io.github.palexdev.materialfx.effects.RippleClipType;
 import io.github.palexdev.materialfx.effects.RippleGenerator;

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDatePickerContent.java

@@ -2,9 +2,9 @@ package io.github.palexdev.materialfx.skins;
 
 import io.github.palexdev.materialfx.MFXResourcesLoader;
 import io.github.palexdev.materialfx.beans.MFXSnapshotWrapper;
-import io.github.palexdev.materialfx.controls.MFXDateCell;
 import io.github.palexdev.materialfx.controls.MFXScrollPane;
 import io.github.palexdev.materialfx.controls.MFXTextField;
+import io.github.palexdev.materialfx.controls.cell.MFXDateCell;
 import io.github.palexdev.materialfx.effects.RippleGenerator;
 import io.github.palexdev.materialfx.font.MFXFontIcon;
 import io.github.palexdev.materialfx.utils.ColorUtils;

+ 0 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXTextFieldSkin.java

@@ -12,7 +12,6 @@ import javafx.scene.layout.StackPane;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Line;
 import javafx.scene.shape.SVGPath;
-import javafx.scene.text.Font;
 import javafx.util.Duration;
 
 /**
@@ -64,7 +63,6 @@ public class MFXTextFieldSkin extends TextFieldSkin {
         validate = new Label("", stackPane);
         validate.getStyleClass().add("validate-label");
         validate.textProperty().bind(textField.getValidator().validatorMessageProperty());
-        validate.setFont(Font.font(padding));
         validate.setGraphicTextGap(padding);
         validate.setVisible(false);
 

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

@@ -11,6 +11,7 @@ module MaterialFX.materialfx.main {
     exports io.github.palexdev.materialfx.collections;
     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.enums;
     exports io.github.palexdev.materialfx.controls.factories;
     exports io.github.palexdev.materialfx.effects;

+ 2 - 3
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-dialog.css

@@ -12,13 +12,12 @@
 }
 
 .mfx-dialog .title-label {
-    -fx-font-family: "Open Sans";
+    -fx-font-family: "Open Sans Bold";
     -fx-font-size: 14;
-    -fx-font-weight: bold;
 }
 
 .mfx-dialog .content-label {
-    -fx-font-family: "Open Sans";
+    -fx-font-family: "Open Sans Regular";
     -fx-font-size: 11.5;
 }
 

+ 5 - 0
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-textfield.css

@@ -6,4 +6,9 @@
 .mfx-text-field,
 .mfx-text-field:focused {
     -fx-background-color: TRANSPARENT, TRANSPARENT, TRANSPARENT;
+}
+
+.mfx-text-field .validate-label {
+    -fx-font-family: "Open Sans SemiBold";
+    -fx-font-size: 11;
 }

BIN
materialfx/src/main/resources/io/github/palexdev/materialfx/fonts/materialfx-resources.ttf