diff --git a/src/main/resources/view/BudgetNew.fxml b/src/main/resources/view/BudgetNew.fxml new file mode 100644 index 0000000000000000000000000000000000000000..3414dfcccfebfe97b66eaf32478c8ef1ced9844c --- /dev/null +++ b/src/main/resources/view/BudgetNew.fxml @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.Cursor?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.ComboBox?> +<?import javafx.scene.control.TableColumn?> +<?import javafx.scene.control.TableView?> +<?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.Region?> +<?import javafx.scene.layout.RowConstraints?> +<?import javafx.scene.layout.VBox?> +<?import javafx.scene.text.Font?> +<?import javafx.scene.text.Text?> + +<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.IncomeController"> + <children> + <ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true"> + <image> + <Image url="@../Images/backgroundMini.jpg" /> + </image> + <cursor> + <Cursor fx:constant="DEFAULT" /> + </cursor> + </ImageView> + <BorderPane prefHeight="400.0" prefWidth="600.0"> + <top> + <HBox BorderPane.alignment="CENTER"> + <children> + <Button fx:id="returnBtn" mnemonicParsing="false" onAction="#switchScene" text="Return "> + <opaqueInsets> + <Insets left="100.0" /> + </opaqueInsets> + <HBox.margin> + <Insets left="10.0" top="10.0" /> + </HBox.margin> + </Button> + <Region prefHeight="70.0" prefWidth="141.0" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Income" textAlignment="CENTER" wrappingWidth="174.6796875"> + <HBox.margin> + <Insets /> + </HBox.margin> + <font> + <Font size="48.0" /> + </font> + </Text> + </children> + <opaqueInsets> + <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> + </opaqueInsets> + </HBox> + </top> + <center> + <GridPane BorderPane.alignment="CENTER"> + <BorderPane.margin> + <Insets bottom="40.0" left="40.0" right="40.0" /> + </BorderPane.margin> + <columnConstraints> + <ColumnConstraints hgrow="ALWAYS" maxWidth="485.3333231608073" minWidth="10.0" prefWidth="427.33335367838544" /> + <ColumnConstraints hgrow="ALWAYS" maxWidth="111.33333333333331" minWidth="10.0" prefWidth="92.66664632161456" /> + </columnConstraints> + <rowConstraints> + <RowConstraints maxHeight="65.33334064483643" minHeight="10.0" prefHeight="65.33334064483643" vgrow="SOMETIMES" /> + <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="214.00004069010413" vgrow="SOMETIMES" /> + <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" /> + </rowConstraints> + <children> + <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0"> + <children> + <Button fx:id="addBtn" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#handleAddButton" text="Add" textAlignment="CENTER"> + <graphic> + <ImageView fitHeight="19.0" fitWidth="16.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../Images/add_image.png" /> + </image> + </ImageView> + </graphic> + </Button> + <Button fx:id="editBtn" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#handleEditButton" text="Edit" textAlignment="CENTER"> + <graphic> + <ImageView fitHeight="19.0" fitWidth="16.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../Images/edit.png" /> + </image> + </ImageView> + </graphic> + </Button> + <Button fx:id="deleteBtn" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#handleDeleteBtn" text="Delete" textAlignment="CENTER"> + <graphic> + <ImageView fitHeight="19.0" fitWidth="16.0" pickOnBounds="true" preserveRatio="true"> + <image> + <Image url="@../Images/delete.png" /> + </image> + </ImageView> + </graphic> + </Button> + </children> + <opaqueInsets> + <Insets /> + </opaqueInsets> + <padding> + <Insets bottom="5.0" /> + </padding> + </HBox> + <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1"> + <children> + <ComboBox fx:id="show" prefWidth="150.0" promptText="Show "> + <opaqueInsets> + <Insets /> + </opaqueInsets> + <VBox.margin> + <Insets bottom="5.0" /> + </VBox.margin> + </ComboBox> + </children> + </VBox> + <HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="2"> + <children> + <Button disable="true" mnemonicParsing="false" text="Income" /> + <Button fx:id="budgetBtn" mnemonicParsing="false" onAction="#switchScene" text="Budget" /> + <Button fx:id="expenseBtn" mnemonicParsing="false" onAction="#switchScene" text="Expenses" /> + <Button mnemonicParsing="false" onAction="#switchScene" text="Next"> + <HBox.margin> + <Insets left="170.0" /> + </HBox.margin> + </Button> + </children> + <padding> + <Insets top="10.0" /> + </padding> + </HBox> + <TableView fx:id="incomeTableView" prefHeight="260.0" prefWidth="485.0" GridPane.columnSpan="2" GridPane.rowIndex="1"> + <columns> + <TableColumn fx:id="dateColumn" prefWidth="75.0" text="Date" /> + <TableColumn fx:id="amountColumn" prefWidth="75.0" text="Amount" /> + <TableColumn fx:id="categoryColumn" prefWidth="75.0" text="Category" /> + <TableColumn fx:id="descriptionColumn" prefWidth="75.0" text="Description" /> + <TableColumn fx:id="recurringColumn" prefWidth="75.0" text="Recurring" /> + </columns> + <columnResizePolicy> + <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> + </columnResizePolicy> + </TableView> + </children> + </GridPane> + </center> + <opaqueInsets> + <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> + </opaqueInsets> + <left> + <Region prefHeight="330.0" prefWidth="1.0" BorderPane.alignment="CENTER" /> + </left> + <right> + <Region prefHeight="357.0" prefWidth="0.0" BorderPane.alignment="CENTER" /> + </right> + <bottom> + <Region prefHeight="0.0" prefWidth="600.0" BorderPane.alignment="CENTER" /> + </bottom> + </BorderPane> + </children> + <opaqueInsets> + <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> + </opaqueInsets> +</AnchorPane>