1
1
package search_use_case ;
2
2
3
3
import dataAccess .DBGateway ;
4
+ import delete_flashcardset_use_case .*;
5
+ import editor_main_page .EditorMainPage ;
6
+ import login_and_signup_use_case .UserLoginResponseModel ;
4
7
import quiz_use_case .*;
5
8
import quiz_use_case .screens .QuizSettingsScreen ;
6
9
import studyMode .*;
@@ -26,7 +29,7 @@ public class ResultsScreen extends JFrame implements ActionListener {
26
29
* @param responseModel contains results from search
27
30
* @param gateway to access information for study and quiz options
28
31
*/
29
- public ResultsScreen (SearchResponseModel responseModel , DBGateway gateway ){
32
+ public ResultsScreen (SearchResponseModel responseModel , DBGateway gateway , UserLoginResponseModel user ){
30
33
super ("Search Results" );
31
34
32
35
// store results in a Box layout
@@ -76,15 +79,33 @@ public ResultsScreen(SearchResponseModel responseModel, DBGateway gateway){
76
79
JOptionPane .showMessageDialog (this , s .getMessage ());
77
80
}
78
81
});
82
+ JButton edit = new JButton ("Edit" );
83
+ edit .addActionListener ((e ) -> new EditorMainPage (responseModel .getResult_set ().get (tempX )
84
+ .getFlashcardSetId ()));
85
+ JButton delete = new JButton ("Delete" );
86
+ delete .addActionListener (e -> {
87
+ DelFlashcardSetOutputBoundary presenter = new DelFlashcardSetPresenter ();
88
+ DelFlashcardSetInputBoundary interactor = new DelFlashcardSetInteractor (gateway , presenter );
89
+ DelFlashcardSetController controller = new DelFlashcardSetController (interactor );
90
+ new DeletionScreen (responseModel .getResult_set ().get (tempX )
91
+ .getFlashcardSetId (), controller , user );
92
+ });
79
93
80
94
// add elements to the GridLayout
95
+ panel .setLayout (new GridLayout (6 , 1 , 20 , 20 ));
81
96
panel .add (title );
82
97
panel .add (description );
83
98
panel .add (owner );
84
99
panel .add (study );
85
100
panel .add (test );
101
+ if (user .getIsAdmin ()) {
102
+ panel .setLayout (new GridLayout (8 , 1 , 20 , 20 ));
103
+ panel .add (edit );
104
+ panel .add (delete );
105
+ }
86
106
result_panel .add (panel );
87
107
}
108
+
88
109
// add the panel containing all the results
89
110
add (scrPane );
90
111
setSize (400 , 500 );
0 commit comments