From 81e5cbcda3abe6c228e3264d19183769954d92dd Mon Sep 17 00:00:00 2001 From: Downforce Agent Date: Sat, 13 Jul 2024 00:03:15 -0500 Subject: [PATCH] start ost gen class --- .idea/uiDesigner.xml | 6 +- firestar/src/main/java/MissPiggy.java | 4 +- firestar/src/main/java/Suggs.form | 253 +++++++++++++++++++++++++- firestar/src/main/java/Suggs.java | 45 ++++- 4 files changed, 295 insertions(+), 13 deletions(-) diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml index 2b63946..294c147 100644 --- a/.idea/uiDesigner.xml +++ b/.idea/uiDesigner.xml @@ -8,9 +8,6 @@ - - - @@ -32,6 +29,9 @@ + + + diff --git a/firestar/src/main/java/MissPiggy.java b/firestar/src/main/java/MissPiggy.java index 332bbc3..7f652fb 100644 --- a/firestar/src/main/java/MissPiggy.java +++ b/firestar/src/main/java/MissPiggy.java @@ -139,7 +139,7 @@ public class MissPiggy implements ActionListener { helpMenu.getItem(2).addActionListener(this); helpMenu.getItem(3).addActionListener(this); helpMenu.getItem(5).addActionListener(this); - helpMenu.getItem(6).addActionListener(this); + helpMenu.getItem(6).addActionListener(this); deployButton.addActionListener(this); importButton.addActionListener(this); @@ -382,7 +382,7 @@ public class MissPiggy implements ActionListener { } if (i > 0) { - int result = JOptionPane.showConfirmDialog(frame, "A new PSARC will be generated. This can take several minutes.\nDuring this time, your computer may be very busy or slow.\n\nAre you sure you want to continue?", "Deploy Mods", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + int result = JOptionPane.showConfirmDialog(frame, "A new PSARC will be generated. This can take several minutes.\nDuring this time, your computer may be very busy or slow.\n\nIt will be placed in: " + Main.outpath + "\n\nAre you sure you want to continue?", "Deploy Mods", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (result == JOptionPane.YES_OPTION) { // prevent interruptions frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); diff --git a/firestar/src/main/java/Suggs.form b/firestar/src/main/java/Suggs.form index cea180c..dc9da45 100644 --- a/firestar/src/main/java/Suggs.form +++ b/firestar/src/main/java/Suggs.form @@ -1,9 +1,9 @@
- - + + - + @@ -11,6 +11,251 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/firestar/src/main/java/Suggs.java b/firestar/src/main/java/Suggs.java index 08c6661..d317d0e 100644 --- a/firestar/src/main/java/Suggs.java +++ b/firestar/src/main/java/Suggs.java @@ -18,18 +18,33 @@ import javax.imageio.ImageIO; import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.io.IOException; -import static javax.swing.WindowConstants.EXIT_ON_CLOSE; - -public class Suggs { +public class Suggs implements ActionListener, ListSelectionListener { private BufferedImage windowIcon; public JFrame frame = new JFrame(); private JPanel frameContainer; + private JList dSongList; + private JButton moveDownBtn; + private JButton saveBtn; + private JButton cancelBtn; + private JTextField fTitle; + private JTextField fArtist; + private JLabel dTrackNo; + private JLabel dFileSize; + private JButton frontendDemoChooseBtn; + private JButton frontendMainChooseBtn; + private JButton deleteSongBtn; + private JButton addSongBtn; + private JButton moveUpBtn; public Suggs(JFrame parent) { parent.setEnabled(false); @@ -46,12 +61,24 @@ public class Suggs { frame.setSize(600, 600); frame.setMinimumSize(new Dimension(600,600)); frame.setTitle("Soundtrack Mod Generator"); - frame.setResizable(true); + frame.setResizable(false); frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.setLayout(new GridLayout()); frame.setLocationRelativeTo(parent); frame.setAlwaysOnTop(true); + cancelBtn.addActionListener(this); // TODO: put warning dialog "Are you sure? All unsaved changes will be lost." + saveBtn.addActionListener(this); + addSongBtn.addActionListener(this); // file picker + deleteSongBtn.addActionListener(this); // delete from list + moveUpBtn.addActionListener(this); + moveDownBtn.addActionListener(this); + fTitle.addActionListener(this); // automatically change selected item when changed & + fArtist.addActionListener(this); // also update field when new item selected + frontendMainChooseBtn.addActionListener(this); // file picker for singleplayer campaign grid music + frontendDemoChooseBtn.addActionListener(this); // file picker for multiplayer lobby music + dSongList.addListSelectionListener(this); + frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) @@ -67,4 +94,14 @@ public class Suggs { private void haveSeggs() { // kill yourself } + + @Override + public void actionPerformed(ActionEvent actionEvent) { + + } + + @Override + public void valueChanged(ListSelectionEvent listSelectionEvent) { // TODO: change fields on form, show file size, and show MT_(track number) when selection changed. + + } }