diff --git a/src/main/java/NTNU/IDATT1002/controllers/ExploreAlbumsController.java b/src/main/java/NTNU/IDATT1002/controllers/ExploreAlbumsController.java new file mode 100644 index 0000000000000000000000000000000000000000..b87135974119a26f9a975edee2ec775b11e6bee5 --- /dev/null +++ b/src/main/java/NTNU/IDATT1002/controllers/ExploreAlbumsController.java @@ -0,0 +1,89 @@ +package NTNU.IDATT1002.controllers; + +import NTNU.IDATT1002.App; +import javafx.event.ActionEvent; +import javafx.scene.control.Button; +import javafx.scene.control.ChoiceBox; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.TextField; +import javafx.scene.image.ImageView; +import javafx.scene.input.MouseEvent; +import javafx.scene.text.Text; + +import java.io.IOException; + +public class ExploreAlbumsController { + public ImageView tbar_logo; + public TextField tbar_search; + public Button tbar_map; + public Button tbar_upload; + public ScrollPane scrollpane; + public Button footer_previous_page; + public Button footer_next_page; + public ImageView tbar_logo1; + public TextField tbar_search1; + public Button tbar_map1; + public Button tbar_upload1; + public Button tbar_searchButton; + public Button tbar_explore; + public Text album_amount; + public ChoiceBox sorted_by_choicebox; + public Button create_album_button; + public ImageView album_image; + public Text album_author; + public Text album_title; + public Text album_desc; + public Text album_tags; + public Text album_author2; + public Text album_title2; + public Text album_desc2; + public Text album_tags2; + public ImageView album_image2; + public ImageView album_image3; + public Text album_author3; + public Text album_title3; + public Text album_desc3; + public Text album_tags3; + public ImageView album_image4; + public Text album_author4; + public Text album_title4; + public Text album_desc4; + public Text album_tags4; + public ImageView album_image5; + public Text album_author5; + public Text album_title5; + public Text album_desc5; + public Text album_tags5; + + public void switchToSearch(ActionEvent actionEvent) { + + } + + public void switchToMain(MouseEvent mouseEvent) { + + } + + public void switchToMap(ActionEvent actionEvent) { + + } + + public void switchToUpload(ActionEvent actionEvent) { + + } + + public void switchToPrevious(ActionEvent actionEvent) { + + } + + public void switchToNext(ActionEvent actionEvent) throws IOException { + App.setRoot("search_page_2"); + } + + public void switchToCreateAlbum(ActionEvent actionEvent) { + + } + + public void switchToExplore(ActionEvent actionEvent) { + + } +} diff --git a/src/main/resources/NTNU/IDATT1002/explore_albums.fxml b/src/main/resources/NTNU/IDATT1002/explore_albums.fxml new file mode 100644 index 0000000000000000000000000000000000000000..ad771345d826df7a32ccb3504409af17ead8e28d --- /dev/null +++ b/src/main/resources/NTNU/IDATT1002/explore_albums.fxml @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import java.lang.String?> +<?import javafx.collections.FXCollections?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.ChoiceBox?> +<?import javafx.scene.control.ScrollPane?> +<?import javafx.scene.control.TextField?> +<?import javafx.scene.image.Image?> +<?import javafx.scene.image.ImageView?> +<?import javafx.scene.layout.AnchorPane?> +<?import javafx.scene.layout.BorderPane?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Pane?> +<?import javafx.scene.layout.RowConstraints?> +<?import javafx.scene.text.Font?> +<?import javafx.scene.text.Text?> + +<AnchorPane maxHeight="2148.0" maxWidth="1920.0" prefHeight="1080.0" prefWidth="1920.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="NTNU.IDATT1002.controllers.ExploreAlbumsController"> + <children> + <HBox alignment="CENTER" minHeight="100.0" prefHeight="100.0" prefWidth="1920.0" spacing="20.0" style="-fx-background-color: #0c0c0c;"> + <children> + <ImageView fx:id="tbar_logo1" fitHeight="69.0" fitWidth="153.0" onMouseClicked="#switchToMain" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/PlaceholderLogo.png" /> + </image> + </ImageView> + <Pane prefHeight="100.0" prefWidth="410.0" /> + <TextField fx:id="tbar_search1" onAction="#switchToSearch" prefHeight="25.0" prefWidth="358.0" promptText="Search: Tags, Albums, Metadata, etc..." /> + <Button fx:id="tbar_searchButton" mnemonicParsing="false" onAction="#switchToSearch" text="SEARCH" /> + <Button fx:id="tbar_explore" mnemonicParsing="false" onAction="#switchToExplore" text="EXPLORE" /> + <Button fx:id="tbar_map1" mnemonicParsing="false" onAction="#switchToMap" text="MAP" /> + <Pane prefHeight="100.0" prefWidth="174.0" /> + <Button fx:id="tbar_upload1" mnemonicParsing="false" onAction="#switchToUpload" prefHeight="40.0" prefWidth="114.0" text="UPLOAD" /> + </children> + </HBox> + <ScrollPane fx:id="scrollpane" hbarPolicy="NEVER" layoutY="100.0" prefHeight="980.0" prefWidth="1920.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="100.0"> + <content> + <AnchorPane maxHeight="1920.0" minHeight="0.0" minWidth="0.0" prefHeight="2000.0" prefWidth="1920.0"> + <children> + <BorderPane prefHeight="2000.0" prefWidth="1920.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> + <top> + <Pane prefHeight="246.0" prefWidth="1920.0" style="-fx-background-color: #6d6d6d;" BorderPane.alignment="CENTER"> + <children> + <Text fill="WHITE" layoutX="630.0" layoutY="190.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Found"> + <font> + <Font size="36.0" /> + </font> + </Text> + <Text fx:id="album_amount" fill="WHITE" layoutX="758.0" layoutY="190.0" strokeType="OUTSIDE" strokeWidth="0.0" text="X"> + <font> + <Font name="System Bold Italic" size="36.0" /> + </font> + </Text> + <Text fill="WHITE" layoutX="806.0" layoutY="190.0" strokeType="OUTSIDE" strokeWidth="0.0" text="albums, sorted by:"> + <font> + <Font size="36.0" /> + </font> + </Text> + <ChoiceBox fx:id="sorted_by_choicebox" layoutX="1124.0" layoutY="157.0" prefHeight="40.0" prefWidth="166.0" value="Most Popular"> + <items> + <FXCollections fx:factory="observableArrayList"> + <String fx:value="Most Popular" /> + <String fx:value="Newest First" /> + <String fx:value="Oldest First" /> + </FXCollections> + </items> + </ChoiceBox> + <Button fx:id="create_album_button" layoutX="855.0" layoutY="64.0" mnemonicParsing="false" onAction="#switchToCreateAlbum" text="CREATE ALBUM"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Button> + </children></Pane> + </top> + <left> + <Pane prefHeight="200.0" prefWidth="200.0" style="-fx-background-color: #6d6d6d;" BorderPane.alignment="CENTER" /> + </left> + <right> + <Pane prefHeight="200.0" prefWidth="200.0" style="-fx-background-color: #6d6d6d;" BorderPane.alignment="CENTER" /> + </right> + <center> + <GridPane alignment="CENTER" BorderPane.alignment="CENTER"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> + </columnConstraints> + <rowConstraints> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> + </rowConstraints> + <children> + <Pane prefHeight="200.0" prefWidth="200.0"> + <children> + <ImageView fx:id="album_image" fitHeight="307.0" fitWidth="516.0" layoutX="-2.0" layoutY="-1.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/placeholder-1920x1080.png" /> + </image> + </ImageView> + <Text layoutX="551.0" layoutY="63.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ALBUM:" wrappingWidth="200.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text layoutX="551.0" layoutY="97.0" strokeType="OUTSIDE" strokeWidth="0.0" text="AUTHOR:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text layoutX="551.0" layoutY="157.0" strokeType="OUTSIDE" strokeWidth="0.0" text="DESCRIPTION:" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text fx:id="album_author" layoutX="707.0" layoutY="97.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_title" layoutX="751.0" layoutY="65.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="153.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text fx:id="album_desc" layoutX="707.0" layoutY="157.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text layoutX="551.0" layoutY="129.0" strokeType="OUTSIDE" strokeWidth="0.0" text="TAGS:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_tags" layoutX="707.0" layoutY="129.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + </children> + </Pane> + <Pane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1"> + <children> + <ImageView fx:id="album_image2" fitHeight="307.0" fitWidth="516.0" layoutX="-2.0" layoutY="-1.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/placeholder-1920x1080.png" /> + </image> + </ImageView> + <Text layoutX="552.0" layoutY="67.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ALBUM:" wrappingWidth="200.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text layoutX="552.0" layoutY="101.0" strokeType="OUTSIDE" strokeWidth="0.0" text="AUTHOR:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text layoutX="552.0" layoutY="161.0" strokeType="OUTSIDE" strokeWidth="0.0" text="DESCRIPTION:" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text fx:id="album_author2" layoutX="708.0" layoutY="101.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_title2" layoutX="752.0" layoutY="69.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="153.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text fx:id="album_desc2" layoutX="708.0" layoutY="161.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text layoutX="552.0" layoutY="133.0" strokeType="OUTSIDE" strokeWidth="0.0" text="TAGS:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_tags2" layoutX="708.0" layoutY="133.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + </children> + </Pane> + <Pane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="2"> + <children> + <ImageView fx:id="album_image3" fitHeight="307.0" fitWidth="516.0" layoutX="-2.0" layoutY="-1.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/placeholder-1920x1080.png" /> + </image> + </ImageView> + <Text layoutX="545.0" layoutY="66.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ALBUM:" wrappingWidth="200.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="100.0" strokeType="OUTSIDE" strokeWidth="0.0" text="AUTHOR:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="160.0" strokeType="OUTSIDE" strokeWidth="0.0" text="DESCRIPTION:" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text fx:id="album_author3" layoutX="701.0" layoutY="100.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_title3" layoutX="745.0" layoutY="68.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="153.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text fx:id="album_desc3" layoutX="701.0" layoutY="160.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="132.0" strokeType="OUTSIDE" strokeWidth="0.0" text="TAGS:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_tags3" layoutX="701.0" layoutY="132.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + </children> + </Pane> + <Pane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="3"> + <children> + <ImageView fx:id="album_image4" fitHeight="307.0" fitWidth="516.0" layoutX="-2.0" layoutY="-1.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/placeholder-1920x1080.png" /> + </image> + </ImageView> + <Text layoutX="545.0" layoutY="66.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ALBUM:" wrappingWidth="200.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="100.0" strokeType="OUTSIDE" strokeWidth="0.0" text="AUTHOR:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="160.0" strokeType="OUTSIDE" strokeWidth="0.0" text="DESCRIPTION:" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text fx:id="album_author4" layoutX="701.0" layoutY="100.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_title4" layoutX="745.0" layoutY="68.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="153.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text fx:id="album_desc4" layoutX="701.0" layoutY="160.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="132.0" strokeType="OUTSIDE" strokeWidth="0.0" text="TAGS:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_tags4" layoutX="701.0" layoutY="132.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + </children> + </Pane> + <Pane prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="4"> + <children> + <ImageView fx:id="album_image5" fitHeight="307.0" fitWidth="516.0" layoutX="-2.0" layoutY="-1.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../../Images/placeholder-1920x1080.png" /> + </image> + </ImageView> + <Text layoutX="545.0" layoutY="65.0" strokeType="OUTSIDE" strokeWidth="0.0" text="ALBUM:" wrappingWidth="200.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="99.0" strokeType="OUTSIDE" strokeWidth="0.0" text="AUTHOR:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="159.0" strokeType="OUTSIDE" strokeWidth="0.0" text="DESCRIPTION:" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text fx:id="album_author5" layoutX="701.0" layoutY="99.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_title5" layoutX="745.0" layoutY="67.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="153.0"> + <font> + <Font name="System Bold" size="48.0" /> + </font> + </Text> + <Text fx:id="album_desc5" layoutX="701.0" layoutY="159.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="129.0"> + <font> + <Font name="System Bold" size="18.0" /> + </font> + </Text> + <Text layoutX="545.0" layoutY="131.0" strokeType="OUTSIDE" strokeWidth="0.0" text="TAGS:" wrappingWidth="150.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + <Text fx:id="album_tags5" layoutX="701.0" layoutY="131.0" strokeType="OUTSIDE" strokeWidth="0.0" text="""" wrappingWidth="70.0"> + <font> + <Font name="System Bold" size="24.0" /> + </font> + </Text> + </children> + </Pane> + </children> + </GridPane> + </center> + <bottom> + <Pane prefHeight="150.0" prefWidth="1920.0" style="-fx-background-color: #6d6d6d;" BorderPane.alignment="CENTER"> + <children> + <HBox alignment="CENTER" layoutY="-2.0" prefHeight="84.0" prefWidth="1920.0" spacing="20.0"> + <children> + <Button fx:id="footer_previous_page" mnemonicParsing="false" onAction="#switchToPrevious" text="PREVIOUS" /> + <Button fx:id="footer_next_page" layoutX="944.0" layoutY="48.0" mnemonicParsing="false" onAction="#switchToNext" text="NEXT" /> + </children> + </HBox> + </children></Pane> + </bottom> + </BorderPane> + </children></AnchorPane> + </content> + </ScrollPane> + </children> +</AnchorPane>