From f0fe89be00c671e899124c9288ba949764b76e38 Mon Sep 17 00:00:00 2001 From: Fan-Wu Yang Date: Wed, 31 May 2017 12:56:38 +1200 Subject: [PATCH] You can now search sharedtrips by stops --- .../controllers/SharedTripsController.java | 35 +++++++++++++++++- src/main/java/model/TripStop.java | 4 ++ src/main/resources/scenes/sharedtrips.fxml | 13 ++++++- .../controllers/SharedTripsController.class | Bin 2965 -> 4910 bytes target/classes/model/TripStop.class | Bin 1677 -> 1837 bytes target/classes/scenes/sharedtrips.fxml | 13 ++++++- 6 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/main/java/controllers/SharedTripsController.java b/src/main/java/controllers/SharedTripsController.java index 2f48a0d..df0c4c6 100644 --- a/src/main/java/controllers/SharedTripsController.java +++ b/src/main/java/controllers/SharedTripsController.java @@ -1,10 +1,15 @@ package controllers; import javafx.beans.property.SimpleStringProperty; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.ComboBox; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import model.SharedTrip; +import model.Stop; +import model.TripStop; import java.net.URL; import java.util.ResourceBundle; @@ -22,13 +27,41 @@ public class SharedTripsController extends Controller{ private TableColumn directionColumn; @FXML private TableColumn daysColumn; + @FXML + private ComboBox stopsFilter; + @FXML + private ObservableList sharedTrips; + + public void search(){ + sharedTrips.removeAll(); + sharedTrips.remove(0, sharedTrips.size()); + for(SharedTrip sharedTrip: parent.getSession().getDataManager().getSharedTrips()){ + //stops are equal + boolean added = false; + for (TripStop stop: sharedTrip.route){ + if (stop.equals(stopsFilter.getValue())){ + sharedTrips.add(sharedTrip); + added = true; + break; + } + } + if (added){ + continue; + } + } + } @Override public void runLater(){ - sharedTripsTable.setItems(parent.getSession().getDataManager().getSharedTrips()); + sharedTrips = FXCollections.observableArrayList(parent.getSession().getDataManager().getSharedTrips()); + sharedTripsTable.setItems(sharedTrips); tripNameColumn.setCellValueFactory(p -> new SimpleStringProperty(p.getValue().name)); directionColumn.setCellValueFactory(p -> new SimpleStringProperty(p.getValue().direction)); daysColumn.setCellValueFactory(p -> new SimpleStringProperty(p.getValue().getDays())); + stopsFilter.setItems(parent.getSession().getDataManager().getStops()); + stopsFilter.valueProperty().addListener( e ->{ + search(); + }); } @Override diff --git a/src/main/java/model/TripStop.java b/src/main/java/model/TripStop.java index 99f7b65..02da1cf 100644 --- a/src/main/java/model/TripStop.java +++ b/src/main/java/model/TripStop.java @@ -46,6 +46,10 @@ public class TripStop{ return false; } + public boolean equals(Stop stop){ + return name.getValue().equals(stop.getAddress()); + } + public void serialise(){ serialiseTime = time.getValue(); serialiseName = name.getValue(); diff --git a/src/main/resources/scenes/sharedtrips.fxml b/src/main/resources/scenes/sharedtrips.fxml index e59e178..c6669be 100644 --- a/src/main/resources/scenes/sharedtrips.fxml +++ b/src/main/resources/scenes/sharedtrips.fxml @@ -11,27 +11,36 @@ + + + + + - diff --git a/target/classes/controllers/SharedTripsController.class b/target/classes/controllers/SharedTripsController.class index e3434ee8205d25bfdd986fff0b8898915ba6d066..24799f40f654121692738e0a97548eb4c7dd1278 100644 GIT binary patch literal 4910 zcmb7Id3+pY8Ga_4WRl6`Xj&?*lwN7wByE?{YD>4YB*C=NO; zD>x+IcpCDpnVg-~&D2mVD7}p=7VRxqo{`gs4cDO99?P;l%`_1O&#l9U2{gqDML7rhz#)}AUPzAmr$o= zvwBv7bg=}bxg{I0Y-C`LR)iX@+JRSJI^Jr0=7Y zrF*H1_GZ$-s^A%BYOn6v1!q+6Em&DoPYXXZm^4>FfOxFD$E0vVdYZm?b~X~`nObfn zt93*gb!?DuR-gv6Zba9t@=*G6C2G3J=UI)S3d?h4yq~`8(@pb2&C~jIKU=ApI$&A4 z(`Ra~t8;lUmOE<}bxdcH?yS`0sAd-QGVl$HHNz$`nj0e0|AT!MbJkbcJBMHx@&m-A zqkk5cDoh!|)`?=Kq6fVywqZMcG95B9KA_@*_>hVZ<2Dr^!R;#Uz@0Kas^S#xl2KG~ zH|~)!sbUKEs`wc0BdS!~kB_T(01vA8gkanfFphAmB8{ywKB?kUc#x`wVu@%KpT=iY zd=?MM_?(J|@p%>JV7-h-RD1znRPhXKqMp6B?YW+#=t9ke>3>Z-B|Fc{Ypb`q>|(p!&{$D76Uh%w8Y;jLq3c^&Zot zM#)Qpob}88?vcYRs_9M^oLbkf6Rd*+ELM&#Zm=XJ2L?nzsL%8Hv^-IY%1s*742v1i zHhqsc7}LEW-F5vMGB4Q~Rj^=-cbY?>L^LhDAX0cxv$Qesw44!ND%K%6PfbUFJq*)oXOGTs zv7qW&j_S~;VL3sb;`d%XKke88a6Ff*8f@UFr`VP7bbrl`AU@kX?Tk7 zW<6tj5}%zvjVC*$`0Rp;vj*zKW{P7UHB0eV;%{Bo-H`6^RlSg-P#jo*XL3{n0`y}C zS4`pPvb32WqV?Rnx$6{a689l7iP{?M_g7+=M4g05)F;4|Ttq_=jYTMvXp)fWo`fp# zyZ16qnkBYjiNVCSHK)+xA8)B$R2vd(6f>WqbxYl%IzOkx2A z*KRwB`jbySwB&^Nx%K3ew+M?85EgAg3&#$Qs~EJ^v?YlFbmB0&a22|79oFD_ti`M8 zk{cPyn;6XF4C4tpPk5mVwWM9aJI_KL$3Z+B8S>tN-JI{Dv+0M>N4q&c3-$lOMj3ma zz)~5{kvQA*IBFh4Jx6+RZ{$VX=C6VAt_m;RgEQ_z4Yw8w3yXLPf6ko3BA|%HoIiDn zGQ#1M|HJS?S$y4mq=BB=UsKK8TO z9;1#W1dPWB7{WeUAmFo|e+mB0fX)v8;2@MA+r5mBoC5h zC!tmZ@!owqcWZof1bE+CW^Fr0Fba?pOX(b(PGLi#A-!|2AEQM*JQB!asINpTg{{_|VJmCNU delta 1125 zcmaKs$x>5M5Qe{-1TMLrKn!?AMTjB_afn1wzyTF!gE-Gql!(SC2sjUM9;;k<%AF73 zN~NS?RkSQOZgl6$a_1xX0+xM~RAPy;IDNX)eg5fVH#x58<%G#eMS@d`TI%%8QhRRF&*_R%&iH9j^wDo}Rx!Y!Vj6Xl7*b5n zI_C^R`p`IA2TVJ3o(n?gbYD+A8Qz|wHE^pIEcqHaGNp>r%+(rX_;hGAQef5ABL2&&3U@8k?et*!fsE89UP( z?mn7`9~)YtU#NQhR8{LQs&T??#U1V|+8p++j%lVv`+P0NL*427ZamVp<ggMedt9V5QZ3PCiC7WZ=A!ppOMp19b9t`G^`GXGmxy;K_ zP8rhrd|ZCZnNA*UsgyhY1m01xHfAOzq%+YQ}+k20E<`*f+WKp18Ib+ zB2r2Kb0XLN6G|S>m{1dnPz9u^qmiVc_AK=!^4B1ZNfQzIDC zXkvW!M;X64ds?=Di7$I*&dz+_d^5BA`_K2E0M6sFgMOT|ao#}!7t-j%MR{Cua2Z!@ zT$OXe;mxE28`s3TE_XK^+{BcG-jc_(joUWvC|F^z>MI;Czw+LCFW!|FeXrUq)f=_C z-w5BA=E6o$U3p^M3C34FiSKFpjlin}O@ChJ=X8Fl;#F5n4r4ciW_426WKa#l>k6ZV z?cv*R#ui97U0Wtywj5Ob*|pV0zcKGER(O*u*Ot7>g2yW8n@cNv88j98%B#$(l;#^j zeJ-rkS&F^lhf$@w3S--;6kO>;OQ%A?MEyrc>}Csk_YSf|gpfxaaHV^jEM5MaHLt>o z2MSwD9(yjcp#ZjVF7%dO&vt05U9E_PwSMGgZt?z*^#`y7T~#23TG13Yvw zjJ%6cJaTbNtTOU8W?amQvm1jhhA^nm+d0V&xW|jH{H0J~Hze0#Y5Rn>Q(tuYem-*y2Z=0NeS|+i zk^{WSM<6(eL-Yv8`$1BOm7|rQ%~2TA3q0jrruY@94Rrm2{h4k8LeZsP4QW_63Nx^Z zDv$6+>MrpVh?GEVP2L|%PPLPdV#Fj*kt)IDv?PyjpnFrG{O`b0yIHIVlhPSzK*SO` z!p(g$aB(@-&T@{%D$2AgI=-VEYpa~mSaM5_#icG7e&5K+7dMcmob(2qj~Jkrp_kEK z%KDW2L?ubx<6b?kapIofz)r=K=G#j17~?yBojOa2If`*ZIc+Gj>>wq(L zHin#SBWKBal0b^gGDn%`1Lny*hl|5clB8v&CpNzo|x8cudm1q9~i9Jt5 literal 1677 zcma)6TTc^V5ItYJWof(I%1uRXg3t?6<*p!#D8>X)10m73Ev&d$+S)EgU-=jQ2OcyL zNHj4%`=g9!cDH5ACGq9^W@cy3%sKP5fBydX1z-wKV`xQI$L$zGxD!PSCghlm@!PbH z8M$X;jLgNLtnseo%AX*%gJ>)jd|_vm0f*wC)s3 z97W%;9BEFrS^uGkUa3NNUO-DoNOMmCL)1I%(qMhqH}jmhJ$ZKI z)En6i2~fs$$J~1V+${Mlqc!an!bxcm-?jp=*m`llyk)J}qEk~}hkgSicw%5!tQ9#r&}pCxoeItM zo2i3&k=wPl9EIUarmK63q)t^8>euN(aNl7rMWJpX{x{L1Y?z8464kuT6CGLOR-6I-`N&DjkhacGT~0`E&--$B2?n z^cb-(Xr~va7k9mgb{IY+pRlWOv%9Vg2N~m9#sf?TYD@=^Zye)sheugQCWRkzuDn`hx? U`1of@WG(>TUxU9zz!1j&0k8fuSO5S3 diff --git a/target/classes/scenes/sharedtrips.fxml b/target/classes/scenes/sharedtrips.fxml index e59e178..c6669be 100644 --- a/target/classes/scenes/sharedtrips.fxml +++ b/target/classes/scenes/sharedtrips.fxml @@ -11,27 +11,36 @@ + + + + + -