Checkstyle: optimize imports
This commit is contained in:
parent
69909a4074
commit
a9bc7ace6f
@ -1,12 +1,11 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.beans.value.ObservableValue;
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.scene.control.Control;
|
import javafx.scene.control.Control;
|
||||||
import javafx.scene.control.SkinBase;
|
import javafx.scene.control.SkinBase;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public abstract class BehaviorSkinBase<C extends Control, B extends BehaviorBase<C, ?>> extends SkinBase<C> {
|
public abstract class BehaviorSkinBase<C extends Control, B extends BehaviorBase<C, ?>> extends SkinBase<C> {
|
||||||
|
|
||||||
protected B behavior;
|
protected B behavior;
|
||||||
|
@ -28,17 +28,25 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
import javafx.beans.property.*;
|
import java.util.UUID;
|
||||||
|
import javafx.beans.property.BooleanProperty;
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
import javafx.beans.property.ObjectPropertyBase;
|
||||||
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.event.Event;
|
import javafx.event.Event;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
import javafx.event.EventType;
|
import javafx.event.EventType;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.ButtonBase;
|
||||||
|
import javafx.scene.control.Control;
|
||||||
|
import javafx.scene.control.Hyperlink;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.Skin;
|
||||||
|
import javafx.scene.control.TreeItem;
|
||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import javafx.util.Callback;
|
import javafx.util.Callback;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a bread crumb bar. This control is useful to visualize and navigate
|
* Represents a bread crumb bar. This control is useful to visualize and navigate
|
||||||
* a hierarchical path structure, such as file systems.
|
* a hierarchical path structure, such as file systems.
|
||||||
|
@ -29,6 +29,9 @@
|
|||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
import atlantafx.base.controls.Breadcrumbs.BreadCrumbItem;
|
import atlantafx.base.controls.Breadcrumbs.BreadCrumbItem;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javafx.css.PseudoClass;
|
import javafx.css.PseudoClass;
|
||||||
import javafx.event.Event;
|
import javafx.event.Event;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
@ -37,10 +40,6 @@ import javafx.scene.control.ButtonBase;
|
|||||||
import javafx.scene.control.SkinBase;
|
import javafx.scene.control.SkinBase;
|
||||||
import javafx.scene.control.TreeItem.TreeModificationEvent;
|
import javafx.scene.control.TreeItem.TreeModificationEvent;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class BreadcrumbsSkin<T> extends SkinBase<Breadcrumbs<T>> {
|
public class BreadcrumbsSkin<T> extends SkinBase<Breadcrumbs<T>> {
|
||||||
|
|
||||||
protected static final PseudoClass FIRST = PseudoClass.getPseudoClass("first");
|
protected static final PseudoClass FIRST = PseudoClass.getPseudoClass("first");
|
||||||
|
@ -26,6 +26,15 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import java.time.DateTimeException;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.chrono.Chronology;
|
||||||
|
import java.time.chrono.IsoChronology;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
import javafx.beans.property.ObjectProperty;
|
import javafx.beans.property.ObjectProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
@ -42,16 +51,6 @@ import javafx.scene.control.DateCell;
|
|||||||
import javafx.scene.control.Skin;
|
import javafx.scene.control.Skin;
|
||||||
import javafx.util.Callback;
|
import javafx.util.Callback;
|
||||||
|
|
||||||
import java.time.DateTimeException;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.chrono.Chronology;
|
|
||||||
import java.time.chrono.IsoChronology;
|
|
||||||
import java.time.temporal.ChronoUnit;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The DatePicker control allows the user to select a date. The calendar is based on either
|
* The DatePicker control allows the user to select a date. The calendar is based on either
|
||||||
* the standard ISO-8601 chronology or any of the other chronology classes defined in the
|
* the standard ISO-8601 chronology or any of the other chronology classes defined in the
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
import javafx.scene.input.KeyEvent;
|
|
||||||
import javafx.scene.input.MouseEvent;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
|
|
||||||
import static atlantafx.base.util.PlatformUtils.isMac;
|
import static atlantafx.base.util.PlatformUtils.isMac;
|
||||||
import static java.time.temporal.ChronoUnit.MONTHS;
|
import static java.time.temporal.ChronoUnit.MONTHS;
|
||||||
import static java.time.temporal.ChronoUnit.YEARS;
|
import static java.time.temporal.ChronoUnit.YEARS;
|
||||||
import static javafx.scene.input.KeyCode.ESCAPE;
|
import static javafx.scene.input.KeyCode.ESCAPE;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import javafx.scene.input.KeyEvent;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
|
||||||
public class InlineDatePickerBehavior extends BehaviorBase<InlineDatePicker, InlineDatePickerSkin> {
|
public class InlineDatePickerBehavior extends BehaviorBase<InlineDatePicker, InlineDatePickerSkin> {
|
||||||
|
|
||||||
public InlineDatePickerBehavior(InlineDatePicker control, InlineDatePickerSkin skin) {
|
public InlineDatePickerBehavior(InlineDatePicker control, InlineDatePickerSkin skin) {
|
||||||
|
@ -26,21 +26,14 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
import javafx.beans.binding.Bindings;
|
import static atlantafx.base.controls.InlineDatePicker.isValidDate;
|
||||||
import javafx.beans.binding.ObjectBinding;
|
import static java.time.temporal.ChronoField.DAY_OF_WEEK;
|
||||||
import javafx.beans.property.ObjectProperty;
|
import static java.time.temporal.ChronoField.MONTH_OF_YEAR;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import static java.time.temporal.ChronoUnit.DAYS;
|
||||||
import javafx.event.ActionEvent;
|
import static java.time.temporal.ChronoUnit.MONTHS;
|
||||||
import javafx.event.EventHandler;
|
import static java.time.temporal.ChronoUnit.WEEKS;
|
||||||
import javafx.scene.Node;
|
import static java.time.temporal.ChronoUnit.YEARS;
|
||||||
import javafx.scene.Scene;
|
import static javafx.scene.layout.Region.USE_PREF_SIZE;
|
||||||
import javafx.scene.control.Button;
|
|
||||||
import javafx.scene.control.DateCell;
|
|
||||||
import javafx.scene.control.Label;
|
|
||||||
import javafx.scene.input.MouseButton;
|
|
||||||
import javafx.scene.input.MouseEvent;
|
|
||||||
import javafx.scene.layout.*;
|
|
||||||
import javafx.util.Callback;
|
|
||||||
|
|
||||||
import java.time.DateTimeException;
|
import java.time.DateTimeException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@ -57,12 +50,27 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import javafx.beans.binding.Bindings;
|
||||||
import static atlantafx.base.controls.InlineDatePicker.isValidDate;
|
import javafx.beans.binding.ObjectBinding;
|
||||||
import static java.time.temporal.ChronoField.DAY_OF_WEEK;
|
import javafx.beans.property.ObjectProperty;
|
||||||
import static java.time.temporal.ChronoField.MONTH_OF_YEAR;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import static java.time.temporal.ChronoUnit.*;
|
import javafx.event.ActionEvent;
|
||||||
import static javafx.scene.layout.Region.USE_PREF_SIZE;
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.scene.Node;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.DateCell;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.input.MouseButton;
|
||||||
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.layout.ColumnConstraints;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.util.Callback;
|
||||||
|
|
||||||
public class InlineDatePickerSkin extends BehaviorSkinBase<InlineDatePicker, InlineDatePickerBehavior> {
|
public class InlineDatePickerSkin extends BehaviorSkinBase<InlineDatePicker, InlineDatePickerBehavior> {
|
||||||
|
|
||||||
|
@ -28,11 +28,24 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static javafx.scene.input.MouseEvent.MOUSE_CLICKED;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Timer;
|
||||||
|
import java.util.TimerTask;
|
||||||
import javafx.animation.FadeTransition;
|
import javafx.animation.FadeTransition;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.beans.WeakInvalidationListener;
|
import javafx.beans.WeakInvalidationListener;
|
||||||
import javafx.beans.property.*;
|
import javafx.beans.property.BooleanProperty;
|
||||||
|
import javafx.beans.property.DoubleProperty;
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
|
import javafx.beans.property.SimpleDoubleProperty;
|
||||||
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
|
import javafx.beans.property.StringProperty;
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
import javafx.beans.value.WeakChangeListener;
|
import javafx.beans.value.WeakChangeListener;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
@ -48,13 +61,6 @@ import javafx.stage.Window;
|
|||||||
import javafx.stage.WindowEvent;
|
import javafx.stage.WindowEvent;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Timer;
|
|
||||||
import java.util.TimerTask;
|
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
|
||||||
import static javafx.scene.input.MouseEvent.MOUSE_CLICKED;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Popover control provides detailed information about an owning node in a
|
* The Popover control provides detailed information about an owning node in a
|
||||||
* popup window. The popup window has a very lightweight appearance (no default
|
* popup window. The popup window has a very lightweight appearance (no default
|
||||||
|
@ -28,6 +28,14 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import static atlantafx.base.controls.Popover.ArrowLocation;
|
||||||
|
import static java.lang.Double.MAX_VALUE;
|
||||||
|
import static javafx.geometry.Pos.TOP_RIGHT;
|
||||||
|
import static javafx.scene.control.ContentDisplay.GRAPHIC_ONLY;
|
||||||
|
import static javafx.scene.paint.Color.YELLOW;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.DoubleProperty;
|
||||||
@ -42,18 +50,17 @@ import javafx.scene.control.Skin;
|
|||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.shape.*;
|
import javafx.scene.shape.Circle;
|
||||||
|
import javafx.scene.shape.HLineTo;
|
||||||
|
import javafx.scene.shape.Line;
|
||||||
|
import javafx.scene.shape.LineTo;
|
||||||
|
import javafx.scene.shape.MoveTo;
|
||||||
|
import javafx.scene.shape.Path;
|
||||||
|
import javafx.scene.shape.PathElement;
|
||||||
|
import javafx.scene.shape.QuadCurveTo;
|
||||||
|
import javafx.scene.shape.VLineTo;
|
||||||
import javafx.stage.Window;
|
import javafx.stage.Window;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static atlantafx.base.controls.Popover.ArrowLocation;
|
|
||||||
import static java.lang.Double.MAX_VALUE;
|
|
||||||
import static javafx.geometry.Pos.TOP_RIGHT;
|
|
||||||
import static javafx.scene.control.ContentDisplay.GRAPHIC_ONLY;
|
|
||||||
import static javafx.scene.paint.Color.YELLOW;
|
|
||||||
|
|
||||||
public class PopoverSkin implements Skin<Popover> {
|
public class PopoverSkin implements Skin<Popover> {
|
||||||
|
|
||||||
private static final String DETACHED_STYLE_CLASS = "detached";
|
private static final String DETACHED_STYLE_CLASS = "detached";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javafx.animation.Animation;
|
import javafx.animation.Animation;
|
||||||
import javafx.animation.Interpolator;
|
import javafx.animation.Interpolator;
|
||||||
import javafx.animation.RotateTransition;
|
import javafx.animation.RotateTransition;
|
||||||
@ -21,10 +24,6 @@ import javafx.scene.shape.Arc;
|
|||||||
import javafx.scene.shape.Circle;
|
import javafx.scene.shape.Circle;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RingProgressIndicatorSkin extends SkinBase<RingProgressIndicator> {
|
public class RingProgressIndicatorSkin extends SkinBase<RingProgressIndicator> {
|
||||||
|
|
||||||
protected static final double DEFAULT_ANIMATION_TIME = 3;
|
protected static final double DEFAULT_ANIMATION_TIME = 3;
|
||||||
|
@ -28,6 +28,9 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.base.controls;
|
package atlantafx.base.controls;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javafx.animation.Animation;
|
import javafx.animation.Animation;
|
||||||
import javafx.animation.TranslateTransition;
|
import javafx.animation.TranslateTransition;
|
||||||
import javafx.beans.property.DoubleProperty;
|
import javafx.beans.property.DoubleProperty;
|
||||||
@ -43,10 +46,6 @@ import javafx.scene.control.SkinBase;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ToggleSwitchSkin extends SkinBase<ToggleSwitch> {
|
public class ToggleSwitchSkin extends SkinBase<ToggleSwitch> {
|
||||||
|
|
||||||
protected final StackPane thumb;
|
protected final StackPane thumb;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.base.util;
|
package atlantafx.base.util;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
@ -10,8 +11,6 @@ import javafx.scene.control.TextField;
|
|||||||
import javafx.scene.control.Tooltip;
|
import javafx.scene.control.Tooltip;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts between user-edited strings and {@link Double} values.
|
* Converts between user-edited strings and {@link Double} values.
|
||||||
* Accepts an optional {@link Runnable} that resets the editor on {@link NumberFormatException},
|
* Accepts an optional {@link Runnable} that resets the editor on {@link NumberFormatException},
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.base.util;
|
package atlantafx.base.util;
|
||||||
|
|
||||||
|
import java.util.function.UnaryOperator;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
import javafx.beans.property.ReadOnlyStringProperty;
|
import javafx.beans.property.ReadOnlyStringProperty;
|
||||||
@ -10,8 +11,6 @@ import javafx.scene.control.TextField;
|
|||||||
import javafx.scene.control.TextFormatter;
|
import javafx.scene.control.TextFormatter;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
|
|
||||||
import java.util.function.UnaryOperator;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An alternative for the {@link javafx.scene.control.PasswordField}.
|
* An alternative for the {@link javafx.scene.control.PasswordField}.
|
||||||
* The formatter (un)masks text field content based on boolean property.
|
* The formatter (un)masks text field content based on boolean property.
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package atlantafx.base.util;
|
package atlantafx.base.util;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
|
||||||
|
|
||||||
public class PasswordTextFormatterTest {
|
public class PasswordTextFormatterTest {
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
width="105mm"
|
width="105mm"
|
||||||
height="105mm"
|
height="105mm"
|
||||||
viewBox="0 0 105 105"
|
viewBox="0 0 105 105"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg5"
|
id="svg5"
|
||||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||||
sodipodi:docname="icon-rounded.svg"
|
sodipodi:docname="icon-rounded.svg"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
>
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
id="namedview7"
|
id="namedview7"
|
||||||
pagecolor="#ffffff"
|
pagecolor="#ffffff"
|
||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
@ -2,18 +2,18 @@
|
|||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
width="105mm"
|
width="105mm"
|
||||||
height="105mm"
|
height="105mm"
|
||||||
viewBox="0 0 105 105"
|
viewBox="0 0 105 105"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg5"
|
id="svg5"
|
||||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||||
sodipodi:docname="square.svg"
|
sodipodi:docname="square.svg"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
>
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
id="namedview7"
|
id="namedview7"
|
||||||
pagecolor="#ffffff"
|
pagecolor="#ffffff"
|
||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.4 KiB |
@ -2,18 +2,18 @@
|
|||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
<svg
|
<svg
|
||||||
width="105mm"
|
width="105mm"
|
||||||
height="105mm"
|
height="105mm"
|
||||||
viewBox="0 0 105 105"
|
viewBox="0 0 105 105"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg5"
|
id="svg5"
|
||||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||||
sodipodi:docname="logo.svg"
|
sodipodi:docname="logo.svg"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
>
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
id="namedview7"
|
id="namedview7"
|
||||||
pagecolor="#ffffff"
|
pagecolor="#ffffff"
|
||||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
@ -1,6 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler;
|
package atlantafx.sampler;
|
||||||
|
|
||||||
|
import static java.lang.Double.MAX_VALUE;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
import javafx.scene.control.Alert.AlertType;
|
import javafx.scene.control.Alert.AlertType;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@ -8,13 +14,6 @@ import javafx.scene.control.TextArea;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static java.lang.Double.MAX_VALUE;
|
|
||||||
|
|
||||||
public class DefaultExceptionHandler implements Thread.UncaughtExceptionHandler {
|
public class DefaultExceptionHandler implements Thread.UncaughtExceptionHandler {
|
||||||
|
|
||||||
private final Stage stage;
|
private final Stage stage;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler;
|
package atlantafx.sampler;
|
||||||
|
|
||||||
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
|
||||||
import atlantafx.sampler.event.BrowseEvent;
|
import atlantafx.sampler.event.BrowseEvent;
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
import atlantafx.sampler.event.HotkeyEvent;
|
import atlantafx.sampler.event.HotkeyEvent;
|
||||||
@ -11,6 +13,12 @@ import fr.brouillard.oss.cssfx.CSSFX;
|
|||||||
import fr.brouillard.oss.cssfx.api.URIToPathConverter;
|
import fr.brouillard.oss.cssfx.api.URIToPathConverter;
|
||||||
import fr.brouillard.oss.cssfx.impl.log.CSSFXLogger;
|
import fr.brouillard.oss.cssfx.impl.log.CSSFXLogger;
|
||||||
import fr.brouillard.oss.cssfx.impl.log.CSSFXLogger.LogLevel;
|
import fr.brouillard.oss.cssfx.impl.log.CSSFXLogger.LogLevel;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
@ -21,15 +29,6 @@ import javafx.scene.input.KeyCombination;
|
|||||||
import javafx.scene.input.KeyEvent;
|
import javafx.scene.input.KeyEvent;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.net.URI;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Properties;
|
|
||||||
|
|
||||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
|
||||||
|
|
||||||
public class Launcher extends Application {
|
public class Launcher extends Application {
|
||||||
|
|
||||||
public static final boolean IS_DEV_MODE = "DEV".equalsIgnoreCase(
|
public static final boolean IS_DEV_MODE = "DEV".equalsIgnoreCase(
|
||||||
|
@ -1,21 +1,26 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.fake;
|
package atlantafx.sampler.fake;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.util.Controls.menuItem;
|
||||||
|
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
||||||
|
import static javafx.scene.input.KeyCombination.SHIFT_DOWN;
|
||||||
|
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.CheckMenuItem;
|
||||||
|
import javafx.scene.control.Menu;
|
||||||
|
import javafx.scene.control.MenuBar;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.RadioMenuItem;
|
||||||
|
import javafx.scene.control.SeparatorMenuItem;
|
||||||
|
import javafx.scene.control.ToggleGroup;
|
||||||
import javafx.scene.input.KeyCode;
|
import javafx.scene.input.KeyCode;
|
||||||
import javafx.scene.input.KeyCodeCombination;
|
import javafx.scene.input.KeyCodeCombination;
|
||||||
import net.datafaker.Faker;
|
import net.datafaker.Faker;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.util.Controls.menuItem;
|
|
||||||
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
|
||||||
import static javafx.scene.input.KeyCombination.SHIFT_DOWN;
|
|
||||||
|
|
||||||
public class SampleMenuBar extends MenuBar {
|
public class SampleMenuBar extends MenuBar {
|
||||||
|
|
||||||
private static final EventHandler<ActionEvent> PRINT_SOURCE = System.out::println;
|
private static final EventHandler<ActionEvent> PRINT_SOURCE = System.out::println;
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.fake.domain;
|
package atlantafx.sampler.fake.domain;
|
||||||
|
|
||||||
import javafx.beans.property.BooleanProperty;
|
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
|
||||||
import net.datafaker.Faker;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
import javafx.beans.property.BooleanProperty;
|
||||||
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
|
import net.datafaker.Faker;
|
||||||
|
|
||||||
public final class Book {
|
public final class Book {
|
||||||
|
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.fake.domain;
|
package atlantafx.sampler.fake.domain;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Function;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
import net.datafaker.Faker;
|
import net.datafaker.Faker;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
public final class Product {
|
public final class Product {
|
||||||
|
|
||||||
private static final int MAX_STOCK_SIZE = 999;
|
private static final int MAX_STOCK_SIZE = 999;
|
||||||
|
@ -1,12 +1,20 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.layout;
|
package atlantafx.sampler.layout;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_3;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_4;
|
||||||
|
import static atlantafx.sampler.Launcher.IS_DEV_MODE;
|
||||||
|
import static atlantafx.sampler.layout.MainLayer.SIDEBAR_WIDTH;
|
||||||
|
|
||||||
import atlantafx.base.controls.CustomTextField;
|
import atlantafx.base.controls.CustomTextField;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.sampler.Resources;
|
import atlantafx.sampler.Resources;
|
||||||
import atlantafx.sampler.event.BrowseEvent;
|
import atlantafx.sampler.event.BrowseEvent;
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
import atlantafx.sampler.event.HotkeyEvent;
|
import atlantafx.sampler.event.HotkeyEvent;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -25,13 +33,6 @@ import org.kordamp.ikonli.javafx.FontIcon;
|
|||||||
import org.kordamp.ikonli.material2.Material2MZ;
|
import org.kordamp.ikonli.material2.Material2MZ;
|
||||||
import org.kordamp.ikonli.material2.Material2OutlinedMZ;
|
import org.kordamp.ikonli.material2.Material2OutlinedMZ;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.Launcher.IS_DEV_MODE;
|
|
||||||
import static atlantafx.sampler.layout.MainLayer.SIDEBAR_WIDTH;
|
|
||||||
|
|
||||||
class HeaderBar extends HBox {
|
class HeaderBar extends HBox {
|
||||||
|
|
||||||
private static final int HEADER_HEIGHT = 50;
|
private static final int HEADER_HEIGHT = 50;
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.layout;
|
package atlantafx.sampler.layout;
|
||||||
|
|
||||||
|
import static atlantafx.base.controls.Popover.ArrowLocation.TOP_CENTER;
|
||||||
|
import static javafx.scene.layout.Priority.ALWAYS;
|
||||||
|
|
||||||
import atlantafx.base.controls.Popover;
|
import atlantafx.base.controls.Popover;
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
import atlantafx.sampler.event.ThemeEvent;
|
import atlantafx.sampler.event.ThemeEvent;
|
||||||
@ -10,6 +13,8 @@ import atlantafx.sampler.page.Page;
|
|||||||
import atlantafx.sampler.page.QuickConfigMenu;
|
import atlantafx.sampler.page.QuickConfigMenu;
|
||||||
import atlantafx.sampler.page.components.OverviewPage;
|
import atlantafx.sampler.page.components.OverviewPage;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.animation.FadeTransition;
|
import javafx.animation.FadeTransition;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
@ -19,12 +24,6 @@ import javafx.scene.layout.Pane;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.base.controls.Popover.ArrowLocation.TOP_CENTER;
|
|
||||||
import static javafx.scene.layout.Priority.ALWAYS;
|
|
||||||
|
|
||||||
class MainLayer extends BorderPane {
|
class MainLayer extends BorderPane {
|
||||||
|
|
||||||
static final int SIDEBAR_WIDTH = 220;
|
static final int SIDEBAR_WIDTH = 220;
|
||||||
|
@ -1,14 +1,20 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.layout;
|
package atlantafx.sampler.layout;
|
||||||
|
|
||||||
import atlantafx.sampler.page.Page;
|
|
||||||
import javafx.beans.property.*;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.layout.MainModel.SubLayer.PAGE;
|
import static atlantafx.sampler.layout.MainModel.SubLayer.PAGE;
|
||||||
import static atlantafx.sampler.layout.MainModel.SubLayer.SOURCE_CODE;
|
import static atlantafx.sampler.layout.MainModel.SubLayer.SOURCE_CODE;
|
||||||
|
|
||||||
|
import atlantafx.sampler.page.Page;
|
||||||
|
import java.util.Objects;
|
||||||
|
import javafx.beans.property.ReadOnlyBooleanProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyBooleanWrapper;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||||
|
import javafx.beans.property.ReadOnlyStringProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyStringWrapper;
|
||||||
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
|
import javafx.beans.property.StringProperty;
|
||||||
|
|
||||||
public class MainModel {
|
public class MainModel {
|
||||||
|
|
||||||
public enum SubLayer {
|
public enum SubLayer {
|
||||||
|
@ -4,6 +4,8 @@ package atlantafx.sampler.layout;
|
|||||||
import atlantafx.sampler.util.Animations;
|
import atlantafx.sampler.util.Animations;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
import atlantafx.sampler.util.NodeUtils;
|
import atlantafx.sampler.util.NodeUtils;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.animation.Timeline;
|
import javafx.animation.Timeline;
|
||||||
import javafx.beans.property.ReadOnlyBooleanProperty;
|
import javafx.beans.property.ReadOnlyBooleanProperty;
|
||||||
import javafx.beans.property.ReadOnlyBooleanWrapper;
|
import javafx.beans.property.ReadOnlyBooleanWrapper;
|
||||||
@ -21,9 +23,6 @@ import javafx.scene.layout.Pane;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class Overlay extends StackPane {
|
public class Overlay extends StackPane {
|
||||||
|
|
||||||
public static final String STYLE_CLASS = "overlay";
|
public static final String STYLE_CLASS = "overlay";
|
||||||
|
@ -1,10 +1,49 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.layout;
|
package atlantafx.sampler.layout;
|
||||||
|
|
||||||
|
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
||||||
|
import static javafx.scene.layout.Priority.ALWAYS;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.components.*;
|
import atlantafx.sampler.page.components.AccordionPage;
|
||||||
|
import atlantafx.sampler.page.components.BreadcrumbsPage;
|
||||||
|
import atlantafx.sampler.page.components.ButtonPage;
|
||||||
|
import atlantafx.sampler.page.components.ChartPage;
|
||||||
|
import atlantafx.sampler.page.components.CheckBoxPage;
|
||||||
|
import atlantafx.sampler.page.components.ColorPickerPage;
|
||||||
|
import atlantafx.sampler.page.components.ComboBoxPage;
|
||||||
|
import atlantafx.sampler.page.components.CustomTextFieldPage;
|
||||||
|
import atlantafx.sampler.page.components.DatePickerPage;
|
||||||
|
import atlantafx.sampler.page.components.DialogPage;
|
||||||
|
import atlantafx.sampler.page.components.HTMLEditorPage;
|
||||||
|
import atlantafx.sampler.page.components.InputGroupPage;
|
||||||
|
import atlantafx.sampler.page.components.LabelPage;
|
||||||
|
import atlantafx.sampler.page.components.ListPage;
|
||||||
|
import atlantafx.sampler.page.components.MenuButtonPage;
|
||||||
|
import atlantafx.sampler.page.components.MenuPage;
|
||||||
|
import atlantafx.sampler.page.components.OverviewPage;
|
||||||
|
import atlantafx.sampler.page.components.PaginationPage;
|
||||||
|
import atlantafx.sampler.page.components.PopoverPage;
|
||||||
|
import atlantafx.sampler.page.components.ProgressPage;
|
||||||
|
import atlantafx.sampler.page.components.RadioButtonPage;
|
||||||
|
import atlantafx.sampler.page.components.ScrollPanePage;
|
||||||
|
import atlantafx.sampler.page.components.SeparatorPage;
|
||||||
|
import atlantafx.sampler.page.components.SliderPage;
|
||||||
|
import atlantafx.sampler.page.components.SpinnerPage;
|
||||||
|
import atlantafx.sampler.page.components.SplitPanePage;
|
||||||
|
import atlantafx.sampler.page.components.TabPanePage;
|
||||||
|
import atlantafx.sampler.page.components.TablePage;
|
||||||
|
import atlantafx.sampler.page.components.TextAreaPage;
|
||||||
|
import atlantafx.sampler.page.components.TextFieldPage;
|
||||||
|
import atlantafx.sampler.page.components.TitledPanePage;
|
||||||
|
import atlantafx.sampler.page.components.ToggleButtonPage;
|
||||||
|
import atlantafx.sampler.page.components.ToggleSwitchPage;
|
||||||
|
import atlantafx.sampler.page.components.ToolBarPage;
|
||||||
|
import atlantafx.sampler.page.components.TooltipPage;
|
||||||
|
import atlantafx.sampler.page.components.TreePage;
|
||||||
|
import atlantafx.sampler.page.components.TreeTablePage;
|
||||||
import atlantafx.sampler.page.general.IconsPage;
|
import atlantafx.sampler.page.general.IconsPage;
|
||||||
import atlantafx.sampler.page.general.ThemePage;
|
import atlantafx.sampler.page.general.ThemePage;
|
||||||
import atlantafx.sampler.page.general.TypographyPage;
|
import atlantafx.sampler.page.general.TypographyPage;
|
||||||
@ -12,6 +51,14 @@ import atlantafx.sampler.page.showcase.filemanager.FileManagerPage;
|
|||||||
import atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage;
|
import atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage;
|
||||||
import atlantafx.sampler.page.showcase.widget.WidgetCollectionPage;
|
import atlantafx.sampler.page.showcase.widget.WidgetCollectionPage;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Predicate;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
@ -27,12 +74,6 @@ import javafx.scene.layout.Region;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.function.Predicate;
|
|
||||||
|
|
||||||
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
|
||||||
import static javafx.scene.layout.Priority.ALWAYS;
|
|
||||||
|
|
||||||
@SuppressWarnings("UnnecessaryLambda")
|
@SuppressWarnings("UnnecessaryLambda")
|
||||||
class Sidebar extends StackPane {
|
class Sidebar extends StackPane {
|
||||||
|
|
||||||
|
@ -1,21 +1,24 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page;
|
package atlantafx.sampler.page;
|
||||||
|
|
||||||
import atlantafx.sampler.layout.Overlay;
|
import static atlantafx.sampler.util.Containers.setScrollConstraints;
|
||||||
import javafx.scene.Node;
|
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
||||||
import javafx.scene.control.ScrollPane;
|
|
||||||
import javafx.scene.layout.*;
|
|
||||||
import net.datafaker.Faker;
|
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
|
||||||
|
|
||||||
|
import atlantafx.sampler.layout.Overlay;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
import javafx.scene.Node;
|
||||||
import static atlantafx.sampler.util.Containers.setScrollConstraints;
|
import javafx.scene.control.ScrollPane;
|
||||||
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import net.datafaker.Faker;
|
||||||
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
|
|
||||||
public abstract class AbstractPage extends BorderPane implements Page {
|
public abstract class AbstractPage extends BorderPane implements Page {
|
||||||
|
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page;
|
package atlantafx.sampler.page;
|
||||||
|
|
||||||
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
|
||||||
import atlantafx.sampler.Resources;
|
import atlantafx.sampler.Resources;
|
||||||
import atlantafx.sampler.theme.HighlightJSTheme;
|
import atlantafx.sampler.theme.HighlightJSTheme;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.web.WebView;
|
import javafx.scene.web.WebView;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
|
|
||||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
|
||||||
|
|
||||||
public class CodeViewer extends AnchorPane {
|
public class CodeViewer extends AnchorPane {
|
||||||
|
|
||||||
private static final String HLJS_LIB = "assets/highlightjs/highlight.min.js";
|
private static final String HLJS_LIB = "assets/highlightjs/highlight.min.js";
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page;
|
package atlantafx.sampler.page;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_4;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@ -13,10 +19,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
|
|
||||||
public abstract class OverlayDialog<T extends Region> extends VBox {
|
public abstract class OverlayDialog<T extends Region> extends VBox {
|
||||||
|
|
||||||
protected static final int CONTENT_CHILD_INDEX = 1;
|
protected static final int CONTENT_CHILD_INDEX = 1;
|
||||||
|
@ -1,9 +1,23 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page;
|
package atlantafx.sampler.page;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_CAPTION;
|
||||||
|
import static atlantafx.sampler.theme.ThemeManager.DEFAULT_ZOOM;
|
||||||
|
import static atlantafx.sampler.theme.ThemeManager.SUPPORTED_ZOOM;
|
||||||
|
import static javafx.geometry.Pos.CENTER_LEFT;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2AL.ARROW_BACK;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2AL.ARROW_FORWARD;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.sampler.page.general.AccentColorSelector;
|
import atlantafx.sampler.page.general.AccentColorSelector;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.binding.BooleanBinding;
|
import javafx.beans.binding.BooleanBinding;
|
||||||
import javafx.beans.property.IntegerProperty;
|
import javafx.beans.property.IntegerProperty;
|
||||||
@ -23,18 +37,6 @@ import org.kordamp.ikonli.feather.Feather;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.theme.ThemeManager.DEFAULT_ZOOM;
|
|
||||||
import static atlantafx.sampler.theme.ThemeManager.SUPPORTED_ZOOM;
|
|
||||||
import static javafx.geometry.Pos.CENTER_LEFT;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2AL.ARROW_BACK;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2AL.ARROW_FORWARD;
|
|
||||||
|
|
||||||
// This should really be refactored to more generic control someday.
|
// This should really be refactored to more generic control someday.
|
||||||
// - the whole component to PopoverMenu, that reuses JavaFX MenuItem API
|
// - the whole component to PopoverMenu, that reuses JavaFX MenuItem API
|
||||||
// - font size switcher to flat SpinnerMenuItem
|
// - font size switcher to flat SpinnerMenuItem
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page;
|
package atlantafx.sampler.page;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Random;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@ -12,9 +14,6 @@ import javafx.scene.text.TextFlow;
|
|||||||
import net.datafaker.Faker;
|
import net.datafaker.Faker;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
public class SampleBlock extends VBox {
|
public class SampleBlock extends VBox {
|
||||||
|
|
||||||
public static final int BLOCK_HGAP = 20;
|
public static final int BLOCK_HGAP = 20;
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.Resources;
|
import atlantafx.sampler.Resources;
|
||||||
@ -22,10 +26,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.DENSE;
|
|
||||||
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
|
|
||||||
public class AccordionPage extends AbstractPage {
|
public class AccordionPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Accordion";
|
public static final String NAME = "Accordion";
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_OUTLINED;
|
||||||
|
import static atlantafx.base.theme.Styles.DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.LARGE;
|
||||||
|
import static atlantafx.base.theme.Styles.ROUNDED;
|
||||||
|
import static atlantafx.base.theme.Styles.SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.SUCCESS;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -15,9 +27,6 @@ import org.kordamp.ikonli.feather.Feather;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
|
|
||||||
public class ButtonPage extends AbstractPage {
|
public class ButtonPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Button";
|
public static final String NAME = "Button";
|
||||||
|
@ -5,17 +5,6 @@ import atlantafx.base.controls.Spacer;
|
|||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import javafx.collections.FXCollections;
|
|
||||||
import javafx.collections.ObservableList;
|
|
||||||
import javafx.geometry.Pos;
|
|
||||||
import javafx.scene.chart.*;
|
|
||||||
import javafx.scene.control.ComboBox;
|
|
||||||
import javafx.scene.control.Label;
|
|
||||||
import javafx.scene.layout.BorderPane;
|
|
||||||
import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.VBox;
|
|
||||||
import javafx.util.StringConverter;
|
|
||||||
|
|
||||||
import java.time.Month;
|
import java.time.Month;
|
||||||
import java.time.format.TextStyle;
|
import java.time.format.TextStyle;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -23,6 +12,27 @@ import java.util.Locale;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.IntStream;
|
import java.util.stream.IntStream;
|
||||||
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.chart.AreaChart;
|
||||||
|
import javafx.scene.chart.BarChart;
|
||||||
|
import javafx.scene.chart.BubbleChart;
|
||||||
|
import javafx.scene.chart.CategoryAxis;
|
||||||
|
import javafx.scene.chart.Chart;
|
||||||
|
import javafx.scene.chart.LineChart;
|
||||||
|
import javafx.scene.chart.NumberAxis;
|
||||||
|
import javafx.scene.chart.PieChart;
|
||||||
|
import javafx.scene.chart.ScatterChart;
|
||||||
|
import javafx.scene.chart.StackedAreaChart;
|
||||||
|
import javafx.scene.chart.StackedBarChart;
|
||||||
|
import javafx.scene.chart.XYChart;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.util.StringConverter;
|
||||||
|
|
||||||
public class ChartPage extends AbstractPage {
|
public class ChartPage extends AbstractPage {
|
||||||
|
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -13,9 +16,6 @@ import javafx.scene.layout.GridPane;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class ColorPickerPage extends AbstractPage {
|
public class ColorPickerPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "ColorPicker";
|
public static final String NAME = "ColorPicker";
|
||||||
|
@ -1,9 +1,19 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static atlantafx.sampler.util.Containers.H_GROW_NEVER;
|
||||||
|
import static javafx.collections.FXCollections.observableArrayList;
|
||||||
|
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.geometry.HPos;
|
import javafx.geometry.HPos;
|
||||||
@ -16,17 +26,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import org.kordamp.ikonli.Ikon;
|
import org.kordamp.ikonli.Ikon;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
|
||||||
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static atlantafx.sampler.util.Containers.H_GROW_NEVER;
|
|
||||||
import static javafx.collections.FXCollections.observableArrayList;
|
|
||||||
|
|
||||||
public class ComboBoxPage extends AbstractPage {
|
public class ComboBoxPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "ComboBox";
|
public static final String NAME = "ComboBox";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
||||||
|
|
||||||
import atlantafx.base.controls.CustomTextField;
|
import atlantafx.base.controls.CustomTextField;
|
||||||
import atlantafx.base.util.PasswordTextFormatter;
|
import atlantafx.base.util.PasswordTextFormatter;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
@ -10,9 +13,6 @@ import javafx.scene.layout.FlowPane;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
|
||||||
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
|
||||||
|
|
||||||
public class CustomTextFieldPage extends AbstractPage {
|
public class CustomTextFieldPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "CustomTextField";
|
public static final String NAME = "CustomTextField";
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static javafx.scene.layout.GridPane.REMAINING;
|
||||||
|
|
||||||
import atlantafx.base.controls.InlineDatePicker;
|
import atlantafx.base.controls.InlineDatePicker;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
@ -8,6 +13,12 @@ import atlantafx.base.theme.Styles;
|
|||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import atlantafx.sampler.theme.CSSFragment;
|
import atlantafx.sampler.theme.CSSFragment;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.chrono.HijrahChronology;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.animation.Animation;
|
import javafx.animation.Animation;
|
||||||
import javafx.animation.KeyFrame;
|
import javafx.animation.KeyFrame;
|
||||||
import javafx.animation.Timeline;
|
import javafx.animation.Timeline;
|
||||||
@ -21,25 +32,17 @@ import javafx.scene.control.Button;
|
|||||||
import javafx.scene.control.DateCell;
|
import javafx.scene.control.DateCell;
|
||||||
import javafx.scene.control.DatePicker;
|
import javafx.scene.control.DatePicker;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.util.Callback;
|
import javafx.util.Callback;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.chrono.HijrahChronology;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
|
||||||
import static atlantafx.base.theme.Styles.FLAT;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static javafx.scene.layout.GridPane.REMAINING;
|
|
||||||
|
|
||||||
public class DatePickerPage extends AbstractPage {
|
public class DatePickerPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "DatePicker";
|
public static final String NAME = "DatePicker";
|
||||||
|
@ -1,27 +1,37 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
|
||||||
import javafx.beans.property.BooleanProperty;
|
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
|
||||||
import javafx.geometry.Orientation;
|
|
||||||
import javafx.geometry.Pos;
|
|
||||||
import javafx.scene.control.*;
|
|
||||||
import javafx.scene.layout.*;
|
|
||||||
import javafx.stage.StageStyle;
|
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
import static javafx.scene.control.Alert.AlertType;
|
import static javafx.scene.control.Alert.AlertType;
|
||||||
import static javafx.scene.control.ButtonBar.ButtonData;
|
import static javafx.scene.control.ButtonBar.ButtonData;
|
||||||
|
|
||||||
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import javafx.beans.property.BooleanProperty;
|
||||||
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
|
import javafx.geometry.Orientation;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.ButtonType;
|
||||||
|
import javafx.scene.control.ChoiceDialog;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.Separator;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
|
import javafx.scene.control.TextInputDialog;
|
||||||
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.stage.StageStyle;
|
||||||
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
public class DialogPage extends AbstractPage {
|
public class DialogPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Dialog";
|
public static final String NAME = "Dialog";
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Theme;
|
import atlantafx.base.theme.Theme;
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
@ -16,8 +18,6 @@ import javafx.scene.text.Text;
|
|||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
import javafx.scene.web.HTMLEditor;
|
import javafx.scene.web.HTMLEditor;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class HTMLEditorPage extends AbstractPage {
|
public class HTMLEditorPage extends AbstractPage {
|
||||||
|
|
||||||
private static final PseudoClass USE_LOCAL_URL = PseudoClass.getPseudoClass("use-local-url");
|
private static final PseudoClass USE_LOCAL_URL = PseudoClass.getPseudoClass("use-local-url");
|
||||||
|
@ -1,22 +1,28 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.CheckBox;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.FlowPane;
|
import javafx.scene.layout.FlowPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class InputGroupPage extends AbstractPage {
|
public class InputGroupPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Input Group";
|
public static final String NAME = "Input Group";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -10,9 +13,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class LabelPage extends AbstractPage {
|
public class LabelPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Label";
|
public static final String NAME = "Label";
|
||||||
|
@ -1,14 +1,33 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BORDERED;
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.STRIPED;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.fake.domain.Book;
|
import atlantafx.sampler.fake.domain.Book;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Hyperlink;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ListCell;
|
||||||
|
import javafx.scene.control.ListView;
|
||||||
import javafx.scene.control.cell.CheckBoxListCell;
|
import javafx.scene.control.cell.CheckBoxListCell;
|
||||||
import javafx.scene.control.cell.ChoiceBoxListCell;
|
import javafx.scene.control.cell.ChoiceBoxListCell;
|
||||||
import javafx.scene.control.cell.ComboBoxListCell;
|
import javafx.scene.control.cell.ComboBoxListCell;
|
||||||
@ -21,17 +40,6 @@ import javafx.util.StringConverter;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class ListPage extends AbstractPage {
|
public class ListPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "ListView";
|
public static final String NAME = "ListView";
|
||||||
|
@ -1,10 +1,20 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_OUTLINED;
|
||||||
|
import static atlantafx.base.theme.Styles.DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.SUCCESS;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.control.MenuButton;
|
import javafx.scene.control.MenuButton;
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
@ -16,12 +26,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class MenuButtonPage extends AbstractPage {
|
public class MenuButtonPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "MenuButton";
|
public static final String NAME = "MenuButton";
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.fake.SampleMenuBar;
|
import atlantafx.sampler.fake.SampleMenuBar;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
@ -16,8 +18,6 @@ import javafx.scene.input.KeyCodeCombination;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
|
|
||||||
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
|
||||||
|
|
||||||
public class MenuPage extends AbstractPage {
|
public class MenuPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Menu";
|
public static final String NAME = "Menu";
|
||||||
|
@ -1,13 +1,44 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_OUTLINED;
|
||||||
|
import static atlantafx.base.theme.Styles.DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.LEFT_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.RIGHT_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.SUCCESS;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.ProgressSliderSkin;
|
import atlantafx.base.controls.ProgressSliderSkin;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.base.util.IntegerStringConverter;
|
import atlantafx.base.util.IntegerStringConverter;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import javafx.scene.control.*;
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.CheckBox;
|
||||||
|
import javafx.scene.control.ChoiceBox;
|
||||||
|
import javafx.scene.control.ColorPicker;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.DatePicker;
|
||||||
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.PasswordField;
|
||||||
|
import javafx.scene.control.RadioButton;
|
||||||
|
import javafx.scene.control.Slider;
|
||||||
|
import javafx.scene.control.Spinner;
|
||||||
|
import javafx.scene.control.SplitMenuButton;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.scene.control.ToggleButton;
|
||||||
|
import javafx.scene.control.ToggleGroup;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@ -16,14 +47,6 @@ import javafx.scene.shape.Circle;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class OverviewPage extends AbstractPage {
|
public class OverviewPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Overview";
|
public static final String NAME = "Overview";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
@ -14,9 +17,6 @@ import javafx.scene.layout.BorderPane;
|
|||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class PaginationPage extends AbstractPage {
|
public class PaginationPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Pagination";
|
public static final String NAME = "Pagination";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.InlineDatePicker;
|
import atlantafx.base.controls.InlineDatePicker;
|
||||||
import atlantafx.base.controls.Popover;
|
import atlantafx.base.controls.Popover;
|
||||||
import atlantafx.base.controls.Popover.ArrowLocation;
|
import atlantafx.base.controls.Popover.ArrowLocation;
|
||||||
@ -8,6 +11,8 @@ import atlantafx.sampler.page.AbstractPage;
|
|||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import atlantafx.sampler.theme.CSSFragment;
|
import atlantafx.sampler.theme.CSSFragment;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.ZoneId;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
@ -21,12 +26,6 @@ import javafx.scene.text.TextFlow;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class PopoverPage extends AbstractPage {
|
public class PopoverPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Popover";
|
public static final String NAME = "Popover";
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.LARGE;
|
||||||
|
import static atlantafx.base.theme.Styles.MEDIUM;
|
||||||
|
import static atlantafx.base.theme.Styles.SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_4;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.RingProgressIndicator;
|
import atlantafx.base.controls.RingProgressIndicator;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
@ -12,17 +21,24 @@ import javafx.css.PseudoClass;
|
|||||||
import javafx.geometry.HPos;
|
import javafx.geometry.HPos;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.geometry.VPos;
|
import javafx.geometry.VPos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ProgressBar;
|
||||||
|
import javafx.scene.control.ProgressIndicator;
|
||||||
|
import javafx.scene.control.ToggleButton;
|
||||||
|
import javafx.scene.layout.ColumnConstraints;
|
||||||
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.RowConstraints;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
// #javafx-bug Indeterminate (animated) progress bar and also progress indicator
|
// #javafx-bug Indeterminate (animated) progress bar and also progress indicator
|
||||||
// are very resource expensive. It consumes a single CPU core and a lot of memory.
|
// are very resource expensive. It consumes a single CPU core and a lot of memory.
|
||||||
public class ProgressPage extends AbstractPage {
|
public class ProgressPage extends AbstractPage {
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -9,8 +11,6 @@ import javafx.scene.control.ToggleGroup;
|
|||||||
import javafx.scene.layout.FlowPane;
|
import javafx.scene.layout.FlowPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class RadioButtonPage extends AbstractPage {
|
public class RadioButtonPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "RadioButton";
|
public static final String NAME = "RadioButton";
|
||||||
|
@ -5,7 +5,11 @@ import atlantafx.sampler.page.AbstractPage;
|
|||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import javafx.scene.control.ScrollPane;
|
import javafx.scene.control.ScrollPane;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
public class ScrollPanePage extends AbstractPage {
|
public class ScrollPanePage extends AbstractPage {
|
||||||
|
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static javafx.geometry.Orientation.HORIZONTAL;
|
||||||
|
import static javafx.geometry.Orientation.VERTICAL;
|
||||||
|
import static javafx.geometry.Pos.CENTER;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
@ -8,11 +12,11 @@ import atlantafx.sampler.page.SampleBlock;
|
|||||||
import javafx.geometry.Orientation;
|
import javafx.geometry.Orientation;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.Separator;
|
import javafx.scene.control.Separator;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
import static javafx.geometry.Orientation.HORIZONTAL;
|
import javafx.scene.layout.Pane;
|
||||||
import static javafx.geometry.Orientation.VERTICAL;
|
import javafx.scene.layout.StackPane;
|
||||||
import static javafx.geometry.Pos.CENTER;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
public final class SeparatorPage extends AbstractPage {
|
public final class SeparatorPage extends AbstractPage {
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static javafx.geometry.Orientation.VERTICAL;
|
||||||
|
|
||||||
import atlantafx.base.controls.ProgressSliderSkin;
|
import atlantafx.base.controls.ProgressSliderSkin;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
@ -11,8 +13,6 @@ import javafx.scene.layout.FlowPane;
|
|||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
|
|
||||||
import static javafx.geometry.Orientation.VERTICAL;
|
|
||||||
|
|
||||||
public class SliderPage extends AbstractPage {
|
public class SliderPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Slider";
|
public static final String NAME = "Slider";
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static javafx.scene.control.TabPane.TabClosingPolicy.ALL_TABS;
|
||||||
|
import static javafx.scene.control.TabPane.TabClosingPolicy.UNAVAILABLE;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
@ -10,15 +17,21 @@ import javafx.application.Platform;
|
|||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.Tab;
|
||||||
|
import javafx.scene.control.TabPane;
|
||||||
|
import javafx.scene.control.TitledPane;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static javafx.scene.control.TabPane.TabClosingPolicy.ALL_TABS;
|
|
||||||
import static javafx.scene.control.TabPane.TabClosingPolicy.UNAVAILABLE;
|
|
||||||
|
|
||||||
public class TabPanePage extends AbstractPage {
|
public class TabPanePage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TabPane";
|
public static final String NAME = "TabPane";
|
||||||
|
@ -1,6 +1,17 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BORDERED;
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.STRIPED;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_CENTER;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_LEFT;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_RIGHT;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static javafx.collections.FXCollections.observableArrayList;
|
||||||
|
|
||||||
import atlantafx.base.controls.CaptionMenuItem;
|
import atlantafx.base.controls.CaptionMenuItem;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
@ -8,14 +19,33 @@ import atlantafx.base.theme.Tweaks;
|
|||||||
import atlantafx.sampler.fake.domain.Product;
|
import atlantafx.sampler.fake.domain.Product;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.binding.StringBinding;
|
import javafx.beans.binding.StringBinding;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.collections.transformation.FilteredList;
|
import javafx.collections.transformation.FilteredList;
|
||||||
import javafx.collections.transformation.SortedList;
|
import javafx.collections.transformation.SortedList;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.CheckMenuItem;
|
||||||
import javafx.scene.control.cell.*;
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.RadioMenuItem;
|
||||||
|
import javafx.scene.control.SelectionMode;
|
||||||
|
import javafx.scene.control.SeparatorMenuItem;
|
||||||
|
import javafx.scene.control.TableCell;
|
||||||
|
import javafx.scene.control.TableColumn;
|
||||||
|
import javafx.scene.control.TableView;
|
||||||
|
import javafx.scene.control.ToggleButton;
|
||||||
|
import javafx.scene.control.ToggleGroup;
|
||||||
|
import javafx.scene.control.cell.CheckBoxTableCell;
|
||||||
|
import javafx.scene.control.cell.ChoiceBoxTableCell;
|
||||||
|
import javafx.scene.control.cell.ComboBoxTableCell;
|
||||||
|
import javafx.scene.control.cell.ProgressBarTableCell;
|
||||||
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
|
import javafx.scene.control.cell.TextFieldTableCell;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@ -24,16 +54,6 @@ import org.kordamp.ikonli.feather.Feather;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.javafx.FontIconTableCell;
|
import org.kordamp.ikonli.javafx.FontIconTableCell;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.base.theme.Tweaks.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static javafx.collections.FXCollections.observableArrayList;
|
|
||||||
|
|
||||||
public class TablePage extends AbstractPage {
|
public class TablePage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TableView";
|
public static final String NAME = "TableView";
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
|
||||||
import javafx.scene.control.TextArea;
|
|
||||||
import javafx.scene.layout.FlowPane;
|
|
||||||
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
||||||
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
||||||
|
|
||||||
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
|
import javafx.scene.layout.FlowPane;
|
||||||
|
|
||||||
public class TextAreaPage extends AbstractPage {
|
public class TextAreaPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TextArea";
|
public static final String NAME = "TextArea";
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.LARGE;
|
||||||
|
import static atlantafx.base.theme.Styles.ROUNDED;
|
||||||
|
import static atlantafx.base.theme.Styles.SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.STATE_SUCCESS;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -9,9 +16,6 @@ import javafx.scene.control.TextField;
|
|||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
|
|
||||||
public class TextFieldPage extends AbstractPage {
|
public class TextFieldPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TextField";
|
public static final String NAME = "TextField";
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.ELEVATED_2;
|
||||||
|
import static atlantafx.base.theme.Styles.INTERACTIVE;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static javafx.geometry.HPos.RIGHT;
|
||||||
|
import static javafx.scene.layout.Priority.NEVER;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
@ -11,16 +20,15 @@ import javafx.scene.control.CheckBox;
|
|||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.Slider;
|
import javafx.scene.control.Slider;
|
||||||
import javafx.scene.control.TitledPane;
|
import javafx.scene.control.TitledPane;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.ColumnConstraints;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static javafx.geometry.HPos.RIGHT;
|
|
||||||
import static javafx.scene.layout.Priority.NEVER;
|
|
||||||
|
|
||||||
public class TitledPanePage extends AbstractPage {
|
public class TitledPanePage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TitledPane";
|
public static final String NAME = "TitledPane";
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.CENTER_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.LEFT_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.RIGHT_PILL;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.util.Controls.toggleButton;
|
||||||
|
import static javafx.scene.layout.GridPane.REMAINING;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -12,11 +20,6 @@ import javafx.scene.layout.HBox;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.util.Controls.toggleButton;
|
|
||||||
import static javafx.scene.layout.GridPane.REMAINING;
|
|
||||||
|
|
||||||
public class ToggleButtonPage extends AbstractPage {
|
public class ToggleButtonPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "ToggleButton";
|
public static final String NAME = "ToggleButton";
|
||||||
|
@ -1,33 +1,57 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.BOTTOM;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.CENTER_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.LEFT;
|
||||||
|
import static atlantafx.base.theme.Styles.LEFT_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.RIGHT;
|
||||||
|
import static atlantafx.base.theme.Styles.RIGHT_PILL;
|
||||||
|
import static atlantafx.base.theme.Styles.TOP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static atlantafx.sampler.util.Controls.button;
|
||||||
|
import static atlantafx.sampler.util.Controls.iconButton;
|
||||||
|
import static atlantafx.sampler.util.Controls.toggleButton;
|
||||||
|
import static javafx.geometry.Orientation.HORIZONTAL;
|
||||||
|
import static javafx.geometry.Orientation.VERTICAL;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.fake.SampleMenuBar;
|
import atlantafx.sampler.fake.SampleMenuBar;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.geometry.Orientation;
|
import javafx.geometry.Orientation;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.MenuBar;
|
||||||
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.Separator;
|
||||||
|
import javafx.scene.control.TitledPane;
|
||||||
|
import javafx.scene.control.ToolBar;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Priority;
|
||||||
|
import javafx.scene.layout.Region;
|
||||||
|
import javafx.scene.layout.StackPane;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static atlantafx.sampler.util.Controls.*;
|
|
||||||
import static javafx.geometry.Orientation.HORIZONTAL;
|
|
||||||
import static javafx.geometry.Orientation.VERTICAL;
|
|
||||||
|
|
||||||
public class ToolBarPage extends AbstractPage {
|
public class ToolBarPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "ToolBar";
|
public static final String NAME = "ToolBar";
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static javafx.geometry.Orientation.VERTICAL;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
@ -14,10 +18,6 @@ import javafx.scene.layout.VBox;
|
|||||||
import javafx.stage.PopupWindow.AnchorLocation;
|
import javafx.stage.PopupWindow.AnchorLocation;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static javafx.geometry.Orientation.VERTICAL;
|
|
||||||
|
|
||||||
public class TooltipPage extends AbstractPage {
|
public class TooltipPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Tooltip";
|
public static final String NAME = "Tooltip";
|
||||||
|
@ -1,13 +1,27 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.function.Supplier;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.CheckBoxTreeItem;
|
||||||
|
import javafx.scene.control.ComboBox;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TreeItem;
|
||||||
|
import javafx.scene.control.TreeView;
|
||||||
import javafx.scene.control.cell.CheckBoxTreeCell;
|
import javafx.scene.control.cell.CheckBoxTreeCell;
|
||||||
import javafx.scene.control.cell.ChoiceBoxTreeCell;
|
import javafx.scene.control.cell.ChoiceBoxTreeCell;
|
||||||
import javafx.scene.control.cell.ComboBoxTreeCell;
|
import javafx.scene.control.cell.ComboBoxTreeCell;
|
||||||
@ -20,17 +34,6 @@ import javafx.util.StringConverter;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.DENSE;
|
|
||||||
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class TreePage extends AbstractPage {
|
public class TreePage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TreeView";
|
public static final String NAME = "TreeView";
|
||||||
|
@ -1,6 +1,16 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.components;
|
package atlantafx.sampler.page.components;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BORDERED;
|
||||||
|
import static atlantafx.base.theme.Styles.DENSE;
|
||||||
|
import static atlantafx.base.theme.Styles.STRIPED;
|
||||||
|
import static atlantafx.base.theme.Styles.toggleStyleClass;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_CENTER;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_LEFT;
|
||||||
|
import static atlantafx.base.theme.Tweaks.ALIGN_RIGHT;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.controls.CaptionMenuItem;
|
import atlantafx.base.controls.CaptionMenuItem;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.controls.ToggleSwitch;
|
import atlantafx.base.controls.ToggleSwitch;
|
||||||
@ -8,10 +18,26 @@ import atlantafx.base.theme.Tweaks;
|
|||||||
import atlantafx.sampler.fake.domain.Product;
|
import atlantafx.sampler.fake.domain.Product;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.CheckMenuItem;
|
||||||
import javafx.scene.control.cell.*;
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.RadioMenuItem;
|
||||||
|
import javafx.scene.control.SelectionMode;
|
||||||
|
import javafx.scene.control.SeparatorMenuItem;
|
||||||
|
import javafx.scene.control.ToggleButton;
|
||||||
|
import javafx.scene.control.ToggleGroup;
|
||||||
|
import javafx.scene.control.TreeItem;
|
||||||
|
import javafx.scene.control.TreeTableColumn;
|
||||||
|
import javafx.scene.control.TreeTableView;
|
||||||
|
import javafx.scene.control.cell.CheckBoxTreeTableCell;
|
||||||
|
import javafx.scene.control.cell.ChoiceBoxTreeTableCell;
|
||||||
|
import javafx.scene.control.cell.ComboBoxTreeTableCell;
|
||||||
|
import javafx.scene.control.cell.TextFieldTreeTableCell;
|
||||||
|
import javafx.scene.control.cell.TreeItemPropertyValueFactory;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@ -19,15 +45,6 @@ import javafx.util.Callback;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.IntStream;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.base.theme.Tweaks.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
|
|
||||||
public class TreeTablePage extends AbstractPage {
|
public class TreeTablePage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "TreeTableView";
|
public static final String NAME = "TreeTableView";
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
|
||||||
import atlantafx.sampler.theme.AccentColor;
|
import atlantafx.sampler.theme.AccentColor;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
import atlantafx.sampler.util.JColorUtils;
|
import atlantafx.sampler.util.JColorUtils;
|
||||||
@ -11,9 +14,6 @@ import javafx.scene.layout.Region;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
|
||||||
import static atlantafx.base.theme.Styles.FLAT;
|
|
||||||
|
|
||||||
public class AccentColorSelector extends HBox {
|
public class AccentColorSelector extends HBox {
|
||||||
|
|
||||||
public AccentColorSelector() {
|
public AccentColorSelector() {
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.util.Controls.hyperlink;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.animation.KeyFrame;
|
import javafx.animation.KeyFrame;
|
||||||
import javafx.animation.Timeline;
|
import javafx.animation.Timeline;
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
@ -16,14 +23,6 @@ import javafx.scene.text.Text;
|
|||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.util.Controls.hyperlink;
|
|
||||||
|
|
||||||
class ColorPalette extends VBox {
|
class ColorPalette extends VBox {
|
||||||
|
|
||||||
private final List<ColorPaletteBlock> blocks = new ArrayList<>();
|
private final List<ColorPaletteBlock> blocks = new ArrayList<>();
|
||||||
|
@ -1,10 +1,18 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_3;
|
||||||
|
import static atlantafx.sampler.page.general.ContrastChecker.LUMINANCE_THRESHOLD;
|
||||||
|
import static atlantafx.sampler.page.general.ContrastChecker.PASSED;
|
||||||
|
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
||||||
|
import static atlantafx.sampler.util.ContrastLevel.getContrastRatioOpacityAware;
|
||||||
|
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
import atlantafx.sampler.util.ContrastLevel;
|
import atlantafx.sampler.util.ContrastLevel;
|
||||||
import atlantafx.sampler.util.NodeUtils;
|
import atlantafx.sampler.util.NodeUtils;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@ -15,15 +23,6 @@ import javafx.scene.text.Text;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.TITLE_3;
|
|
||||||
import static atlantafx.sampler.page.general.ContrastChecker.LUMINANCE_THRESHOLD;
|
|
||||||
import static atlantafx.sampler.page.general.ContrastChecker.PASSED;
|
|
||||||
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
|
||||||
import static atlantafx.sampler.util.ContrastLevel.getContrastRatioOpacityAware;
|
|
||||||
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
|
||||||
|
|
||||||
class ColorPaletteBlock extends VBox {
|
class ColorPaletteBlock extends VBox {
|
||||||
|
|
||||||
private final String fgColorName;
|
private final String fgColorName;
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import javafx.animation.KeyFrame;
|
import javafx.animation.KeyFrame;
|
||||||
import javafx.animation.Timeline;
|
import javafx.animation.Timeline;
|
||||||
import javafx.beans.property.ReadOnlyObjectWrapper;
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||||
@ -15,9 +17,6 @@ import javafx.scene.text.Text;
|
|||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
class ColorScale extends VBox {
|
class ColorScale extends VBox {
|
||||||
|
|
||||||
private final ReadOnlyObjectWrapper<Color> bgBaseColor = new ReadOnlyObjectWrapper<>(Color.WHITE);
|
private final ReadOnlyObjectWrapper<Color> bgBaseColor = new ReadOnlyObjectWrapper<>(Color.WHITE);
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
||||||
|
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
||||||
|
|
||||||
import atlantafx.sampler.util.JColorUtils;
|
import atlantafx.sampler.util.JColorUtils;
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -8,9 +11,6 @@ import javafx.scene.control.Label;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
|
||||||
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
|
||||||
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
|
||||||
|
|
||||||
class ColorScaleBlock extends VBox {
|
class ColorScaleBlock extends VBox {
|
||||||
|
|
||||||
private static final double BLOCK_WIDTH = 250;
|
private static final double BLOCK_WIDTH = 250;
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.general.ColorPaletteBlock.validateColorName;
|
||||||
|
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
||||||
|
import static atlantafx.sampler.util.ContrastLevel.getContrastRatioOpacityAware;
|
||||||
|
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
||||||
|
import static atlantafx.sampler.util.JColorUtils.toHexWithAlpha;
|
||||||
|
|
||||||
import atlantafx.base.controls.CustomTextField;
|
import atlantafx.base.controls.CustomTextField;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
@ -9,6 +15,8 @@ import atlantafx.sampler.util.ContrastLevel;
|
|||||||
import atlantafx.sampler.util.JColor;
|
import atlantafx.sampler.util.JColor;
|
||||||
import atlantafx.sampler.util.JColorUtils;
|
import atlantafx.sampler.util.JColorUtils;
|
||||||
import atlantafx.sampler.util.PlatformUtils;
|
import atlantafx.sampler.util.PlatformUtils;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.binding.DoubleBinding;
|
import javafx.beans.binding.DoubleBinding;
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
@ -19,7 +27,12 @@ import javafx.collections.ObservableList;
|
|||||||
import javafx.css.PseudoClass;
|
import javafx.css.PseudoClass;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.ContentDisplay;
|
||||||
|
import javafx.scene.control.ContextMenu;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.Slider;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@ -28,15 +41,6 @@ import org.kordamp.ikonli.feather.Feather;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.general.ColorPaletteBlock.validateColorName;
|
|
||||||
import static atlantafx.sampler.util.ContrastLevel.getColorLuminance;
|
|
||||||
import static atlantafx.sampler.util.ContrastLevel.getContrastRatioOpacityAware;
|
|
||||||
import static atlantafx.sampler.util.JColorUtils.flattenColor;
|
|
||||||
import static atlantafx.sampler.util.JColorUtils.toHexWithAlpha;
|
|
||||||
|
|
||||||
// Inspired by the https://colourcontrast.cc/
|
// Inspired by the https://colourcontrast.cc/
|
||||||
class ContrastChecker extends GridPane {
|
class ContrastChecker extends GridPane {
|
||||||
|
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
import atlantafx.base.theme.Tweaks;
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
|
||||||
import javafx.scene.control.*;
|
|
||||||
import org.kordamp.ikonli.Ikon;
|
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
|
||||||
|
|
||||||
|
import atlantafx.base.theme.Tweaks;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
|
import javafx.scene.control.ContentDisplay;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.TableCell;
|
||||||
|
import javafx.scene.control.TableColumn;
|
||||||
|
import javafx.scene.control.TableView;
|
||||||
|
import org.kordamp.ikonli.Ikon;
|
||||||
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
public class IconBrowser extends TableView<List<Ikon>> {
|
public class IconBrowser extends TableView<List<Ikon>> {
|
||||||
|
|
||||||
|
@ -1,11 +1,18 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static atlantafx.sampler.util.Controls.hyperlink;
|
||||||
|
|
||||||
import atlantafx.base.controls.CustomTextField;
|
import atlantafx.base.controls.CustomTextField;
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import atlantafx.sampler.theme.CSSFragment;
|
import atlantafx.sampler.theme.CSSFragment;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
@ -20,14 +27,6 @@ import org.kordamp.ikonli.material2.Material2AL;
|
|||||||
import org.kordamp.ikonli.material2.Material2MZ;
|
import org.kordamp.ikonli.material2.Material2MZ;
|
||||||
import org.kordamp.ikonli.material2.Material2OutlinedAL;
|
import org.kordamp.ikonli.material2.Material2OutlinedAL;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static atlantafx.sampler.util.Controls.hyperlink;
|
|
||||||
|
|
||||||
public class IconsPage extends AbstractPage {
|
public class IconsPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Icons";
|
public static final String NAME = "Icons";
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.COLOR_CHANGE;
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.THEME_ADD;
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.THEME_CHANGE;
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.THEME_REMOVE;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static atlantafx.sampler.util.Controls.hyperlink;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
import atlantafx.sampler.event.ThemeEvent;
|
import atlantafx.sampler.event.ThemeEvent;
|
||||||
@ -8,6 +16,9 @@ import atlantafx.sampler.page.AbstractPage;
|
|||||||
import atlantafx.sampler.page.Page;
|
import atlantafx.sampler.page.Page;
|
||||||
import atlantafx.sampler.theme.SamplerTheme;
|
import atlantafx.sampler.theme.SamplerTheme;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.geometry.HPos;
|
import javafx.geometry.HPos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ChoiceBox;
|
import javafx.scene.control.ChoiceBox;
|
||||||
@ -22,15 +33,6 @@ import javafx.util.StringConverter;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2OutlinedMZ;
|
import org.kordamp.ikonli.material2.Material2OutlinedMZ;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.event.ThemeEvent.EventType.*;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static atlantafx.sampler.util.Controls.hyperlink;
|
|
||||||
|
|
||||||
@SuppressWarnings("UnnecessaryLambda")
|
@SuppressWarnings("UnnecessaryLambda")
|
||||||
public class ThemePage extends AbstractPage {
|
public class ThemePage extends AbstractPage {
|
||||||
|
|
||||||
|
@ -1,11 +1,25 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
|
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
||||||
|
import static javafx.scene.layout.Priority.ALWAYS;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.sampler.theme.SamplerTheme;
|
import atlantafx.sampler.theme.SamplerTheme;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
import atlantafx.sampler.theme.ThemeRepository;
|
import atlantafx.sampler.theme.ThemeRepository;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.Executor;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.concurrent.Task;
|
import javafx.concurrent.Task;
|
||||||
import javafx.css.PseudoClass;
|
import javafx.css.PseudoClass;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -19,17 +33,6 @@ import javafx.scene.text.Text;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2OutlinedAL;
|
import org.kordamp.ikonli.material2.Material2OutlinedAL;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.concurrent.Executor;
|
|
||||||
import java.util.concurrent.Executors;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static javafx.scene.control.ScrollPane.ScrollBarPolicy.AS_NEEDED;
|
|
||||||
import static javafx.scene.layout.Priority.ALWAYS;
|
|
||||||
|
|
||||||
@SuppressWarnings("UnnecessaryLambda")
|
@SuppressWarnings("UnnecessaryLambda")
|
||||||
class ThemeRepoManager extends VBox {
|
class ThemeRepoManager extends VBox {
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ package atlantafx.sampler.page.general;
|
|||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.page.OverlayDialog;
|
import atlantafx.sampler.page.OverlayDialog;
|
||||||
|
import java.io.File;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
@ -10,8 +11,6 @@ import javafx.stage.FileChooser.ExtensionFilter;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2MZ;
|
import org.kordamp.ikonli.material2.Material2MZ;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
class ThemeRepoManagerDialog extends OverlayDialog<ThemeRepoManager> {
|
class ThemeRepoManagerDialog extends OverlayDialog<ThemeRepoManager> {
|
||||||
|
|
||||||
private final ThemeRepoManager repoManager = new ThemeRepoManager();
|
private final ThemeRepoManager repoManager = new ThemeRepoManager();
|
||||||
|
@ -1,11 +1,41 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.general;
|
package atlantafx.sampler.page.general;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
import static atlantafx.base.theme.Styles.DANGER;
|
||||||
|
import static atlantafx.base.theme.Styles.SUCCESS;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_BOLD;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_BOLDER;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_CAPTION;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_ITALIC;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_LIGHTER;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_MUTED;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_NORMAL;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_OBLIQUE;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_STRIKETHROUGH;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_SUBTLE;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_UNDERLINED;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_1;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_2;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_3;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_4;
|
||||||
|
import static atlantafx.base.theme.Styles.WARNING;
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.FONT_CHANGE;
|
||||||
|
import static atlantafx.sampler.event.ThemeEvent.EventType.THEME_CHANGE;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
||||||
|
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
||||||
|
import static atlantafx.sampler.theme.ThemeManager.DEFAULT_FONT_FAMILY_NAME;
|
||||||
|
import static atlantafx.sampler.theme.ThemeManager.SUPPORTED_FONT_SIZE;
|
||||||
|
|
||||||
import atlantafx.sampler.event.DefaultEventBus;
|
import atlantafx.sampler.event.DefaultEventBus;
|
||||||
import atlantafx.sampler.event.ThemeEvent;
|
import atlantafx.sampler.event.ThemeEvent;
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import atlantafx.sampler.theme.ThemeManager;
|
import atlantafx.sampler.theme.ThemeManager;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javafx.animation.KeyFrame;
|
import javafx.animation.KeyFrame;
|
||||||
import javafx.animation.Timeline;
|
import javafx.animation.Timeline;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
@ -16,23 +46,16 @@ import javafx.scene.control.ComboBox;
|
|||||||
import javafx.scene.control.Hyperlink;
|
import javafx.scene.control.Hyperlink;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.Spinner;
|
import javafx.scene.control.Spinner;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.event.ThemeEvent.EventType.FONT_CHANGE;
|
|
||||||
import static atlantafx.sampler.event.ThemeEvent.EventType.THEME_CHANGE;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_HGAP;
|
|
||||||
import static atlantafx.sampler.page.SampleBlock.BLOCK_VGAP;
|
|
||||||
import static atlantafx.sampler.theme.ThemeManager.DEFAULT_FONT_FAMILY_NAME;
|
|
||||||
import static atlantafx.sampler.theme.ThemeManager.SUPPORTED_FONT_SIZE;
|
|
||||||
|
|
||||||
public class TypographyPage extends AbstractPage {
|
public class TypographyPage extends AbstractPage {
|
||||||
|
|
||||||
public static final String NAME = "Typography";
|
public static final String NAME = "Typography";
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package atlantafx.sampler.page.showcase;
|
package atlantafx.sampler.page.showcase;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.ACCENT;
|
||||||
|
|
||||||
import atlantafx.sampler.page.AbstractPage;
|
import atlantafx.sampler.page.AbstractPage;
|
||||||
import atlantafx.sampler.util.NodeUtils;
|
import atlantafx.sampler.util.NodeUtils;
|
||||||
import javafx.css.PseudoClass;
|
import javafx.css.PseudoClass;
|
||||||
@ -16,8 +18,6 @@ import javafx.stage.StageStyle;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.ACCENT;
|
|
||||||
|
|
||||||
public abstract class ShowcasePage extends AbstractPage {
|
public abstract class ShowcasePage extends AbstractPage {
|
||||||
|
|
||||||
protected static final PseudoClass SHOWCASE_MODE = PseudoClass.getPseudoClass("showcase-mode");
|
protected static final PseudoClass SHOWCASE_MODE = PseudoClass.getPseudoClass("showcase-mode");
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import java.nio.file.Path;
|
||||||
import org.kordamp.ikonli.Ikon;
|
import org.kordamp.ikonli.Ikon;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
|
|
||||||
record Bookmark(String title, Path path, Ikon icon) { }
|
record Bookmark(String title, Path path, Ikon icon) { }
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Model.USER_HOME;
|
||||||
|
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
import javafx.scene.control.ListCell;
|
import javafx.scene.control.ListCell;
|
||||||
import javafx.scene.control.ListView;
|
import javafx.scene.control.ListView;
|
||||||
@ -7,11 +11,6 @@ import javafx.scene.input.MouseEvent;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.Model.USER_HOME;
|
|
||||||
|
|
||||||
final class BookmarkList extends ListView<Bookmark> {
|
final class BookmarkList extends ListView<Bookmark> {
|
||||||
|
|
||||||
public BookmarkList(Model model) {
|
public BookmarkList(Model model) {
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
import javafx.scene.layout.Pane;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
|
||||||
interface DirectoryView {
|
interface DirectoryView {
|
||||||
|
|
||||||
|
@ -2,12 +2,11 @@
|
|||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
import atlantafx.sampler.Resources;
|
import atlantafx.sampler.Resources;
|
||||||
import javafx.scene.image.Image;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
|
|
||||||
final class FileIconRepository {
|
final class FileIconRepository {
|
||||||
|
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Utils.isFileHidden;
|
||||||
|
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.property.ObjectProperty;
|
import javafx.beans.property.ObjectProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
@ -10,15 +18,6 @@ import javafx.collections.transformation.FilteredList;
|
|||||||
import javafx.collections.transformation.SortedList;
|
import javafx.collections.transformation.SortedList;
|
||||||
import javafx.scene.control.TableView;
|
import javafx.scene.control.TableView;
|
||||||
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.function.Predicate;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.Utils.isFileHidden;
|
|
||||||
|
|
||||||
final class FileList {
|
final class FileList {
|
||||||
|
|
||||||
static final Comparator<Path> FILE_TYPE_COMPARATOR =
|
static final Comparator<Path> FILE_TYPE_COMPARATOR =
|
||||||
|
@ -1,16 +1,38 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
||||||
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.FileList.PREDICATE_ANY;
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.FileList.PREDICATE_NOT_HIDDEN;
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Utils.openFile;
|
||||||
|
import static atlantafx.sampler.util.Controls.hyperlink;
|
||||||
|
import static atlantafx.sampler.util.Controls.iconButton;
|
||||||
|
|
||||||
import atlantafx.base.controls.Breadcrumbs;
|
import atlantafx.base.controls.Breadcrumbs;
|
||||||
import atlantafx.base.controls.Breadcrumbs.BreadCrumbItem;
|
import atlantafx.base.controls.Breadcrumbs.BreadCrumbItem;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.page.showcase.ShowcasePage;
|
import atlantafx.sampler.page.showcase.ShowcasePage;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.ButtonBase;
|
||||||
|
import javafx.scene.control.CheckMenuItem;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.MenuButton;
|
||||||
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.control.SplitPane;
|
||||||
|
import javafx.scene.control.ToolBar;
|
||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
@ -21,22 +43,6 @@ import org.kordamp.ikonli.javafx.FontIcon;
|
|||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
import org.kordamp.ikonli.material2.Material2MZ;
|
import org.kordamp.ikonli.material2.Material2MZ;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.BUTTON_ICON;
|
|
||||||
import static atlantafx.base.theme.Styles.FLAT;
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.FileList.PREDICATE_ANY;
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.FileList.PREDICATE_NOT_HIDDEN;
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.Utils.openFile;
|
|
||||||
import static atlantafx.sampler.util.Controls.hyperlink;
|
|
||||||
import static atlantafx.sampler.util.Controls.iconButton;
|
|
||||||
|
|
||||||
public class FileManagerPage extends ShowcasePage {
|
public class FileManagerPage extends ShowcasePage {
|
||||||
|
|
||||||
public static final String NAME = "File Manager";
|
public static final String NAME = "File Manager";
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
|
||||||
import javafx.beans.property.ReadOnlyObjectWrapper;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||||
|
|
||||||
final class Model {
|
final class Model {
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
import javafx.beans.binding.Bindings;
|
|
||||||
import javafx.beans.binding.BooleanBinding;
|
|
||||||
import javafx.beans.property.IntegerProperty;
|
|
||||||
import javafx.beans.property.SimpleIntegerProperty;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import javafx.beans.binding.Bindings;
|
||||||
|
import javafx.beans.binding.BooleanBinding;
|
||||||
|
import javafx.beans.property.IntegerProperty;
|
||||||
|
import javafx.beans.property.SimpleIntegerProperty;
|
||||||
|
|
||||||
final class NavigationHistory {
|
final class NavigationHistory {
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
||||||
|
|
||||||
import javafx.scene.control.ContextMenu;
|
import javafx.scene.control.ContextMenu;
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
import javafx.scene.control.SeparatorMenuItem;
|
import javafx.scene.control.SeparatorMenuItem;
|
||||||
import javafx.scene.input.KeyCode;
|
import javafx.scene.input.KeyCode;
|
||||||
import javafx.scene.input.KeyCodeCombination;
|
import javafx.scene.input.KeyCodeCombination;
|
||||||
|
|
||||||
import static javafx.scene.input.KeyCombination.CONTROL_DOWN;
|
|
||||||
|
|
||||||
final class RightClickMenu extends ContextMenu {
|
final class RightClickMenu extends ContextMenu {
|
||||||
|
|
||||||
public RightClickMenu() {
|
public RightClickMenu() {
|
||||||
|
@ -1,10 +1,24 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Utils.fileMTime;
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Utils.fileSize;
|
||||||
|
import static atlantafx.sampler.page.showcase.filemanager.Utils.isFileHidden;
|
||||||
|
import static atlantafx.sampler.util.HumanReadableFormat.byteCount;
|
||||||
|
import static java.nio.file.LinkOption.NOFOLLOW_LINKS;
|
||||||
|
import static javafx.scene.control.TableColumn.SortType.ASCENDING;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import atlantafx.base.theme.Tweaks;
|
||||||
import atlantafx.sampler.util.Containers;
|
import atlantafx.sampler.util.Containers;
|
||||||
import atlantafx.sampler.util.HumanReadableFormat;
|
import atlantafx.sampler.util.HumanReadableFormat;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.attribute.FileTime;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import javafx.beans.property.SimpleLongProperty;
|
import javafx.beans.property.SimpleLongProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
@ -18,19 +32,6 @@ import javafx.scene.image.ImageView;
|
|||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.attribute.FileTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.showcase.filemanager.Utils.*;
|
|
||||||
import static atlantafx.sampler.util.HumanReadableFormat.byteCount;
|
|
||||||
import static java.nio.file.LinkOption.NOFOLLOW_LINKS;
|
|
||||||
import static javafx.scene.control.TableColumn.SortType.ASCENDING;
|
|
||||||
|
|
||||||
final class TableDirectoryView extends AnchorPane implements DirectoryView {
|
final class TableDirectoryView extends AnchorPane implements DirectoryView {
|
||||||
|
|
||||||
private static final PseudoClass HIDDEN = PseudoClass.getPseudoClass("hidden");
|
private static final PseudoClass HIDDEN = PseudoClass.getPseudoClass("hidden");
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.filemanager;
|
package atlantafx.sampler.page.showcase.filemanager;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.Desktop;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.LinkOption;
|
import java.nio.file.LinkOption;
|
||||||
|
@ -9,13 +9,17 @@
|
|||||||
*/
|
*/
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.awt.image.DataBufferByte;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import static java.awt.image.BufferedImage.TYPE_3BYTE_BGR;
|
import static java.awt.image.BufferedImage.TYPE_3BYTE_BGR;
|
||||||
import static java.awt.image.BufferedImage.TYPE_4BYTE_ABGR;
|
import static java.awt.image.BufferedImage.TYPE_4BYTE_ABGR;
|
||||||
|
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.awt.image.DataBufferByte;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@SuppressWarnings({"unused", "NarrowingCompoundAssignment"})
|
@SuppressWarnings({"unused", "NarrowingCompoundAssignment"})
|
||||||
final class ColorThief {
|
final class ColorThief {
|
||||||
|
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
import atlantafx.sampler.Resources;
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_ALBUM;
|
||||||
import javafx.scene.image.Image;
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_ARTIST;
|
||||||
import javafx.scene.media.Media;
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_TITLE;
|
||||||
import javafx.scene.media.MediaPlayer;
|
import static atlantafx.sampler.page.showcase.musicplayer.Utils.copyImage;
|
||||||
|
|
||||||
|
import atlantafx.sampler.Resources;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
import javafx.scene.image.Image;
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.*;
|
import javafx.scene.media.Media;
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.Utils.copyImage;
|
import javafx.scene.media.MediaPlayer;
|
||||||
|
|
||||||
@SuppressWarnings("StringOperationCanBeSimplified")
|
@SuppressWarnings("StringOperationCanBeSimplified")
|
||||||
record MediaFile(File file) {
|
record MediaFile(File file) {
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.property.*;
|
import javafx.beans.property.ReadOnlyBooleanProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyBooleanWrapper;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
final class Model {
|
final class Model {
|
||||||
|
|
||||||
private final ObservableList<MediaFile> playlist = FXCollections.observableArrayList();
|
private final ObservableList<MediaFile> playlist = FXCollections.observableArrayList();
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.util.Controls.hyperlink;
|
||||||
|
|
||||||
import atlantafx.sampler.page.showcase.ShowcasePage;
|
import atlantafx.sampler.page.showcase.ShowcasePage;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -9,12 +14,6 @@ import javafx.scene.layout.BorderPane;
|
|||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.util.Controls.hyperlink;
|
|
||||||
|
|
||||||
public class MusicPlayerPage extends ShowcasePage {
|
public class MusicPlayerPage extends ShowcasePage {
|
||||||
|
|
||||||
public static final String NAME = "Music Player";
|
public static final String NAME = "Music Player";
|
||||||
|
@ -1,6 +1,30 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
|
import static atlantafx.base.controls.Popover.ArrowLocation;
|
||||||
|
import static atlantafx.base.theme.Styles.BUTTON_CIRCLE;
|
||||||
|
import static atlantafx.base.theme.Styles.SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
|
import static atlantafx.base.theme.Styles.TITLE_3;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_ALBUM;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_ARTIST;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_IMAGE;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_TITLE;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.Utils.formatDuration;
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.Utils.getDominantColor;
|
||||||
|
import static java.lang.Double.MAX_VALUE;
|
||||||
|
import static javafx.geometry.Orientation.VERTICAL;
|
||||||
|
import static javafx.geometry.Pos.CENTER;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2AL.CLEAR_ALL;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2AL.EQUALS;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2MZ.PAUSE;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2MZ.PLAY_ARROW;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2MZ.SHUFFLE;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2MZ.VOLUME_OFF;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2MZ.VOLUME_UP;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2OutlinedAL.FAST_FORWARD;
|
||||||
|
import static org.kordamp.ikonli.material2.Material2OutlinedAL.FAST_REWIND;
|
||||||
|
|
||||||
import atlantafx.base.controls.Popover;
|
import atlantafx.base.controls.Popover;
|
||||||
import atlantafx.base.controls.ProgressSliderSkin;
|
import atlantafx.base.controls.ProgressSliderSkin;
|
||||||
import atlantafx.base.controls.Spacer;
|
import atlantafx.base.controls.Spacer;
|
||||||
@ -24,20 +48,6 @@ import javafx.scene.shape.Rectangle;
|
|||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import static atlantafx.base.controls.Popover.ArrowLocation;
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.*;
|
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.Utils.formatDuration;
|
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.Utils.getDominantColor;
|
|
||||||
import static java.lang.Double.MAX_VALUE;
|
|
||||||
import static javafx.geometry.Orientation.VERTICAL;
|
|
||||||
import static javafx.geometry.Pos.CENTER;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2AL.CLEAR_ALL;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2AL.EQUALS;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2MZ.*;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2OutlinedAL.FAST_FORWARD;
|
|
||||||
import static org.kordamp.ikonli.material2.Material2OutlinedAL.FAST_REWIND;
|
|
||||||
|
|
||||||
final class PlayerPane extends VBox {
|
final class PlayerPane extends VBox {
|
||||||
|
|
||||||
private static final int PANEL_MAX_WIDTH = 220;
|
private static final int PANEL_MAX_WIDTH = 220;
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
import javafx.scene.control.SplitPane;
|
import static atlantafx.sampler.util.JColorUtils.toHexWithAlpha;
|
||||||
import javafx.scene.paint.Color;
|
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import javafx.scene.control.SplitPane;
|
||||||
import static atlantafx.sampler.util.JColorUtils.toHexWithAlpha;
|
import javafx.scene.paint.Color;
|
||||||
|
|
||||||
final class PlayerScreen extends SplitPane {
|
final class PlayerScreen extends SplitPane {
|
||||||
|
|
||||||
|
@ -1,26 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
import atlantafx.base.controls.Spacer;
|
import static atlantafx.base.theme.Styles.FLAT;
|
||||||
import atlantafx.base.theme.Tweaks;
|
import static atlantafx.base.theme.Styles.SMALL;
|
||||||
import javafx.application.Platform;
|
import static atlantafx.base.theme.Styles.TEXT_CAPTION;
|
||||||
import javafx.collections.ListChangeListener;
|
import static atlantafx.base.theme.Styles.TEXT_SMALL;
|
||||||
import javafx.concurrent.Task;
|
|
||||||
import javafx.css.PseudoClass;
|
|
||||||
import javafx.geometry.Insets;
|
|
||||||
import javafx.scene.control.*;
|
|
||||||
import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.VBox;
|
|
||||||
import javafx.scene.paint.ImagePattern;
|
|
||||||
import javafx.scene.shape.Rectangle;
|
|
||||||
import javafx.stage.FileChooser;
|
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static atlantafx.base.theme.Styles.*;
|
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_IMAGE_ALT;
|
import static atlantafx.sampler.page.showcase.musicplayer.MediaFile.Metadata.NO_IMAGE_ALT;
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage.SUPPORTED_MEDIA_TYPES;
|
import static atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage.SUPPORTED_MEDIA_TYPES;
|
||||||
import static java.lang.Double.MAX_VALUE;
|
import static java.lang.Double.MAX_VALUE;
|
||||||
@ -30,6 +14,28 @@ import static javafx.stage.FileChooser.ExtensionFilter;
|
|||||||
import static org.kordamp.ikonli.material2.Material2AL.ADD;
|
import static org.kordamp.ikonli.material2.Material2AL.ADD;
|
||||||
import static org.kordamp.ikonli.material2.Material2MZ.PLAYLIST_PLAY;
|
import static org.kordamp.ikonli.material2.Material2MZ.PLAYLIST_PLAY;
|
||||||
|
|
||||||
|
import atlantafx.base.controls.Spacer;
|
||||||
|
import atlantafx.base.theme.Tweaks;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import javafx.application.Platform;
|
||||||
|
import javafx.collections.ListChangeListener;
|
||||||
|
import javafx.concurrent.Task;
|
||||||
|
import javafx.css.PseudoClass;
|
||||||
|
import javafx.geometry.Insets;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.control.ListCell;
|
||||||
|
import javafx.scene.control.ListView;
|
||||||
|
import javafx.scene.control.ProgressBar;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.layout.VBox;
|
||||||
|
import javafx.scene.paint.ImagePattern;
|
||||||
|
import javafx.scene.shape.Rectangle;
|
||||||
|
import javafx.stage.FileChooser;
|
||||||
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
final class PlaylistPane extends VBox {
|
final class PlaylistPane extends VBox {
|
||||||
|
|
||||||
private final Model model;
|
private final Model model;
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.musicplayer;
|
package atlantafx.sampler.page.showcase.musicplayer;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage.SUPPORTED_MEDIA_TYPES;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Stream;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
@ -16,14 +23,6 @@ import javafx.stage.FileChooser.ExtensionFilter;
|
|||||||
import org.kordamp.ikonli.feather.Feather;
|
import org.kordamp.ikonli.feather.Feather;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import static atlantafx.sampler.page.showcase.musicplayer.MusicPlayerPage.SUPPORTED_MEDIA_TYPES;
|
|
||||||
|
|
||||||
final class StartScreen extends BorderPane {
|
final class StartScreen extends BorderPane {
|
||||||
|
|
||||||
private final Model model;
|
private final Model model;
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.widget;
|
package atlantafx.sampler.page.showcase.widget;
|
||||||
|
|
||||||
|
import static atlantafx.sampler.page.Page.PAGE_HGAP;
|
||||||
|
import static atlantafx.sampler.page.Page.PAGE_VGAP;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
import atlantafx.sampler.Resources;
|
import atlantafx.sampler.Resources;
|
||||||
import atlantafx.sampler.theme.CSSFragment;
|
import atlantafx.sampler.theme.CSSFragment;
|
||||||
@ -21,9 +24,6 @@ import net.datafaker.Faker;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import static atlantafx.sampler.page.Page.PAGE_HGAP;
|
|
||||||
import static atlantafx.sampler.page.Page.PAGE_VGAP;
|
|
||||||
|
|
||||||
public class CardSample extends HBox {
|
public class CardSample extends HBox {
|
||||||
|
|
||||||
private static final Faker FAKER = new Faker();
|
private static final Faker FAKER = new Faker();
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
package atlantafx.sampler.page.showcase.widget;
|
package atlantafx.sampler.page.showcase.widget;
|
||||||
|
|
||||||
import atlantafx.base.theme.Styles;
|
import atlantafx.base.theme.Styles;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.animation.FadeTransition;
|
import javafx.animation.FadeTransition;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -14,9 +16,6 @@ import javafx.util.Duration;
|
|||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
import org.kordamp.ikonli.material2.Material2AL;
|
import org.kordamp.ikonli.material2.Material2AL;
|
||||||
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class Message extends StackPane {
|
public class Message extends StackPane {
|
||||||
|
|
||||||
private static final int ANIMATION_DURATION = 500;
|
private static final int ANIMATION_DURATION = 500;
|
||||||
|
@ -3,13 +3,12 @@ package atlantafx.sampler.page.showcase.widget;
|
|||||||
|
|
||||||
import atlantafx.sampler.page.SampleBlock;
|
import atlantafx.sampler.page.SampleBlock;
|
||||||
import atlantafx.sampler.theme.CSSFragment;
|
import atlantafx.sampler.theme.CSSFragment;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class MessageSample extends SampleBlock {
|
public class MessageSample extends SampleBlock {
|
||||||
|
|
||||||
public MessageSample() {
|
public MessageSample() {
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.widget;
|
package atlantafx.sampler.page.showcase.widget;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.beans.binding.BooleanBinding;
|
import javafx.beans.binding.BooleanBinding;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
@ -19,11 +23,6 @@ import javafx.scene.layout.Priority;
|
|||||||
import org.kordamp.ikonli.Ikon;
|
import org.kordamp.ikonli.Ikon;
|
||||||
import org.kordamp.ikonli.javafx.FontIcon;
|
import org.kordamp.ikonli.javafx.FontIcon;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class Stepper extends HBox {
|
public class Stepper extends HBox {
|
||||||
|
|
||||||
public static final String CSS = """
|
public static final String CSS = """
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/* SPDX-License-Identifier: MIT */
|
/* SPDX-License-Identifier: MIT */
|
||||||
package atlantafx.sampler.page.showcase.widget;
|
package atlantafx.sampler.page.showcase.widget;
|
||||||
|
|
||||||
|
import static javafx.scene.control.ContentDisplay.RIGHT;
|
||||||
|
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
|
|
||||||
import static javafx.scene.control.ContentDisplay.RIGHT;
|
|
||||||
|
|
||||||
public class Tag extends Button {
|
public class Tag extends Button {
|
||||||
|
|
||||||
public static final String CSS = """
|
public static final String CSS = """
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user