Skip to content

Commit

Permalink
Merge pull request #30 from kadampabookings/j2cl
Browse files Browse the repository at this point in the history
Added J2CL support
  • Loading branch information
salmonb authored Feb 29, 2024
2 parents 3ac1bce + b14fb19 commit d8ad900
Show file tree
Hide file tree
Showing 171 changed files with 1,132 additions and 572 deletions.
22 changes: 12 additions & 10 deletions webfx-kit/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,41 +16,43 @@
<packaging>pom</packaging>

<modules>
<module>webfx-kit-gwt</module>
<module>webfx-kit-javafxbase-emul</module>
<module>webfx-kit-javafxcontrols-emul</module>
<module>webfx-kit-javafxcontrols-peers-base</module>
<module>webfx-kit-javafxcontrols-peers-gwt</module>
<module>webfx-kit-javafxcontrols-peers-gwt-j2cl</module>
<module>webfx-kit-javafxcontrols-registry</module>
<module>webfx-kit-javafxcontrols-registry-gwt</module>
<module>webfx-kit-javafxcontrols-registry-gwt-j2cl</module>
<module>webfx-kit-javafxgraphics-emul</module>
<module>webfx-kit-javafxgraphics-fat-j2cl</module>
<module>webfx-kit-javafxgraphics-gwt-j2cl</module>
<module>webfx-kit-javafxgraphics-openjfx</module>
<module>webfx-kit-javafxgraphics-peers</module>
<module>webfx-kit-javafxgraphics-peers-base</module>
<module>webfx-kit-javafxgraphics-peers-gwt</module>
<module>webfx-kit-javafxgraphics-peers-gwt-j2cl</module>
<module>webfx-kit-javafxgraphics-registry</module>
<module>webfx-kit-javafxgraphics-registry-gwt</module>
<module>webfx-kit-javafxgraphics-registry-gwt-j2cl</module>
<module>webfx-kit-javafxmedia-emul</module>
<module>webfx-kit-javafxmedia-gluon</module>
<module>webfx-kit-javafxmedia-peers-gwt</module>
<module>webfx-kit-javafxmedia-peers-gwt-j2cl</module>
<module>webfx-kit-javafxmedia-registry</module>
<module>webfx-kit-javafxmedia-registry-gwt</module>
<module>webfx-kit-javafxmedia-registry-gwt-j2cl</module>
<module>webfx-kit-javafxweb-emul</module>
<module>webfx-kit-javafxweb-enginepeer</module>
<module>webfx-kit-javafxweb-peers-base</module>
<module>webfx-kit-javafxweb-peers-gwt</module>
<module>webfx-kit-javafxweb-registry</module>
<module>webfx-kit-javafxweb-registry-gwt</module>
<module>webfx-kit-launcher</module>
<module>webfx-kit-openjfx</module>
<module>webfx-kit-platform-audio-openjfx-gwt</module>
<module>webfx-kit-platform-audio-openjfx-gwt-j2cl</module>
<module>webfx-kit-platform-browser-openjfx</module>
<module>webfx-kit-platform-visibility-openjfx</module>
<module>webfx-kit-statusbar</module>
<module>webfx-kit-statusbar-gluon</module>
<module>webfx-kit-statusbar-none</module>
<module>webfx-kit-util</module>
<module>webfx-kit-util-scene</module>
<module>webfx-kit-webgl</module>
<module>webfx-kit-webgl-gwt</module>
<module>webfx-kit-webgl-gwt-j2cl</module>
</modules>

</project>
11 changes: 11 additions & 0 deletions webfx-kit/webfx-kit-javafxbase-emul/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,15 @@

<artifactId>webfx-kit-javafxbase-emul</artifactId>

<dependencies>

<dependency>
<groupId>dev.webfx</groupId>
<artifactId>webfx-platform-javabase-emul-j2cl</artifactId>
<version>0.1.0-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>

</dependencies>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

package com.sun.javafx.collections;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
Expand All @@ -42,7 +41,8 @@ public class SortHelper {
private static final int INSERTIONSORT_THRESHOLD = 7;

public <T extends Comparable<? super T>> int[] sort(List<T> list) {
T[] a = (T[]) Array.newInstance(Comparable.class, list.size());
//T[] a = (T[]) Array.newInstance(Comparable.class, list.size());
Comparable[] a = new Comparable[list.size()];
try {
a = list.toArray(a);
} catch (ArrayStoreException e) {
Expand Down Expand Up @@ -86,7 +86,7 @@ public <T> int[] sort(T[] a, Comparator<? super T> c) {
}

public <T> int[] sort(T[] a, int fromIndex, int toIndex,
Comparator<? super T> c) {
Comparator<? super T> c) {
rangeCheck(a.length, fromIndex, toIndex);
T[] aux = (T[])copyOfRange(a, fromIndex, toIndex);
int[] result = initPermutation(a.length);
Expand All @@ -112,7 +112,7 @@ public int[] sort(int[] a, int fromIndex, int toIndex) {
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
Expand All @@ -126,7 +126,7 @@ private static int[] copyOfRange(int[] original, int from, int to) {
throw new IllegalArgumentException(from + " > " + to);
int[] copy = new int[newLength];
System.arraycopy(original, from, copy, 0,
Math.min(original.length - from, newLength));
Math.min(original.length - from, newLength));
return copy;
}

Expand All @@ -138,29 +138,29 @@ private static <T,U> T[] copyOfRange(U[] original, int from, int to, Class<? ext
int newLength = to - from;
if (newLength < 0)
throw new IllegalArgumentException(from + " > " + to);
T[] copy = ((Object)newType == (Object)Object[].class)
? (T[]) new Object[newLength]
: (T[]) Array.newInstance(newType.getComponentType(), newLength);
T[] copy = //((Object)newType == (Object)Object[].class)
/*?*/ (T[]) new Object[newLength]
/*: (T[]) Array.newInstance(newType.getComponentType(), newLength)*/;
System.arraycopy(original, from, copy, 0,
Math.min(original.length - from, newLength));
Math.min(original.length - from, newLength));
return copy;
}

/**
* Merge sort from Oracle JDK 6
*/
private void mergeSort(int[] src,
int[] dest,
int low,
int high,
int off) {
int[] dest,
int low,
int high,
int off) {
int length = high - low;

// Insertion sort on smallest arrays
if (length < INSERTIONSORT_THRESHOLD) {
for (int i=low; i<high; i++)
for (int j=i; j>low &&
((Comparable) dest[j-1]).compareTo(dest[j])>0; j--)
((Comparable) dest[j-1]).compareTo(dest[j])>0; j--)
swap(dest, j, j-1);
return;
}
Expand Down Expand Up @@ -201,17 +201,17 @@ private void mergeSort(int[] src,
* Merge sort from Oracle JDK 6
*/
private void mergeSort(Object[] src,
Object[] dest,
int low,
int high,
int off) {
Object[] dest,
int low,
int high,
int off) {
int length = high - low;

// Insertion sort on smallest arrays
if (length < INSERTIONSORT_THRESHOLD) {
for (int i=low; i<high; i++)
for (int j=i; j>low &&
((Comparable) dest[j-1]).compareTo(dest[j])>0; j--)
((Comparable) dest[j-1]).compareTo(dest[j])>0; j--)
swap(dest, j, j-1);
return;
}
Expand Down Expand Up @@ -249,16 +249,16 @@ private void mergeSort(Object[] src,
}

private void mergeSort(Object[] src,
Object[] dest,
int low, int high, int off,
Comparator c) {
Object[] dest,
int low, int high, int off,
Comparator c) {
int length = high - low;

// Insertion sort on smallest arrays
if (length < INSERTIONSORT_THRESHOLD) {
for (int i=low; i<high; i++)
for (int j=i; j>low && c.compare(dest[j-1], dest[j])>0; j--)
swap(dest, j, j-1);
for (int j=i; j>low && c.compare(dest[j-1], dest[j])>0; j--)
swap(dest, j, j-1);
return;
}

Expand All @@ -274,8 +274,8 @@ private void mergeSort(Object[] src,
// If list is already sorted, just copy from src to dest. This is an
// optimization that results in faster sorts for nearly ordered lists.
if (c.compare(src[mid-1], src[mid]) <= 0) {
System.arraycopy(src, low, dest, destLow, length);
return;
System.arraycopy(src, low, dest, destLow, length);
return;
}

// Merge sorted halves (now in src) into dest
Expand Down
14 changes: 14 additions & 0 deletions webfx-kit/webfx-kit-javafxcontrols-emul/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@
<version>0.1.0-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>org.treblereel.gwt.gwtproject.time</groupId>
<artifactId>gwt-time</artifactId>
<version>202203291</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>dev.webfx</groupId>
<artifactId>webfx-kit-javafxcontrols-registry</artifactId>
Expand All @@ -46,6 +53,13 @@
<version>0.1.0-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>dev.webfx</groupId>
<artifactId>webfx-platform-javabase-emul-j2cl</artifactId>
<version>0.1.0-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>dev.webfx</groupId>
<artifactId>webfx-platform-resource</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<version>0.1.0-SNAPSHOT</version>
</parent>

<artifactId>webfx-kit-javafxcontrols-peers-gwt</artifactId>
<artifactId>webfx-kit-javafxcontrols-peers-gwt-j2cl</artifactId>

<dependencies>

Expand Down Expand Up @@ -62,7 +62,7 @@

<dependency>
<groupId>dev.webfx</groupId>
<artifactId>webfx-kit-javafxgraphics-peers-gwt</artifactId>
<artifactId>webfx-kit-javafxgraphics-peers-gwt-j2cl</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLElement;
import javafx.scene.control.ButtonBase;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLElement;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ButtonPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ButtonPeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.NoWrapWhiteSpacePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.NoWrapWhiteSpacePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;

/**
* @author Bruno Salmon
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLElement;
import javafx.scene.control.CheckBox;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.CheckBoxPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.CheckBoxPeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;

/**
* @author Bruno Salmon
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLOptionElement;
import elemental2.dom.HTMLSelectElement;
import javafx.collections.ListChangeListener;
import javafx.scene.control.ChoiceBox;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ChoiceBoxPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ChoiceBoxPeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.SceneRequester;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;

import java.util.List;
import java.util.stream.Collectors;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.CSSStyleDeclaration;
import elemental2.dom.HTMLElement;
import javafx.geometry.Insets;
import javafx.scene.control.Control;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.HtmlRegionPeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.HtmlRegionPeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ControlPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ControlPeerMixin;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLElement;
import javafx.scene.control.DatePicker;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.TextFieldPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.TextFieldPeerMixin;
import javafx.scene.control.DatePicker;

/**
* @author Bruno Salmon
Expand All @@ -14,11 +13,7 @@ public final class HtmlDatePickerPeer
extends HtmlTextFieldPeer<N, NB, NM> {

public HtmlDatePickerPeer() {
super();
}

public HtmlDatePickerPeer(NB base, HTMLElement element) {
super(base, element);
super("fx-datepicker");
}

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import elemental2.dom.HTMLElement;
import javafx.scene.control.Hyperlink;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ButtonBasePeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.ButtonBasePeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;

/**
* @author Bruno Salmon
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import javafx.scene.control.Label;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.LabelPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.LabelPeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.layoutmeasurable.HtmlLayoutMeasurableNoGrow;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;

/**
* @author Bruno Salmon
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package dev.webfx.kit.mapper.peers.javafxcontrols.gwt.html;
package dev.webfx.kit.mapper.peers.javafxcontrols.gwtj2cl.html;

import dev.webfx.kit.mapper.peers.javafxcontrols.base.LabeledPeerBase;
import dev.webfx.kit.mapper.peers.javafxcontrols.base.LabeledPeerMixin;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.HtmlImageViewPeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.html.HtmlNodePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.shared.HtmlSvgNodePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlPaints;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwt.util.HtmlUtil;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.HtmlImageViewPeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.html.HtmlNodePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.shared.HtmlSvgNodePeer;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlPaints;
import dev.webfx.kit.mapper.peers.javafxgraphics.gwtj2cl.util.HtmlUtil;
import dev.webfx.platform.util.Strings;
import elemental2.dom.Element;
import elemental2.dom.HTMLElement;
Expand Down
Loading

0 comments on commit d8ad900

Please sign in to comment.