Skip to content

Commit 7b7a9a8

Browse files
committed
Updated sign in/sign out software
1 parent 2934d72 commit 7b7a9a8

9 files changed

+215
-218
lines changed

src/JavaFXGUI/ChoiceHandler.java

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package JavaFXGUI;
2+
3+
import java.util.ArrayList;
4+
5+
import javafx.event.ActionEvent;
6+
import javafx.event.EventHandler;
7+
8+
/**
9+
* A handler that handles the selection of elements in the OptionSelect Class.
10+
* @author Ishana
11+
*/
12+
public class ChoiceHandler implements EventHandler<ActionEvent>{
13+
14+
private String val ;
15+
private OptionSelect parent;
16+
/**
17+
* Constructor
18+
* @param opt The value of the button.
19+
* @param b A Playable node.
20+
* @param p The Parent OptionSelect class
21+
*/
22+
public ChoiceHandler(String opt, OptionSelect p) {
23+
this.val = opt ;
24+
parent = p;
25+
}
26+
27+
public void handle(ActionEvent event) {
28+
parent.addInfo(val);
29+
}
30+
}

src/JavaFXGUI/EnterInfoTab.java

+11-18
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public EnterInfoTab(MenuTabPane par, EnterStudentTab prev, String title,
6161
summaryLeftVBox.setPrefWidth(300);
6262

6363

64-
infoOptionSelect = new OptionSelect(770, 550, this, student);
64+
infoOptionSelect = new OptionSelect(700, 550, this, student);
6565

6666
int version = 0;
6767
if (goingIn){
@@ -91,9 +91,10 @@ public EnterInfoTab(MenuTabPane par, EnterStudentTab prev, String title,
9191
while(file.hasNext()){
9292

9393
stringData = file.nextLine();
94+
// infoOptionSelect.removeChoiceBox();
9495
if (stringData.equals("+++")){
9596
v ++;
96-
97+
infoOptionSelect.removeChoiceBox();
9798
}
9899
else if (stringData.equals("++")&& version == v){
99100
page++;
@@ -105,7 +106,7 @@ else if (stringData.equals("++")&& version == v){
105106
else{
106107
infoOptionSelect.addPage(stringData);
107108
}
108-
109+
infoOptionSelect.removeChoiceBox();
109110
}
110111
else if (stringData.equals("++++")){
111112
stringData=file.nextLine();
@@ -129,10 +130,12 @@ else if (stringData.equals("++++")){
129130
stringData=file.nextLine();
130131
}
131132
infoOptionSelect.splitScreen(page+1, title1, title2, data1, data2);
133+
infoOptionSelect.addChoiceBox();
132134
}
133135
}
134136
else if (version == v){
135137
infoOptionSelect.addButton(page, stringData, stringData);
138+
infoOptionSelect.removeChoiceBox();
136139
}
137140
}
138141
file.close();
@@ -253,9 +256,7 @@ public void addData(ArrayList<String> option){
253256
printWriter.print("\"" + st.getName() + "\",");
254257
printWriter.print("\"" + st.getGrade() + "\",");
255258
printWriter.print("\"" + st.getTime() + "\",");
256-
for(int i = 0;i<st.getReason().size();i++){
257-
printWriter.print("\"" + st.getReason().get(i) + "\",");
258-
}
259+
printWriter.print("\"" + st.getReason() + "\",");
259260
printWriter.println();
260261
}
261262
printWriter.close();
@@ -280,18 +281,10 @@ public void addData(ArrayList<String> option){
280281
printWriter.print("\"" + st.getStudentID() + "\",");
281282
printWriter.print("\"" + st.getName() + "\",");
282283
printWriter.print("\"" + st.getGrade() + "\",");
283-
for(int i = 0;i<st.getReason().size();i++){
284-
printWriter.print("\"" + st.getReason().get(i) + "\",");
285-
}
286-
for(int i = 0;i<st.getExcused().size();i++){
287-
printWriter.print("\"" + st.getExcused().get(i) + "\",");
288-
}
289-
for(int i = 0;i<st.getDepTime().size();i++){
290-
printWriter.print("\"" + st.getDepTime().get(i) + "\",");
291-
}
292-
for(int i = 0;i<st.getArrTime().size();i++){
293-
printWriter.print("\"" + st.getArrTime().get(i) + "\",");
294-
}
284+
printWriter.print("\"" + st.getReason() + "\",");
285+
printWriter.print("\"" + st.getExcused() + "\",");
286+
printWriter.print("\"" + st.getTime() + "\",");
287+
printWriter.print("\"" + st.getArrTime() + "\",");
295288
printWriter.println();
296289
}
297290
printWriter.close();

src/JavaFXGUI/EnterStudentTab.java

+17-42
Original file line numberDiff line numberDiff line change
@@ -280,15 +280,27 @@ private void moveOn(boolean signIn, Student student){
280280
int j = 0;
281281
for (int i =0; i < data.get("outin").getStudentList().size(); i++){
282282
if (student.equals(data.get("outin").getStudentList().get(i))){
283-
j = i;
284-
outin=true;
285-
283+
System.out.println(student.getArrTime());
284+
System.out.println(student.getArrTime().equals("None"));
285+
if(student.getArrTime().equals("None")){
286+
j = i;
287+
outin=true;
288+
}else{
289+
if (signIn){
290+
tab3= new EnterInfoTab(parent, this, "Enter Information", data, signIn, student);
291+
}
292+
else{
293+
tab3 = new EnterInfoTab(parent, this, "Enter Information", data, signIn, student);
294+
}
295+
setDisable(true);
296+
parent.getTabs().add(tab3);
297+
parent.getSelectionModel().select(tab3);
298+
}
286299
}
287300
}
288301

289302
if (outin){
290-
if(student.getArrTime().size()==1){
291-
System.out.println("None");
303+
// if(student.getArrTime().equals("None")){
292304
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm a", Locale.US);
293305
LocalTime todayTime = LocalTime.now();
294306
String time = formatter.format(todayTime);
@@ -324,43 +336,6 @@ private void moveOn(boolean signIn, Student student){
324336
e.printStackTrace();
325337
}
326338
goBack(true);
327-
}else{
328-
329-
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm a", Locale.US);
330-
LocalTime todayTime = LocalTime.now();
331-
LocalDate todayDate = LocalDate.now();
332-
String date = todayDate.toString();
333-
String time = formatter.format(todayTime);
334-
student.setArrTime(student.getArrTime() + "\n" + time);
335-
File f = new File("src/backup/" + date+"-OUT.csv");
336-
337-
try {
338-
f.createNewFile();
339-
} catch (IOException e1) {
340-
// TODO Auto-generated catch block
341-
e1.printStackTrace();
342-
}
343-
344-
try {
345-
PrintWriter printWriter = new PrintWriter (f);
346-
printWriter.println("DATE,ID,NAME,GR,REASON,EXCUSED,TIME,ARRTIME");
347-
for(Student st : data.get("outin").getStudentList()){
348-
printWriter.print("\"" + st.getDate() + "\",");
349-
printWriter.print("\"" + st.getStudentID() + "\",");
350-
printWriter.print("\"" + st.getName() + "\",");
351-
printWriter.print("\"" + st.getGrade() + "\",");
352-
printWriter.print("\"" + st.getReason() + "\",");
353-
printWriter.print("\"" + st.getExcused() + "\",");
354-
printWriter.print("\"" + st.getTime() + "\",");
355-
printWriter.print("\"" + st.getArrTime() +"\",");
356-
printWriter.println();
357-
}
358-
printWriter.close();
359-
} catch (FileNotFoundException e) {
360-
// TODO Auto-generated catch block
361-
e.printStackTrace();
362-
}
363-
}
364339
}
365340
else
366341
{

src/JavaFXGUI/OptionSelect.java

+71-58
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
11
package JavaFXGUI;
22
import java.util.ArrayList;
3+
import java.util.Collection;
34
import java.util.List;
45

6+
import javax.swing.ButtonGroup;
7+
import javax.swing.JComboBox;
8+
import javax.swing.JRadioButton;
59
import javax.swing.JSplitPane;
610

711
import org.omg.CORBA.SystemException;
812

913
import backend.Student;
1014
import javafx.scene.layout.*;
15+
import javafx.scene.Node;
1116
import javafx.scene.Scene;
1217
import javafx.scene.control.*;
1318
import javafx.util.Duration;
1419
import javafx.animation.FadeTransition;
20+
import javafx.beans.value.ChangeListener;
21+
import javafx.beans.value.ObservableValue;
22+
import javafx.collections.FXCollections;
1523
import javafx.event.*;
1624
import javafx.scene.input.KeyCode;
1725
import javafx.scene.input.KeyEvent;
@@ -39,11 +47,12 @@ public class OptionSelect extends VBox{
3947
private Button submitButton;
4048
private EnterInfoTab tabToBeClosed;
4149
private Student student;
42-
private Button pageButtonLeft;
43-
private Button pageButtonRight;
50+
// private Button pageButtonLeft;
51+
// private Button pageButtonRight;
4452
private FadeTransition ftIn;
4553
private FadeTransition ftOut;
4654
private ArrayList<OptionHBox> optionHBoxArray = new ArrayList<OptionHBox>();
55+
private ChoiceBox c;
4756
/**
4857
* Constructor. The data of the optionSelect is represented by an ArrayList of Strings that indicates what options where selected.
4958
* @param w Width of the optionSelect
@@ -96,19 +105,19 @@ public void init(){
96105
getStyleClass().add("optionSelect");
97106
HBox contentHBox = new HBox();
98107

99-
pageButtonLeft = new Button();
100-
pageButtonLeft.getStyleClass().add("pageButton-left");
101-
pageButtonLeft.setOnAction(new NextHandler(false));
108+
// pageButtonLeft = new Button();
109+
// pageButtonLeft.getStyleClass().add("pageButton-left");
110+
// pageButtonLeft.setOnAction(new NextHandler(false));
102111

103-
pageButtonRight = new Button();
104-
pageButtonRight.getStyleClass().add("pageButton-right");
105-
pageButtonRight.setOnAction(new NextHandler(true));
112+
// pageButtonRight = new Button();
113+
// pageButtonRight.getStyleClass().add("pageButton-right");
114+
// pageButtonRight.setOnAction(new NextHandler(true));
106115

107-
contentHBox.getChildren().add(pageButtonLeft);
116+
// contentHBox.getChildren().add(pageButtonLeft);
108117
buttonVBox = new VBox();
109118
buttonVBox.getStyleClass().add("buttonVBox");
110119

111-
contentHBox.getChildren().addAll(buttonVBox, pageButtonRight);
120+
contentHBox.getChildren().addAll(buttonVBox);//, pageButtonRight);
112121
getChildren().add(contentHBox);
113122

114123
bottomHBox = new HBox();
@@ -150,32 +159,32 @@ public void addPage(String t){
150159
* @param pg The page to be displayed
151160
*/
152161
private void updateState(int pg){
153-
if(pg == 0 && pg == buttonList.size()-1){
154-
pageButtonLeft.setDisable(true);
155-
pageButtonRight.setDisable(true);
156-
}
157-
else if(pg == 0 && pg == buttonList.size()-2){
158-
pageButtonLeft.setDisable(true);
159-
pageButtonRight.setDisable(true);
160-
}
161-
else if (pg == 0){
162-
pageButtonLeft.setDisable(true);
163-
pageButtonRight.setDisable(false);
164-
}
165-
else if (pg == buttonList.size()-1){
166-
pageButtonLeft.setDisable(false);
167-
pageButtonRight.setDisable(true);
168-
}
169-
else{
170-
pageButtonLeft.setDisable(false);
171-
pageButtonRight.setDisable(false);
172-
}
162+
// if(pg == 0 && pg == buttonList.size()-1){
163+
// pageButtonLeft.setDisable(true);
164+
// pageButtonRight.setDisable(true);
165+
// }
166+
// else if(pg == 0 && pg == buttonList.size()-2){
167+
// pageButtonLeft.setDisable(true);
168+
// pageButtonRight.setDisable(true);
169+
// }
170+
// else if (pg == 0){
171+
// pageButtonLeft.setDisable(true);
172+
// pageButtonRight.setDisable(false);
173+
// }
174+
// else if (pg == buttonList.size()-1){
175+
// pageButtonLeft.setDisable(false);
176+
// pageButtonRight.setDisable(true);
177+
// }
178+
// else{
179+
// pageButtonLeft.setDisable(false);
180+
// pageButtonRight.setDisable(false);
181+
// }
173182
titleLabel.setText(title.get(pg));
174183
page = pg;
175184

176185
buttonVBox.getChildren().clear();
177186
double buttonHeight = (double)(height-80)/ (buttonList.get(page).size()+1);
178-
double buttonWidth = (double)(width-100);
187+
double buttonWidth = (double)(width);
179188

180189
if (buttonList.get(page).size() >=3){
181190
buttonList.get(page).get(0).setPosStyle("top");
@@ -245,35 +254,40 @@ public void splitScreen(int page, String title1, String title2, ArrayList<String
245254
}
246255
bV.getChildren().add(right.get(page));
247256
bV.getChildren().add(left.get(page));
248-
249-
SplitPane splitPane = new SplitPane(new TableView(),
250-
new VBox(new Label("some other content")));
251-
252-
splitPane.setOrientation(Orientation.HORIZONTAL);
253-
254-
// place splitPane as center
255-
BorderPane borderPane = new BorderPane(splitPane);
256-
257-
borderPane.setTop(new MenuBar(new Menu()));
258-
259-
Scene scene = new Scene(borderPane, 600, 400);
260-
//getChildren().show();
261-
262-
// Component leftt = new List<OptionButton>();
263-
// sp.setLeftComponent(leftt);
264257

265258

266259
buttonList.get(page).addAll(left) ;
267-
buttonList.get(page).addAll(right);
268260
option.add("");
269-
270261
OptionHBox textFieldOtherHBox = new OptionHBox(width, this, buttonList.size()-1);
271262
textFieldOtherHBox.getStyleClass().add("optionTextFieldOther");
272263
optionHBoxArray.add(textFieldOtherHBox);
273264

274-
updateState(0);
275-
}
265+
updateState(0);
276266

267+
268+
}
269+
public void addChoiceBox(){
270+
c = new ChoiceBox(FXCollections.observableArrayList("Health Room", "Parent", "Other"));
271+
c.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
272+
public void changed(ObservableValue ov, Number value, Number new_value) {
273+
// new ChoiceHandler(c.getSelectionModel().getSelectedItem().toString(),this);
274+
addInfo(c.getSelectionModel().getSelectedItem().toString());
275+
}
276+
});
277+
c.setMaxSize(100,100);
278+
buttonVBox.getChildren().add(c);
279+
JRadioButton h = new JRadioButton("Health Room");
280+
JRadioButton p = new JRadioButton("Parent");
281+
ButtonGroup bg = new ButtonGroup();
282+
bg.add(p); bg.add(h);
283+
284+
submitButton.requestFocus();
285+
}
286+
public void removeChoiceBox(){
287+
// if(buttonVBox.getChildren().contains(c)){
288+
buttonVBox.getChildren().remove(c);
289+
// }
290+
}
277291
/**
278292
* This is called by the ButtonHandler to add information to the Data.
279293
* @param mes The value of the button clicked to be added.
@@ -310,8 +324,8 @@ private void transitionPage(int pg){
310324
ftOut.play();
311325
page = page + 1;
312326
ftIn.play();
313-
pageButtonRight.setDisable(true);
314-
pageButtonLeft.setDisable(false);
327+
// pageButtonRight.setDisable(true);
328+
// pageButtonLeft.setDisable(false);
315329
}
316330
else{
317331
for(ArrayList<OptionButton> e: buttonList){
@@ -348,11 +362,10 @@ public void handle(ActionEvent event) {
348362
* @author Ishana
349363
*
350364
*/
351-
352-
public void handle() {
353-
submitButton.defaultButtonProperty().bind(submitButton.focusedProperty());
354-
tabToBeClosed.addData(option);
355-
}
365+
public void handle() {
366+
submitButton.defaultButtonProperty().bind(submitButton.focusedProperty());
367+
tabToBeClosed.addData(option);
368+
}
356369

357370

358371
public ArrayList<String> getOption(){

0 commit comments

Comments
 (0)