kauron/estraba
kauron
/
estraba
Archived
1
0
Fork 0
This repository has been archived on 2022-12-19. You can view files and clone it, but cannot push or open issues or pull requests.
estraba/src/main/resources/es/kauron/estraba/fxml/Dashboard.fxml

455 lines
24 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2016 Jesús "baudlord" Vélez Palacios, Carlos "kauron" Santiago Galindo Jiménez
~
~ Permission is hereby granted, free of charge, to any person obtaining a copy
~ of this software and associated documentation files (the "Software"), to deal
~ in the Software without restriction, including without limitation the rights
~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
~ copies of the Software, and to permit persons to whom the Software is
~ furnished to do so, subject to the following conditions:
~
~ The above copyright notice and this permission notice shall be included in
~ all copies or substantial portions of the Software.
~
~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
~ THE SOFTWARE.
~
~ If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.
~
-->
<?import com.jfoenix.controls.*?>
<?import com.lynden.gmapsfx.GoogleMapView?>
<?import javafx.geometry.*?>
<?import javafx.scene.chart.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import java.lang.*?>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" fx:id="root" xmlns="http://javafx.com/javafx/8.0.76-ea"
fx:controller="es.kauron.estraba.controller.DashboardController">
<JFXTabPane minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="1000.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<Tab fx:id="tabDashboard" text="%tab.dashboard">
<VBox prefHeight="200.0" prefWidth="100.0">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<Label fx:id="labelMotivationUpper" alignment="CENTER" focusTraversable="false" maxWidth="1.7976931348623157E308" text="%label.motivation">
<VBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</VBox.margin>
<styleClass>
<String fx:value="motivation" />
<String fx:value="motivation.upper" />
</styleClass>
</Label>
<HBox prefHeight="360.0" prefWidth="800.0" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets />
</VBox.margin>
<VBox minHeight="360.0" minWidth="300.0" prefHeight="300.0" HBox.hgrow="ALWAYS">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</HBox.margin>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<ImageView fx:id="imgHR" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" text="%label.hr">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="label" />
<String fx:value="label-hr" />
</styleClass>
</Label>
<Label fx:id="valueHRAvg" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-avghr" />
</styleClass>
</Label>
<HBox>
<Label fx:id="valueHRMin" alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-minhr" />
</styleClass>
</Label>
<Label fx:id="valueHRMax" layoutX="10.0" layoutY="10.0" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-maxhr" />
</styleClass>
</Label>
</HBox>
</VBox>
</HBox>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<ImageView fx:id="imgSpeed" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" text="%label.speed">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="label" />
<String fx:value="label-speed" />
</styleClass>
</Label>
<Label fx:id="valueSpeedAvg" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-avgspeed" />
</styleClass>
</Label>
<Label fx:id="valueSpeedMax" alignment="CENTER" maxWidth="1.7976931348623157E308">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-maxspeed" />
</styleClass>
</Label>
</VBox>
</HBox>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<ImageView fx:id="imgCadence" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" text="%label.cadence">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="label" />
<String fx:value="label-cadence" />
</styleClass>
</Label>
<Label fx:id="valueCadenceAvg" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-avgcadence" />
</styleClass>
</Label>
<Label fx:id="valueCadenceMax" alignment="CENTER" maxWidth="1.7976931348623157E308">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-maxcadence" />
</styleClass>
</Label>
</VBox>
</HBox>
</VBox>
<PieChart fx:id="zoneChart" labelsVisible="false" legendVisible="true" minHeight="-Infinity"
minWidth="-Infinity" prefHeight="300.0" prefWidth="360.0" startAngle="90" HBox.hgrow="ALWAYS">
</PieChart>
<VBox layoutX="15.0" layoutY="15.0" minHeight="360.0" minWidth="300.0" prefHeight="300.0"
HBox.hgrow="ALWAYS">
<HBox alignment="CENTER" layoutX="10.0" layoutY="10.0" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" HBox.hgrow="ALWAYS" VBox.vgrow="ALWAYS">
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label fx:id="valueDate" alignment="CENTER" layoutX="10.0" layoutY="97.0" maxWidth="1.7976931348623157E308">
<padding>
<Insets left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
</styleClass>
<VBox.margin>
<Insets />
</VBox.margin>
</Label>
<Label fx:id="valueTime" alignment="CENTER" layoutX="10.0" layoutY="30.0" maxWidth="1.7976931348623157E308">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
</styleClass>
</Label>
<Label fx:id="valueActiveTime" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-activetime" />
</styleClass>
</Label>
<Label fx:id="valueTotalTime" alignment="CENTER" maxWidth="1.7976931348623157E308">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-totaltime" />
</styleClass>
</Label>
</VBox>
<ImageView fx:id="imgDate" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
</HBox>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" HBox.hgrow="ALWAYS" VBox.vgrow="ALWAYS">
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label maxWidth="1.7976931348623157E308" text="%label.distance">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="label" />
<String fx:value="label-distance" />
</styleClass>
</Label>
<Label fx:id="valueDistance" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-distance" />
</styleClass>
</Label>
</VBox>
<ImageView fx:id="imgDistance" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
</HBox>
<HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="90.0" prefWidth="200.0" HBox.hgrow="ALWAYS" VBox.vgrow="ALWAYS">
<VBox alignment="CENTER" HBox.hgrow="ALWAYS">
<Label maxWidth="1.7976931348623157E308" text="%label.elevation">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="label" />
<String fx:value="label-elevation" />
</styleClass>
</Label>
<Label fx:id="valueElevation" alignment="CENTER" maxWidth="1.7976931348623157E308" textAlignment="CENTER">
<styleClass>
<String fx:value="value" />
<String fx:value="value-main" />
<String fx:value="value-elevation" />
</styleClass>
</Label>
<HBox>
<Label fx:id="valueAscent" alignment="CENTER_RIGHT" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-ascent" />
</styleClass>
</Label>
<Label fx:id="valueDescent" layoutX="10.0" layoutY="10.0" maxWidth="1.7976931348623157E308" HBox.hgrow="ALWAYS">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<styleClass>
<String fx:value="value" />
<String fx:value="value-sub" />
<String fx:value="value-descent" />
</styleClass>
</Label>
</HBox>
</VBox>
<ImageView fx:id="imgElevation" fitHeight="100.0" fitWidth="100.0" pickOnBounds="true" preserveRatio="true" styleClass="icon">
</ImageView>
</HBox>
</VBox>
</HBox>
<HBox alignment="CENTER" spacing="10.0">
<children>
<JFXButton minWidth="70.0" onAction="#loadFile" style="-fx-background-color: #fc4c02;"
text="Load another file" textAlignment="CENTER" textFill="WHITE">
<HBox.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="10.0"/>
</HBox.margin>
</JFXButton>
</children>
</HBox>
</VBox>
</Tab>
<Tab fx:id="tabMap" text="%tab.map">
<VBox>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<StackPane prefHeight="150.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<children>
<GoogleMapView fx:id="mapView" />
<JFXSpinner fx:id="mapSpinner" />
</children>
</StackPane>
<HBox maxHeight="-Infinity" minHeight="-Infinity" prefHeight="128.0">
<VBox>
<JFXButton fx:id="elevationButton" minHeight="-Infinity" minWidth="-Infinity" onAction="#onMapButton" prefHeight="32.0" prefWidth="32.0">
<graphic>
<ImageView fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
</graphic>
<VBox.margin>
<Insets />
</VBox.margin>
</JFXButton>
<JFXButton fx:id="speedButton" layoutX="10.0" layoutY="10.0" minHeight="-Infinity" minWidth="-Infinity" onAction="#onMapButton" prefHeight="32.0" prefWidth="32.0">
<graphic>
<ImageView fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
</graphic>
<VBox.margin>
<Insets />
</VBox.margin>
</JFXButton>
<JFXButton fx:id="hrButton" layoutX="10.0" layoutY="10.0" minHeight="-Infinity" minWidth="-Infinity" onAction="#onMapButton" prefHeight="32.0" prefWidth="32.0">
<graphic>
<ImageView fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
</graphic>
<VBox.margin>
<Insets />
</VBox.margin>
</JFXButton>
<JFXButton fx:id="cadenceButton" layoutX="10.0" layoutY="42.0" minHeight="-Infinity" minWidth="-Infinity" onAction="#onMapButton" prefHeight="32.0" prefWidth="32.0">
<graphic>
<ImageView fitHeight="32.0" fitWidth="32.0" pickOnBounds="true" preserveRatio="true" />
</graphic>
<VBox.margin>
<Insets />
</VBox.margin>
</JFXButton>
</VBox>
<LineChart fx:id="mapChart" animated="false" createSymbols="false" legendSide="TOP" minHeight="0.0"
minWidth="0.0" HBox.hgrow="ALWAYS">
<xAxis>
<NumberAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
</HBox>
</VBox>
</Tab>
<Tab fx:id="tabGraph" text="%tab.graph">
<VBox alignment="CENTER">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<HBox alignment="CENTER" spacing="5.0">
<children>
<Label text="%label.distance" />
<JFXToggleButton fx:id="toggleCharts" toggleColor="#fc4c02" toggleLineColor="#ffba9e"
unToggleColor="#fc4c02" unToggleLineColor="#ffba9e">
<padding>
<Insets bottom="-5.0" left="-5.0" right="-5.0" top="-5.0" />
</padding>
</JFXToggleButton>
<Label text="%label.time" />
</children>
</HBox>
<StackPane fx:id="charts">
<children>
<VBox>
<children>
<AreaChart fx:id="elevationChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</AreaChart>
<LineChart fx:id="speedChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
<LineChart fx:id="hrChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
<LineChart fx:id="cadenceChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
</children>
</VBox>
<VBox visible="false">
<children>
<AreaChart fx:id="elevationTChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</AreaChart>
<LineChart fx:id="speedTChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
<LineChart fx:id="hrTChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
<LineChart fx:id="cadenceTChart" createSymbols="false" legendVisible="false" minHeight="100.0">
<xAxis>
<NumberAxis />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
</children>
</VBox>
</children>
</StackPane>
</VBox>
</Tab>
</JFXTabPane>
</AnchorPane>