kauron/estraba
Archived
1
0
Fork 0

dashboard redesign

This commit is contained in:
Jesús Vélez Palacios 2016-05-19 14:06:45 +02:00
parent bb377effea
commit bb0b5086d0
10 changed files with 103 additions and 11 deletions

View file

@ -33,6 +33,7 @@ import javafx.scene.image.Image;
import javafx.stage.Stage; import javafx.stage.Stage;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import static java.util.ResourceBundle.getBundle; import static java.util.ResourceBundle.getBundle;
/** /**
@ -52,10 +53,12 @@ public class App extends Application {
FXMLLoader loader = new FXMLLoader( FXMLLoader loader = new FXMLLoader(
App.class.getResource("fxml/Dashboard.fxml"), GENERAL_BUNDLE); App.class.getResource("fxml/Dashboard.fxml"), GENERAL_BUNDLE);
Parent root = loader.load(); Parent root = loader.load();
stage.getIcons().add(new Image(App.class.getResource("img/icon.png").toString())); stage.getIcons().add(new Image(App.class.getResource("img/icon.png").toString()));
stage.setTitle("ESTRABA"); stage.setTitle(GENERAL_BUNDLE.getString("app.title"));
stage.setResizable(false);
stage.setScene(new Scene(root)); stage.setScene(new Scene(root));
stage.setResizable(true);
stage.show(); stage.show();
loader.<DashboardController>getController().postinit(); loader.<DashboardController>getController().postinit();
} }

View file

@ -178,6 +178,8 @@ public class DashboardController implements Initializable {
imgDate.setImage(new Image(App.class.getResourceAsStream("img/date.png"))); imgDate.setImage(new Image(App.class.getResourceAsStream("img/date.png")));
imgDistance.setImage(new Image(App.class.getResourceAsStream("img/distance.png"))); imgDistance.setImage(new Image(App.class.getResourceAsStream("img/distance.png")));
imgElevation.setImage(new Image(App.class.getResourceAsStream("img/elevation.png"))); imgElevation.setImage(new Image(App.class.getResourceAsStream("img/elevation.png")));
snackbar = new JFXSnackbar();
} }
@FXML @FXML
@ -199,7 +201,6 @@ public class DashboardController implements Initializable {
} }
public void postinit() { public void postinit() {
snackbar = new JFXSnackbar();
snackbar.registerSnackbarContainer(root); snackbar.registerSnackbarContainer(root);
try {load();} catch (JAXBException e) {e.printStackTrace();} try {load();} catch (JAXBException e) {e.printStackTrace();}
} }
@ -225,10 +226,10 @@ public class DashboardController implements Initializable {
valueDate.setText(track.getStartTime().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL))); valueDate.setText(track.getStartTime().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)));
valueTime.setText(track.getStartTime().format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM))); valueTime.setText(track.getStartTime().format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM)));
valueActiveTime.setText(LocalTime.MIDNIGHT.plus(track.getMovingTime()) valueActiveTime.setText(LocalTime.MIDNIGHT.plus(track.getMovingTime())
.format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM))); .format(DateTimeFormatter.ofPattern("HH:mm:ss")));
valueTotalTime.setText(App.GENERAL_BUNDLE.getString("time.of") valueTotalTime.setText(App.GENERAL_BUNDLE.getString("time.of")
+ LocalTime.MIDNIGHT.plus(track.getTotalDuration()) + LocalTime.MIDNIGHT.plus(track.getTotalDuration())
.format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM))); .format(DateTimeFormatter.ofPattern("HH:mm:ss")));
if (track.getTotalDistance() > KILOMETER_CUTOFF) { if (track.getTotalDistance() > KILOMETER_CUTOFF) {
valueDistance.setText(String.format("%.2f", track.getTotalDistance() / 1000) valueDistance.setText(String.format("%.2f", track.getTotalDistance() / 1000)
@ -256,7 +257,7 @@ public class DashboardController implements Initializable {
// traverse the chunks // traverse the chunks
ObservableList<Chunk> chunks = track.getChunks(); ObservableList<Chunk> chunks = track.getChunks();
double currentDistance = 0.0; double currentDistance = 0.0;
double currentHeight = 0.0; double currentHeight = chunks.get(0).getFirstPoint().getElevation();
for (Chunk chunk : chunks) { for (Chunk chunk : chunks) {
currentDistance += chunk.getDistance(); currentDistance += chunk.getDistance();
if (chunk.getDistance() < DISTANCE_EPSILON) continue; if (chunk.getDistance() < DISTANCE_EPSILON) continue;

View file

@ -0,0 +1,47 @@
package es.kauron.estraba.controller;
import com.jfoenix.controls.JFXButton;
import com.jfoenix.controls.JFXSpinner;
import es.kauron.estraba.App;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import java.net.URL;
import java.util.ResourceBundle;
/**
* es.kauron.estraba.controller (estraba)
* Created by baudlord on 5/19/16.
*/
public class SplashController implements Initializable{
@FXML
private ImageView imgLogo;
@FXML
private JFXSpinner spinner;
@FXML
private Label labelWelcome;
@FXML
private JFXButton buttonLoad;
@FXML
void loadGPXFile(ActionEvent event) {
buttonLoad.setVisible(false);
labelWelcome.setVisible(false);
spinner.setVisible(true);
}
@Override
public void initialize(URL location, ResourceBundle resources) {
imgLogo.setImage(new Image(App.class.getResourceAsStream("img/splash.png")));
}
}

View file

@ -0,0 +1,11 @@
/* Palette generated by Material Palette - materialpalette.com/deep-orange/indigo */
.background { -fx-background-color: #FFFFFF; }
.dark-primary-color { -fx-background-color: #E64A19; }
.default-primary-color { -fx-background-color: #FF5722; }
.light-primary-color { -fx-background-color: #FFCCBC; }
.text-primary-color { -fx-text-fill: #FFFFFF; }
.accent-color { -fx-background-color: #536DFE; }
.primary-text-color { -fx-text-fill: #212121; }
.secondary-text-color { -fx-text-fill: #727272; }
.divider-color { -fx-background-color: #B6B6B6; }

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXSpinner?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.StackPane?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" styleClass="background" stylesheets="@../css/palette.css" xmlns="http://javafx.com/javafx/8.0.76-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="es.kauron.estraba.controller.SplashController">
<ImageView fx:id="imgLogo" fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true" AnchorPane.leftAnchor="50.0" AnchorPane.rightAnchor="50.0" AnchorPane.topAnchor="25.0">
</ImageView>
<JFXSpinner fx:id="spinner" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
<Label fx:id="labelWelcome" alignment="CENTER" text="%label.welcome" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
<StackPane layoutX="-1.0" layoutY="251.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<JFXButton maxHeight="-Infinity" maxWidth="-Infinity" onAction="#loadGPXFile" styleClass="accent-color" text="%label.loadGPX">
<padding>
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
</padding>
<StackPane.margin>
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
</StackPane.margin>
</JFXButton>
</StackPane>
</AnchorPane>

View file

@ -1,3 +1,4 @@
app.title=ESTRABA
label.cadence=Cadence label.cadence=Cadence
label.distance=Distance label.distance=Distance
label.elevation=Elevation label.elevation=Elevation
@ -8,10 +9,10 @@ tab.dashboard=Dashboard
tab.graph=Stats tab.graph=Stats
tab.map=Your Route tab.map=Your Route
tab.settings=Settings tab.settings=Settings
time.of=of time.of=of\
unit.bpm=\ bpm unit.bpm=\ bpm
unit.hz=\ Hz unit.hz=\ Hz
unit.km=km unit.km=\ km
unit.kmph=\ kmph unit.kmph=\ kmph
unit.m=\ m unit.m=\ m
zone.anaerobic=Anaerobic zone.anaerobic=Anaerobic

View file

@ -1,3 +1,4 @@
app.title=ESTRABA
label.cadence=Cadencia label.cadence=Cadencia
label.distance=Distancia label.distance=Distancia
label.elevation=Elevacion label.elevation=Elevacion
@ -8,10 +9,10 @@ tab.dashboard=Sumari
tab.graph=Estad\u00edstiques tab.graph=Estad\u00edstiques
tab.map=La teva ruta tab.map=La teva ruta
tab.settings=Ajustos tab.settings=Ajustos
time.of=de time.of=de\
unit.bpm=\ ppm unit.bpm=\ ppm
unit.hz=\ Hz unit.hz=\ Hz
unit.km=km unit.km=\ km
unit.kmph=\ km/h unit.kmph=\ km/h
unit.m=\ m unit.m=\ m
zone.anaerobic=Anaer\u00f2bic zone.anaerobic=Anaer\u00f2bic

View file

@ -1,3 +1,4 @@
app.title=ESTRABA
label.cadence=Cadencia label.cadence=Cadencia
label.distance=Distancia label.distance=Distancia
label.elevation=Elevacion label.elevation=Elevacion
@ -11,7 +12,7 @@ tab.settings=Ajustes
time.of=de time.of=de
unit.bpm=\ ppm unit.bpm=\ ppm
unit.hz=\ Hz unit.hz=\ Hz
unit.km=km unit.km=\ km
unit.kmph=\ km/h unit.kmph=\ km/h
unit.m=\ m unit.m=\ m
zone.anaerobic=Anaer\u00f3bico zone.anaerobic=Anaer\u00f3bico