Skip to content

Commit

Permalink
Added support for new LeaderBoardTile
Browse files Browse the repository at this point in the history
  • Loading branch information
HanSolo committed Jan 11, 2017
1 parent 3ab4c7a commit 99ca318
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 23 deletions.
58 changes: 43 additions & 15 deletions src/main/java/eu/hansolo/tilesfx/Tile.java
Expand Up @@ -87,7 +87,7 @@
public class Tile extends Control {
public enum SkinType { AREA_CHART, BAR_CHART, LINE_CHART, CLOCK, GAUGE, HIGH_LOW,
PERCENTAGE, PLUS_MINUS, SLIDER, SPARK_LINE, SWITCH, WORLDMAP,
TIMER_CONTROL, NUMBER, TEXT, WEATHER, TIME, CUSTOM }
TIMER_CONTROL, NUMBER, TEXT, WEATHER, TIME, CUSTOM, LEADER_BOARD }
public enum TextSize {
NORMAL(0.06),
BIGGER(0.08);
Expand Down Expand Up @@ -177,7 +177,8 @@ public enum TextSize {
private StringProperty text;
private LocalTime _duration;
private ObjectProperty<LocalTime> duration;
private ObservableList<BarChartSegment> barChartData;
private ObservableList<BarChartItem> barChartItems;
private List<LeaderBoardItem> leaderBoardItems;
private ObjectProperty<Node> graphic;

// UI related
Expand Down Expand Up @@ -457,7 +458,8 @@ private void update() {
timeSections = FXCollections.observableArrayList();
alarms = FXCollections.observableArrayList();
alarmsToRemove = new ArrayList<>();
barChartData = FXCollections.observableArrayList();
barChartItems = FXCollections.observableArrayList();
leaderBoardItems = new ArrayList();
gradientStops = new ArrayList<>(4);

_textSize = TextSize.NORMAL;
Expand Down Expand Up @@ -1132,24 +1134,46 @@ public void clearSeries() {
fireTileEvent(SERIES_EVENT);
}

public ObservableList<BarChartSegment> getBarChartData() { return barChartData; }
public void setBarChartData(final List<BarChartSegment> DATA) {
barChartData.setAll(DATA);
public ObservableList<BarChartItem> getBarChartItems() { return barChartItems; }
public void setBarChartItems(final List<BarChartItem> ITEMS) {
barChartItems.setAll(ITEMS);
fireTileEvent(DATA_EVENT);
}
public void setBarChartData(final BarChartSegment... DATA) { setBarChartData(Arrays.asList(DATA)); }
public void addBarChartData(final BarChartSegment DATA) {
if (null == DATA) return;
barChartData.add(DATA);
public void setBarChartItems(final BarChartItem... ITEMS) { setBarChartItems(Arrays.asList(ITEMS)); }
public void addBarChartItem(final BarChartItem ITEM) {
if (null == ITEM) return;
barChartItems.add(ITEM);
fireTileEvent(DATA_EVENT);
}
public void removeBarChartData(final BarChartSegment DATA) {
if (null == DATA) return;
barChartData.remove(DATA);
public void removeBarChartItem(final BarChartItem ITEM) {
if (null == ITEM) return;
barChartItems.remove(ITEM);
fireTileEvent(DATA_EVENT);
}
public void clearBarChartData() {
barChartData.clear();
public void clearBarChartItems() {
barChartItems.clear();
fireTileEvent(DATA_EVENT);
}

public List<LeaderBoardItem> getLeaderBoardItems() { return leaderBoardItems; }
public void setLeaderBoardItems(final List<LeaderBoardItem> ITEMS) {
leaderBoardItems.clear();
leaderBoardItems.addAll(ITEMS);
fireTileEvent(DATA_EVENT);
}
public void setLeaderBoardItems(final LeaderBoardItem... ITEMS) { setLeaderBoardItems(Arrays.asList(ITEMS)); }
public void addLeaderBoardItem(final LeaderBoardItem ITEM) {
if (null == ITEM) return;
leaderBoardItems.add(ITEM);
fireTileEvent(DATA_EVENT);
}
public void removeLeaderBoardItem(final LeaderBoardItem ITEM) {
if (null == ITEM) return;
leaderBoardItems.remove(ITEM);
fireTileEvent(DATA_EVENT);
}
public void clearLeaderBoardItems() {
leaderBoardItems.clear();
fireTileEvent(DATA_EVENT);
}

Expand Down Expand Up @@ -3870,6 +3894,7 @@ public void fireTimeEvent(final TimeEvent EVENT) {
case WEATHER : return new WeatherTileSkin(Tile.this);
case TIME : return new TimeTileSkin(Tile.this);
case CUSTOM : return new CustomTileSkin(Tile.this);
case LEADER_BOARD : return new LeaderBoardTileSkin(Tile.this);
default : return new TileSkin(Tile.this);
}
}
Expand Down Expand Up @@ -3955,6 +3980,9 @@ public void setSkinType(final SkinType SKIN_TYPE) {
setTextVisible(true);
super.setSkin(new CustomTileSkin(Tile.this));
break;
case LEADER_BOARD:
super.setSkin(new LeaderBoardTileSkin(Tile.this));
break;
default:
super.setSkin(new TileSkin(Tile.this));
break;
Expand Down
37 changes: 29 additions & 8 deletions src/main/java/eu/hansolo/tilesfx/TileBuilder.java
Expand Up @@ -21,6 +21,8 @@
import eu.hansolo.tilesfx.events.AlarmEventListener;
import eu.hansolo.tilesfx.events.TileEventListener;
import eu.hansolo.tilesfx.events.TimeEventListener;
import eu.hansolo.tilesfx.skins.BarChartItem;
import eu.hansolo.tilesfx.skins.LeaderBoardItem;
import eu.hansolo.tilesfx.weather.DarkSky;
import javafx.beans.InvalidationListener;
import javafx.beans.property.BooleanProperty;
Expand Down Expand Up @@ -299,13 +301,23 @@ public final B series(final List<Series<String, Number>> SERIES) {
return (B)this;
}

public final B barChartData(final BarChartSegment... DATA) {
properties.put("barDataArray", new SimpleObjectProperty<>(DATA));
public final B barChartItems(final BarChartItem... ITEMS) {
properties.put("barChartItemsArray", new SimpleObjectProperty<>(ITEMS));
return (B)this;
}

public final B barChartData(final List<BarChartSegment> DATA) {
properties.put("barDataList", new SimpleObjectProperty<>(DATA));
public final B barChartItems(final List<BarChartItem> ITEMS) {
properties.put("barChartItemsList", new SimpleObjectProperty<>(ITEMS));
return (B)this;
}

public final B leaderBoardItems(final LeaderBoardItem... ITEMS) {
properties.put("leaderBoardItemsArray", new SimpleObjectProperty<>(ITEMS));
return (B)this;
}

public final B leaderBoardItems(final List<LeaderBoardItem> ITEMS) {
properties.put("leaderBoardItemsList", new SimpleObjectProperty<>(ITEMS));
return (B)this;
}

Expand Down Expand Up @@ -731,6 +743,8 @@ public final Tile build() {
break;
case CUSTOM:
break;
case LEADER_BOARD:
break;
}
} else {
CONTROL = new Tile();
Expand Down Expand Up @@ -777,11 +791,18 @@ public final Tile build() {
CONTROL.setSeries(((ObjectProperty<List<Series<String, Number>>>) properties.get("seriesList")).get());
}

if (properties.keySet().contains("barDataArray")) {
CONTROL.setBarChartData(((ObjectProperty<BarChartSegment[]>) properties.get("barDataArray")).get());
if (properties.keySet().contains("barChartItemsArray")) {
CONTROL.setBarChartItems(((ObjectProperty<BarChartItem[]>) properties.get("barChartItemsArray")).get());
}
if(properties.keySet().contains("barChartItemsList")) {
CONTROL.setBarChartItems(((ObjectProperty<List<BarChartItem>>) properties.get("barChartItemsList")).get());
}

if (properties.keySet().contains("leaderBoardItemsArray")) {
CONTROL.setLeaderBoardItems(((ObjectProperty<LeaderBoardItem[]>) properties.get("leaderBoardItemsArray")).get());
}
if(properties.keySet().contains("barDataList")) {
CONTROL.setBarChartData(((ObjectProperty<List<BarChartSegment>>) properties.get("barDataList")).get());
if(properties.keySet().contains("leaderBoardItemsList")) {
CONTROL.setLeaderBoardItems(((ObjectProperty<List<LeaderBoardItem>>) properties.get("leaderBoardItemsList")).get());
}

if (properties.keySet().contains("gradientStopsArray")) {
Expand Down

0 comments on commit 99ca318

Please sign in to comment.