Skip to content

Commit b493aab

Browse files
committed
Added flashcard delete screen, minor fix of documentation.
1 parent a989aca commit b493aab

File tree

3 files changed

+69
-13
lines changed

3 files changed

+69
-13
lines changed

src/main/java/frameworks_and_drivers/components/CreateFlashcardPanel.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public CreateFlashcardPanel(CreateFlashcardController controller, JFrame fcCMain
3535
cancel.addActionListener(e -> this.fcCMain.dispose());
3636
buttonPanel.add(confirm);
3737
buttonPanel.add(cancel);
38+
39+
//Creating the label panel.
3840
JLabel term_label = new JLabel("term");
3941
JLabel definition_label = new JLabel("definition");
4042
labelPanel.add(term_label);
@@ -52,7 +54,7 @@ public CreateFlashcardPanel(CreateFlashcardController controller, JFrame fcCMain
5254
textPanel.add(existing_term);
5355
textPanel.add(existing_definition);
5456

55-
//Creating the label panel.
57+
//Showing the sub panel.
5658
this.add(labelPanel, BorderLayout.NORTH);
5759
this.add(textPanel);
5860
this.add(buttonPanel, BorderLayout.SOUTH);
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package frameworks_and_drivers.components;
2+
import interface_adapters.controllers.DeleteFlashcardController;
3+
4+
import javax.swing.*;
5+
import java.awt.*;
6+
import java.awt.event.ActionEvent;
7+
import java.awt.event.ActionListener;
8+
9+
public class DeleteFlashcardPanel extends JPanel implements ActionListener {
10+
DeleteFlashcardController controller;
11+
JFrame deleteScreen;
12+
int flashcardId, flashcardSetId;
13+
14+
public DeleteFlashcardPanel(DeleteFlashcardController controller, JFrame DeleteScreen, int flashcardId, int flashcardSetId) {
15+
//Initiating all the sub panels.
16+
this.deleteScreen = DeleteScreen;
17+
this.controller = controller;
18+
this.flashcardId = flashcardId;
19+
this.flashcardSetId = flashcardSetId;
20+
this.setLayout(new BorderLayout());
21+
JPanel buttonPanel = new JPanel(new FlowLayout());
22+
23+
24+
//Creating the button panel.
25+
JButton confirm = new JButton("confirm");
26+
JButton cancel = new JButton("cancel");
27+
confirm.addActionListener(this);
28+
cancel.addActionListener(e -> this.deleteScreen.dispose());
29+
buttonPanel.add(confirm);
30+
buttonPanel.add(cancel);
31+
JLabel message = new JLabel("Do you wish to delete " + flashcardId);
32+
33+
34+
//Creating the showing the sub panel.
35+
this.add(message);
36+
this.add(buttonPanel, BorderLayout.SOUTH);
37+
this.setSize(1000, 500);
38+
this.setVisible(true);
39+
40+
41+
}
42+
43+
/**
44+
* Response based on creation success or failure.
45+
*
46+
* @param e the event to be processed
47+
*/
48+
@Override
49+
public void actionPerformed(ActionEvent e) {
50+
try {
51+
//Success view.
52+
controller.delete(flashcardSetId, flashcardId);
53+
JOptionPane.showMessageDialog(this, "Flashcard deleted.");
54+
deleteScreen.dispose();
55+
} catch (RuntimeException error) {
56+
//Failure view.
57+
JOptionPane.showMessageDialog(this, error.getMessage());
58+
deleteScreen.dispose();
59+
}
60+
}
61+
}

src/main/java/frameworks_and_drivers/screens/DeleteFlashcardScreen.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import delete_flashcard_use_case.DeleteFlashcardInputBoundary;
55
import delete_flashcard_use_case.DeleteFlashcardInteractor;
66
import delete_flashcard_use_case.DeleteFlashcardOutputBoundary;
7-
import delete_flashcard_use_case.DeleteFlashcardResponseModel;
7+
import frameworks_and_drivers.components.DeleteFlashcardPanel;
88
import interface_adapters.controllers.DeleteFlashcardController;
99
import interface_adapters.presenters.DeleteFlashcardPresenter;
1010
import frameworks_and_drivers.database.DBGateway;
@@ -31,17 +31,10 @@ public DeleteFlashcardScreen(int flashcardSetId, int flashcardId){
3131
DeleteFlashcardOutputBoundary presenter = new DeleteFlashcardPresenter();
3232
DeleteFlashcardInputBoundary interactor = new DeleteFlashcardInteractor(gateway,presenter);
3333
DeleteFlashcardController controller = new DeleteFlashcardController(interactor);
34-
this.setVisible(false);
35-
try {
36-
DeleteFlashcardResponseModel responseModel = controller.delete(flashcardSetId, flashcardId);
37-
JOptionPane.showMessageDialog(this,
38-
responseModel.getTerm() + " deleted from " + responseModel.getCardSetName() +
39-
" at " + responseModel.getDeleteDate());
40-
this.dispose();
41-
}catch (RuntimeException error){
42-
JOptionPane.showMessageDialog(this, "Deletion failed:\n" + error);
43-
this.dispose();
44-
}
34+
this.add(new DeleteFlashcardPanel(controller,this, flashcardId, flashcardSetId));
35+
this.setSize(200, 100);
36+
this.setVisible(true);
37+
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
4538
}
4639
public static void main(String[] args) {
4740
new DeleteFlashcardScreen(0, 4);

0 commit comments

Comments
 (0)