From c9d1267ca168bccf79a40aac60d02d21b6d5b5d5 Mon Sep 17 00:00:00 2001 From: David Westgate Date: Wed, 1 Jun 2016 22:49:01 -0700 Subject: [PATCH] version 1 of project --- Task_Managment_application/.classpath | 10 + Task_Managment_application/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 12 + .../bin/Account_Module$1.class | Bin 0 -> 1426 bytes .../bin/Account_Module$2.class | Bin 0 -> 2063 bytes .../bin/Account_Module$User.class | Bin 0 -> 1046 bytes .../bin/Account_Module.class | Bin 0 -> 5617 bytes Task_Managment_application/bin/Main.class | Bin 0 -> 1237 bytes .../bin/Manager_Module$1.class | Bin 0 -> 1664 bytes .../bin/Manager_Module$2.class | Bin 0 -> 1328 bytes .../bin/Manager_Module$3.class | Bin 0 -> 1832 bytes .../Manager_Module$Direction_Button$1.class | Bin 0 -> 2333 bytes .../bin/Manager_Module$Direction_Button.class | Bin 0 -> 1113 bytes .../bin/Manager_Module$Task_Container.class | Bin 0 -> 2871 bytes .../bin/Manager_Module.class | Bin 0 -> 6185 bytes Task_Managment_application/david_data.txt | 3 + Task_Managment_application/rohane_data.txt | 0 .../src/Account_Module.java | 273 +++++++++++++ Task_Managment_application/src/Main.java | 36 ++ .../src/Manager_Module.java | 374 ++++++++++++++++++ Task_Managment_application/user_data.txt | 2 + tma_westgate.jar | Bin 0 -> 47976 bytes 22 files changed, 727 insertions(+) create mode 100644 Task_Managment_application/.classpath create mode 100644 Task_Managment_application/.project create mode 100644 Task_Managment_application/.settings/org.eclipse.jdt.core.prefs create mode 100644 Task_Managment_application/bin/Account_Module$1.class create mode 100644 Task_Managment_application/bin/Account_Module$2.class create mode 100644 Task_Managment_application/bin/Account_Module$User.class create mode 100644 Task_Managment_application/bin/Account_Module.class create mode 100644 Task_Managment_application/bin/Main.class create mode 100644 Task_Managment_application/bin/Manager_Module$1.class create mode 100644 Task_Managment_application/bin/Manager_Module$2.class create mode 100644 Task_Managment_application/bin/Manager_Module$3.class create mode 100644 Task_Managment_application/bin/Manager_Module$Direction_Button$1.class create mode 100644 Task_Managment_application/bin/Manager_Module$Direction_Button.class create mode 100644 Task_Managment_application/bin/Manager_Module$Task_Container.class create mode 100644 Task_Managment_application/bin/Manager_Module.class create mode 100644 Task_Managment_application/david_data.txt create mode 100644 Task_Managment_application/rohane_data.txt create mode 100644 Task_Managment_application/src/Account_Module.java create mode 100644 Task_Managment_application/src/Main.java create mode 100644 Task_Managment_application/src/Manager_Module.java create mode 100644 Task_Managment_application/user_data.txt create mode 100644 tma_westgate.jar diff --git a/Task_Managment_application/.classpath b/Task_Managment_application/.classpath new file mode 100644 index 0000000..144797c --- /dev/null +++ b/Task_Managment_application/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Task_Managment_application/.project b/Task_Managment_application/.project new file mode 100644 index 0000000..3516172 --- /dev/null +++ b/Task_Managment_application/.project @@ -0,0 +1,17 @@ + + + Task_Managment_Application + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Task_Managment_application/.settings/org.eclipse.jdt.core.prefs b/Task_Managment_application/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..a698e59 --- /dev/null +++ b/Task_Managment_application/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Task_Managment_application/bin/Account_Module$1.class b/Task_Managment_application/bin/Account_Module$1.class new file mode 100644 index 0000000000000000000000000000000000000000..d03284f300f1a6a4e7191b0d971ad64d4ec0c451 GIT binary patch literal 1426 zcmaJ>T~pIQ6g^98Lt~(|e4`*@)wX;@{6a0FmBEpjR-7pVqYq+8ml6y~CrOcK|BTPf zKy`d@eD+5<-ra_QKs7VT-t6u@_ug~Q?(aW8egb%aB?Vm!>5^%>O()o_xV5IuvvUgK zG`nl;8@g>cb$xYfmz#lt1jC4!-9FIyK6e6rS$tm`PR-^XLn7F*{OnzFEk_ZH3|ICI zJKOZR=NNnZmBsBE!$dg*^G)t>-E^J6b8UT%9|Us8iCe?){m-sf3*EAv-QJ$vMXrej z%dvt*hK=0$bUFi^#_hZw4Uk`Fh%dP{o&;5=K|!~$`ZOe=3Tr^aWoRm57}C&#VTM>v zIHk&#!{0Rbwz#)uY}uS4Q+7?mUN<~T{D+fqL8e%XQkk6-rR_+{8OCxaskZx3G6TzX zWLJv$brlnsRB(e~{QpF2xQQ%-Qs;pnfuTQ_m%#1zR|C&->O~c|1>7Bm$&PRlepKW! zrJ%sj8!bS?G-epO4b$YlRLgwl{zPJ5%qIU{g$|M`>8(%Xqg$@Nvbua=@`fNm!#%-y zszJF2)xa=6t$Bt?Y{w0+PCldmW{!c;zJYekC@PWPBf%<0BW%>rxgMObuiz=eaLCk! z_Nb(g1r1{uXHctd(=+K*2r=|U>6#S)49TihcZ{Iv(TPgB_O+rMBWY+*`8gG;yB;J8n>A&G)ge~3qv+&uZx<@ip49#5C3PmjZV^0X*&PZp+r;Yka{)1neG2Z18W b1Ytds)*_zE@dZk9Hjg2qNsvHFqmiD!2lijk literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Account_Module$2.class b/Task_Managment_application/bin/Account_Module$2.class new file mode 100644 index 0000000000000000000000000000000000000000..4fd2937a1119f5b63ea103c20d2bd23c4db041dd GIT binary patch literal 2063 zcmaJ>ZBrXn6n-uQHrXyE23ly9iZv<;(5;A83{nDw7EK@;pn_FgHn(BvvKx0dl={K( zWyTqQLVrO&*MZP!XPkcaM>(E*H+ffO0+>Xgpo1ZqH%+(U z1Y0Gy+OT}Qx=!G^w!X>_0(s)Zt#0`K1J|pz z+|p;emD^8|YxlI}Siua#osn1JoE_lw-m~|k7i88MV)Jg5CqV2pD2R(ypN0ffvAUq) z95fZ37|_szL59u|;nZ8S9KPJx+veV?v2AmPRM9mJd)@FX@xNt^2{FZ9RLb;(ptd6= zXBZkefg0u`Zw8j@$gJct>netERl!>fSN>mU4R0gOpwxIEL}2J2$;iNA`YVBFIklXM zcSX4O7_OcfE~1Z$3`P}X8O}!uXc)sdL)!282 z3x&D0TMUe>AK*g;laT_hJoE#;r{N>qpftD*qIe+;X}Nlt*agIq8+*AprYJ-CfKJx~ zULCgGn&qg-;Zp_ElwCnwkNRks!A%mcF2dLjMGlh^!Jk=IkS8rlhGW#Y*XlGCvzQmf zaWjqrLr-z#*3$BDWo>@GP^l;&KB%nZx>dw$WDhCaAyQ4eNw5AU-g%0VM<@vUA+9~b zxj!(G`nZWto?~{Sb@CW3(s$fg6sx9|o7wO9fWObQ!u=QedN(U!SG1AC6wr{bx5xzDDs-z(_Crr1gwwdh-I* zW*qsUpB|HTd-1Z<7bu-XL%9lpH47_PHKC(w!Ne^Az0D2lJwKGE%~} zk~vVVUBqx+)s~~ovuGT9@~zLw7uI*cTOq`|FqH90K~YL#bC-&`|sgZeBw9nrnU73c8;H=UnY|4v^THt4ygn6`=MJ|Uafq?$!I z#@ndTn@{zOX+WqFRqPp)^JIdC^K^o(oU=}Bz%D&^i1Q(7w1{_4aW|EoJ>#}j0(NJs z3_2;@#l1|gOKNMT1s-=$gdHkiGIeQ5sx6Hc*b literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Account_Module.class b/Task_Managment_application/bin/Account_Module.class new file mode 100644 index 0000000000000000000000000000000000000000..0b9a087794798b0f6294a27b293df30c54c4cc65 GIT binary patch literal 5617 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 literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Manager_Module$1.class b/Task_Managment_application/bin/Manager_Module$1.class new file mode 100644 index 0000000000000000000000000000000000000000..13b5c669f9540885365afdb903bd8b75abc36e45 GIT binary patch literal 1664 zcmaJ>QBxaL6#gy=ELj(bftI#P!5V84NLRFKF^E!x7EPd<80`~t*}V-X3uCw-kScJ{MAZw_R`;7-6*c6puc+v1=t#dQBai3h~ekzvG57U zr1w0R`ai6jCvfS-%_M~fME{`1+}REY2tqp7Uq~iMf*I3!)nr?X%Ro)w!XT?N!V#E0 zrK%%6nWXAF7G`i+z^sSe$Wa>}3wScwqiYOJ8P~m5AmeUC9-AjJ?q3s?WU+dW!45ZThgA#$biA^kqa`G;g5!bSR;G(t!Gic2)J zXihPB1+Qv5u{FT^d4RX{17`0&#%s0GBjkFx!ejOk3JX14>zl5#Jyhs- zs)vss63`Wr?E>jBr8mDy1prT|nBS1a@3iS38YgXK<=P*PcIS!u~7pdmRgNf5j^CpuArE*Z*zBr2afvRQO4Dn$`&0m zKdEL|)5~BuHu9_0_NJz7>G+=BS8;SDiD8^DkYnhJCNXgmrx^B>=4Kwmp7U(i4{7feA=mtxVlE+ME_$8_W?deJ zB1DdQjnUbISSF*04`i~6_WCB$(_0^-V`3k9^^r7#9>nP$ER1a&gzUt2!}Vr%!kH6TEIAN;|^7u)=?~*nI>#zI^{>nS+$xh rjD5oF4(9&MkkCET7mUoxC62pVTEL>d@8Q1I4x@|;NeXv0CH;N^XKOSn literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Manager_Module$3.class b/Task_Managment_application/bin/Manager_Module$3.class new file mode 100644 index 0000000000000000000000000000000000000000..1608a182bbc2a4f135bf5f37ea923d5c0d0c7a7f GIT binary patch literal 1832 zcmZ`(U31$+6g_LZQS5FLH=$`-ntp&=Y=>5b6k2cygy2$BJ1ICg&;n*7FOC{T@<_4? ze}zB5b7zVRJTN@-TXN|1a7tOf*fnKOx}jNC|F?wOa-`2N7H-)= z?kc%f;}J`=w`jX|xWq7>-@jRCFr-$zmP~`;7>9xJ43e1SNF&RT%qzfT)pq4-cV|=j z>tfT93{zFl5>7+-wtA0@DMdl;#R=pV6ooBKlwmGkja9L1g|_GFT1tgR8nZZU;1t6| zJP60LI78N!=gOw#xuGCRRQ9?3$<{@%-CWrNlrlJr^9IgQ;&{MZ9LRA2&yfOc88#g| z2%9}ye#vklU)ZA?SkjfIO6_}&StU$^Ae117O9n1df~c;8fgCR&&v2X))TKiwN>$U5 zONYTcEJ>~Fgm%Y~aR*9S#ES;z8Rid6d9WMDWn5t}?4Z2U3BS^3dsl_J%JC9jrp6gk zldX!|lDisGQ3_t;cm=OU@`OrZr4hr$C(JF+iK+^yWdrH=RA(reN=I=6uN!!c{aL417>%(;f)UDhy1Ot$p^9pfNh8bJs*ikDP&ZhS^Bd zr=l~Q9O^OHEUOzs3&60!aRM_8nY!2YEqT*cV?7<8kt-@RL%MFaT@iMDLR1FCMsB83 zygZ#Fx|J5=TcedPQ8ANc*K)kTcH1=>Zh0+r=X|D)d?ZIbB*ojrnWU8>5W4b!a#vADgPJs{`4)*A@GJ5AjV_?yX*~ZR#Gi!ui%^fT zfq!t1O4w#eT~BeqIjV=)6S_uGbGVLGtWixHgt&wEDgFl(c?OC9C{WS>Gf=0dG*Etw zRCbw^_%KqUKwe7EbaDPC)ca^Wk#me7N;V~>f~4?~UVV(a`gsqZXzMIKMUz%jgi;>r KbC$;QbKrk*71IR( literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Manager_Module$Direction_Button$1.class b/Task_Managment_application/bin/Manager_Module$Direction_Button$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b451dacd1abef6f5921561b5250e2f316a74dd3c GIT binary patch literal 2333 zcmb7GTT|Oc6#mvY2#f*_u1lb~l;X6;geVu&tE5ckJ8^1xbeVp5DUgz6stRj8t-u1*Gl5O zs@n~Vy9|T=uIc4&P=v}GLKGQ>I=YqHah(H(%W?G$-P^CPIJU2wHg`#RP$>IOC>)SY zI%Xr37ERmqA27K2*k<1mi*bcm#Q(QloZVtbt~d=o42E$P3WkLAmWpAdg!HzGkw7}H zLdDq>1~8>!6z?z$6jP-P+P!Q_RD~q=1-VCZ1q_4Fw>( zvN8-8^OZ>1mSnkQ@hJBcW^hG8j`U(>i=v|9eSE-hw#ogvWqN+SWAY!U*!kIG@1DVJ zt{GG~*Riw;>1>foF@;&oDJW2YFpbj{Rb0h9!#N62<5tj<)T7*D&|Vj$+O~YNW$~y1 zh15W8e4SzL)R3o}skn(-42tQM4qE&0@r-kw3{N$l8VRpgki+x2Tq6AMW(`wEMedyP!1cTtm0FlKcqJrQdz)J zQBf7GJ8D>5cV9uD!aBZC@HuTn8%f2Ns0km2!96cWRmsG!s0_D>uN2T_$OsHH)6vT7 zr9*?a1UaerT7(>H(MkN8uN(Utu5QphIU}ivVd}UG18VB+aZ1RO4aFOEGbkG?GpI(} zb&0@25XSp4U|8*D`L5v7)CRP~m;oC*wv^I`S+a$uNa#upE!tq{{tW zr=dVFb2NoM9u*WutnBqwGtN&@CV3B#BW&p8L4~8$z&HBFDUdA zJcofzI-*GTCM5{W(=jzl@wy;R+@{rsxP=P+X?Q}j=eR=_cfqlUJuJy%El5E2!(##a zr1_M*Um~k-@GTupLlMvL9mV0KTPH6`=oD)biGRsmQUO!2P0z9rHvh(8dWmY(2+*OA zMnWPvT$p=_?JoEU#Dk`=luHp{U?ALp6N(2Y__=MBN6mk{&3<6tKkM> z5V^kWy_`gmFLh`P<&XT5UtBriKuF;Xd>IA4=gbQjve5@Ow2m0^&3LmqanD`pMkfqm zB}pdsR)>e5dS}#|yHW)8f6;0r$K!J3w4=b4qvU~lwacKL`9rY;hMOib$QnrFmI)op z4CzX>YY>w+aT^5&Jrq$#Tty6PmF7b8YBzg&LbB15J+jkP{xLuX_FyHinLIlyygF@79WQ+QkU2^aUTyzB)Y^q`C?{2 z!^T_&vRzyX89C?b_cfP8kK9q>=9*;G+sU{uf)4L{bn!ydA8@bB16S?;e$-Sv=ueV{ zCX+^K(JlgiOqooUCZfTRihLTkKTBvYnz>e3G>z)U)Xr%8lVBiTxoX6fxB`dDX$JF+ zq|BXpJPbvs;}OGhypD2`oL9#ahV^(^!VYQ^A01mHcbekE@_7|Vh3M6BgVrTNUkIzO zw!QZahJ6jwE^1Tc>{YC+Vr_~$_79Zb+xrK_%r(}h*!oJutR)}80t*SF0BeFE;U0oAvKqcJ?ul9p#$odA^wndDL6QywM116$9PP*Os{%s Iw0{cx0mjiF$p8QV literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Manager_Module$Task_Container.class b/Task_Managment_application/bin/Manager_Module$Task_Container.class new file mode 100644 index 0000000000000000000000000000000000000000..8516341b9786e8ba47698374e9fab7a154697545 GIT binary patch literal 2871 zcma)7-%}H36g^)E34}#a5iKBMK}&)dD_W}{6{EILeprJ+v`Uw-hSep(-3@}ZKkRhc zPG{Qp_N`BS>$IJMrA|A2>Vq@=k2-D7-3=j$pfa;$^L_Wnx#ymH^W@*({s3?spM()m z*f*+Y^^9RpkLG6cmeDz(J9nlNxvZ<3S;Gz^sId38zNp_?iaTi|Ys4*mIhS|isdKp{ zg<4n47fs`y!v2vmyEJ3iIV(P5I&O*veY8%RnXK;SZ9}2=+1CBuHIrpC@uX{;*-YO6 zBUHPlYteh>)7R@@Eap?_SP!4hS(cG@&0N-rkIy)Uy{OMvhJa$Ylh3!>0!YZ6Go8+( z3JoLW1Tt!<-^`lsfWpD9%FCx=M^g&HL~hoog+il-ZP*?`6`C|OV2?soS2PvDOK1tB zS)skaaA{E&uO>E1)X<833cGT}N(XIQUzTzOPW1Wp_6d&t8tR~hae(@GW>X_*N0WGT zYN$r27KhLk#w!Xf1-Fcmn>Sp0IX-Ti21O-}&=5sTp(b_V^2AVLaD++LacySaCrJ)# z=)n<%ZI0oVgd!zf&-4}c+Hq9Ft2oA#^d54Jc}L+;(XW)u3WY>dQrmG2wTOiAnnLsD zZ0IwF6~PHK$-h$?PJ=QCGuec(MB;b*xysZWO@+=*aSr(>PH$*9i$MjAPM2)s)}%S> z&QTd%=cNLLgog9d*}9D3Cgx0Q);6+XTvXUmhG>jJs>53t4r55+K;drd3N^e9@*mP? zX9q1yp{eV7iA2X|ZgX_{qSq9*k8mA~<>zM%dqM_CMlhGwt(0z?^1W~vl(CRiP(BnD zTZQD*d4oJ{33Cdq>pk>WOmTI{EsbjkZ(25uly*f!3X_}+9#&9Wf;TAUOk*4KxkaPs zd|ku4xIt&qD9%IvMEIR4xQ8*#u@>q|8y3M$=o)4ub;!7z*DXiT%xW+sV8~A-M;Q%s zFxflDyicAu!EA-%f#PR<($&*Q`9@}` z%%*Z3E-$QWvDVA)LyRPIc{^=fG)1|)%Efs^TFuED%JK&l+$mzw@+)PXl)FW+&hNrnkgM$GTUrEA|Mx zW4~hW3ff|i(LVJEFR!2@_6s_G#=%u|%Nw7zRm5Y5SJ3+yCunnWtmp75Uhio{|0)Jz zt2kHvJ1$IB^(3c);*ng#n*mJz#54hn^8Yac1IC$pj9@Pj&O2zqWgJ8jM=`;jbOmQP zYUePCAzY*KZ_pAfT1rmS^AbPhO-c>W_7Edn=B;9czCvk9-UMj1M-X?fVS*S+3fO?N z%?mq2zS3yoOi8LH-?f-(53Vv52MJTf1V7M501a22`JRL@OY0i01@I?scCX^SZ?Ly; zmi9BZt>Ko!nNI_%RW7`5-~IQb0#lVoQJdFKlN8H+Nn_y8aB(-+%EcnJIt&4!`m literal 0 HcmV?d00001 diff --git a/Task_Managment_application/bin/Manager_Module.class b/Task_Managment_application/bin/Manager_Module.class new file mode 100644 index 0000000000000000000000000000000000000000..e2fe42dca5cefda6bb5b0fb55edc7d504eda5bbf GIT binary patch literal 6185 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 literal 0 HcmV?d00001 diff --git a/Task_Managment_application/david_data.txt b/Task_Managment_application/david_data.txt new file mode 100644 index 0000000..387cec0 --- /dev/null +++ b/Task_Managment_application/david_data.txt @@ -0,0 +1,3 @@ +,s +,Enter task here +hellworld,Enter task here,rhdrh \ No newline at end of file diff --git a/Task_Managment_application/rohane_data.txt b/Task_Managment_application/rohane_data.txt new file mode 100644 index 0000000..e69de29 diff --git a/Task_Managment_application/src/Account_Module.java b/Task_Managment_application/src/Account_Module.java new file mode 100644 index 0000000..5d95c00 --- /dev/null +++ b/Task_Managment_application/src/Account_Module.java @@ -0,0 +1,273 @@ +import javafx.scene.Node; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.PasswordField; +import javafx.scene.control.TextField; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.LinkedList; + +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.geometry.Insets; + +public class Account_Module extends VBox +{ + private class User + { + private String username; + private String password; + + User() + { + + } + User(String username, String password) + { + this.username = username; + this.password = password; + } + + public String get_password() + { + return password; + } + + public String get_username() + { + return username; + } + + public void set_password(String password) + { + this.password = password; + } + + public void set_username(String username) + { + this.username = username; + } + } + + final File FILE; + final boolean DEBUG; + private LinkedList user_list; + + + Account_Module() + { + + DEBUG = true; + FILE = new File("user_data.txt"); + user_list = new LinkedList(); + + this.setPadding(new Insets(15, 15, 15, 15)); + this.setStyle("-fx-background-color: #336699;"); + this.setSpacing(11); + this.setMinSize(500, 500); + + TextField usernameField = new TextField(); + PasswordField passwordField = new PasswordField(); + Button registerButton = new Button(); + Button loginButton = new Button(); + + passwordField.setText("Enter Password"); + usernameField.setText("Enter Username"); + loginButton.setText("Login"); + registerButton.setText("Register"); + + registerButton.setOnAction(new EventHandler() + { + @Override + public void handle(ActionEvent arg0) + { + try + { + add_user_to_list(usernameField.getText(), passwordField.getText()); + } + catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + }); + + loginButton.setOnAction(new EventHandler() + + { + + @Override + public void handle(ActionEvent event) + { + try + { + if (attemptLogin(usernameField.getText(), passwordField.getText())) + { + + if(DEBUG)System.out.println("Attempted login"); + Manager_Module hbox = new Manager_Module(usernameField.getText()); + System.out.println("LOGIN SUCCESS"); + Scene mod_scene = new Scene(hbox, 600, 600); + Main.get_stage().setScene(mod_scene); + + + + } else + { + if (DEBUG) + System.out.println("LOGIN FAIL"); + } + } catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + }); + // if(this.getScene() != null) + + + HBox buttonContainer = new HBox(); + buttonContainer.getChildren().addAll(registerButton, loginButton); + buttonContainer.setSpacing(10); + this.getChildren().addAll(usernameField, passwordField, buttonContainer); + + + + + + } + + + private boolean add_user_to_list(String username, String password) throws IOException + { + User user = new User(username, password); + refresh_user_list(); + if (user_list.isEmpty()) + { + if (DEBUG) + System.out.println("user list is empty"); + user_list.add(user); + } else + { + if (DEBUG) + System.out.println("user list is not empty"); + for (int i = 0; i < user_list.size(); ++i) + { + if (user_list.get(i).get_username().equalsIgnoreCase(user.get_username())) + { + if (DEBUG) + System.out.println("user name already exists, not adding"); + return false; + } + } + if (DEBUG) + System.out.println("Adding user to list"); + user_list.add(user); + } + save_user_list(); + + return true; + } + + private boolean attemptLogin(String username, String password) throws IOException + { + refresh_user_list(); + for (int i = 0; i < user_list.size(); ++i) + { + if (user_list.get(i).get_username().equalsIgnoreCase(username)) + { + if (user_list.get(i).get_password().equals(password)) + { + return true; + } + + } + } + return false; + } + + private void debug_print_list() + { + for (int i = 0; i < user_list.size(); ++i) + { + System.out.println("size is " + i); + System.out.print(user_list.get(i).get_username() + ' '); + System.out.println(user_list.get(i).get_password()); + } + } + + + private void refresh_user_list() throws IOException + { + if (DEBUG) + System.out.println("getting user list"); + + user_list.clear(); + + if (!FILE.exists()) + { + user_list.clear(); + System.out.println("file wasnt found"); + return; + } + else + { + System.out.println("file was found"); + BufferedReader bufferedReader = new BufferedReader(new FileReader(FILE)); + String line; + line = bufferedReader.readLine(); + while (line != null) + { + User temp = new User(); + + temp.set_username(line.substring(0, line.indexOf(','))); + temp.set_password(line.substring(line.indexOf(',') + 1)); + if (DEBUG) + System.out.println(temp.get_username()); + if (DEBUG) + System.out.println(temp.get_password()); + user_list.add(temp); + line = bufferedReader.readLine(); + } + bufferedReader.close(); + } + } + + private void save_user_list() throws IOException + { + + + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(FILE)); + for (int i = 0; i < user_list.size(); ++i) + { + if (DEBUG) + System.out.println("size is " + i); + if (DEBUG) + debug_print_list(); + if (i != 0) + { + bufferedWriter.write('\n'); + } + bufferedWriter.write(user_list.get(i).get_username()); + bufferedWriter.write(','); + bufferedWriter.write(user_list.get(i).get_password()); + } + bufferedWriter.close(); + + } + +} \ No newline at end of file diff --git a/Task_Managment_application/src/Main.java b/Task_Managment_application/src/Main.java new file mode 100644 index 0000000..97913e7 --- /dev/null +++ b/Task_Managment_application/src/Main.java @@ -0,0 +1,36 @@ +import javafx.application.Application; +import javafx.scene.Scene; +import javafx.stage.Stage; + +public class Main extends Application +{ + private static Stage stage; + public static void main(String [] args) + { + launch(); + } + + @Override + public void start(Stage stage) throws Exception + { + set_stage(stage); + Account_Module account_mod = new Account_Module(); + Scene account_scene = new Scene(account_mod); + stage.sizeToScene(); + stage.setScene(account_scene); + stage.setTitle("Task Manager Application"); + stage.show(); + + + } + + public static Stage get_stage() + { + return stage; + } + + public void set_stage(Stage stage) + { + this.stage = stage; + } +} diff --git a/Task_Managment_application/src/Manager_Module.java b/Task_Managment_application/src/Manager_Module.java new file mode 100644 index 0000000..8c68d25 --- /dev/null +++ b/Task_Managment_application/src/Manager_Module.java @@ -0,0 +1,374 @@ + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.LinkedList; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.geometry.Insets; +import javafx.geometry.Orientation; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.ListView; +import javafx.scene.control.TextArea; +import javafx.scene.control.TextField; +import javafx.scene.layout.Background; +import javafx.scene.layout.BackgroundFill; +import javafx.scene.layout.Border; +import javafx.scene.layout.BorderStroke; +import javafx.scene.layout.CornerRadii; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.scene.paint.Color; +import javafx.scene.paint.Paint; +import javafx.stage.Popup; + +public class Manager_Module extends HBox +{ + class Direction_Button extends Button + { + Direction_Button(Task_Container from, Task_Container to, String button_text, Manager_Module mm) + { + this.setText(button_text); + this.setMinSize(30, 10); + this.setOnAction(new EventHandler(){ + + @Override + public void handle(ActionEvent event) + { + if(!from.get_list_view().getSelectionModel().isEmpty()) + { + int selected_index = from.get_list_view().getSelectionModel().getSelectedIndex(); + String current_task = from.get_task_list().get(selected_index); + from.remove_task(current_task); + to.add_task(current_task); + from.get_list_view().getSelectionModel().clearSelection(); + to.get_list_view().getSelectionModel().clearSelection(); + try + { + mm.save(); + } + catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + } + + }); + } + } + + class Task_Container extends VBox + { + + ListView task_view; + private String title; + ObservableList task_list; + + Task_Container(String title) + { + task_list = FXCollections.observableArrayList(); + task_view = new ListView(); + task_view.setOrientation(Orientation.VERTICAL); + task_view.setItems(task_list); + this.title = title; + Label title_label = new Label(); + title_label.setText(title); + title_label.setPrefWidth(100); + + + this.getChildren().addAll(title_label, task_view); + + + } + + + public void add_task(String task) + { + task_list.add(task); + task_view.setItems(task_list); + + } + + public void remove_task(String task) + { + for(int i = 0; i < task_list.size(); ++i) + { + if(task_list.get(i).equals(task)) + { + task_list.remove(i); + i = task_list.size(); + } + } + task_view.setItems(task_list); + + } + + public ObservableList get_task_list() + { + return task_list; + } + + public ListView get_list_view() + { + return task_view; + } + + public String get_title() + { + return title; + } + + public void set_task_list(ObservableList task_list) + { + this.task_list = task_list; + if(task_list != null && !task_list.isEmpty()) + task_view.setItems(task_list); + + } + public void set_title(String title) + { + this.title = title; + } + + } + + + + final boolean DEBUG; + final File FILE; + Task_Container todo_container; + Task_Container doing_container; + Task_Container done_container; + + + + public Manager_Module(String username) + { + DEBUG = true; + FILE = new File(username + "_data.txt"); + + Manager_Module mm = this; + this.setPadding(new Insets(10,10,10,10)); + this.setBackground(new Background(new BackgroundFill(Color.TAN, CornerRadii.EMPTY, Insets.EMPTY))); + this.setSpacing(11); + this.setMinSize(500, 500); + + todo_container = new Task_Container("To Do"); + doing_container = new Task_Container("In Progress"); + done_container = new Task_Container("Done"); + + Button add_task_button = new Button(); + Button remove_task_button = new Button(); + add_task_button.setText("Add task"); + remove_task_button.setText("Remove Completed Task"); + + + Popup popup = new Popup(); + popup.setX(505); + popup.setY(405); + VBox popup_box = new VBox(); + popup_box.setLayoutX(500); + popup_box.setLayoutY(400); + popup_box.setMinHeight(100); + popup_box.setMinWidth(100); + TextField task_textfield = new TextField("Enter task here"); + Button ok_popup = new Button(); + ok_popup.setMinWidth(50); + ok_popup.setText("ADD"); + popup_box.getChildren().addAll(task_textfield, ok_popup); + popup.getContent().add(popup_box); + + + VBox transitions1 = new VBox(); + transitions1.getChildren().add(new Direction_Button(todo_container, doing_container, "->", this)); + transitions1.getChildren().add(new Direction_Button(doing_container, todo_container, "<-", this)); + + VBox transitions2 = new VBox(); + transitions2.getChildren().add(new Direction_Button(doing_container, done_container, "->", this)); + transitions2.getChildren().add(new Direction_Button(done_container, doing_container, "<-", this)); + + + + ok_popup.setOnAction(new EventHandler() + { + + @Override + public void handle(ActionEvent event) + { + String next_task = new String(); + next_task = task_textfield.getText(); + todo_container.add_task(next_task); + task_textfield.clear(); + try + { + save(); + } catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + popup.hide(); + } + + }); + add_task_button.setOnAction(new EventHandler() + { + + @Override + public void handle(ActionEvent arg0) + { + if(DEBUG) System.out.println("Add task button click"); + popup.show(mm, mm.getLayoutX(), mm.getLayoutY()); + } + + }); + remove_task_button.setOnAction(new EventHandler() + { + @Override + public void handle(ActionEvent event) + { + if(!done_container.get_list_view().getSelectionModel().isEmpty()) + { + int remove_index = done_container.get_list_view().getSelectionModel().getSelectedIndex(); + done_container.get_task_list().remove(remove_index); + done_container.get_list_view().setItems(done_container.get_task_list()); + try + { + save(); + } + catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + done_container.get_list_view().getSelectionModel().clearSelection(); + + + } + + }); + todo_container.getChildren().add(add_task_button); + done_container.getChildren().add(remove_task_button); + try + { + load(); + } catch (IOException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + this.getChildren().addAll(todo_container, transitions1, doing_container, transitions2, done_container); + } + + private void load() throws IOException + { + + if(!FILE.exists()) + { + return; + } + BufferedReader bufferedReader = new BufferedReader(new FileReader(FILE)); + ObservableList temp_list = FXCollections.observableArrayList(); + String line = bufferedReader.readLine(); + String[] task_desc = null; + if(line != null) + { + task_desc = line.split(","); + for(int i = 0; i < task_desc.length; ++i) + { + temp_list.add(task_desc[i]); + } + todo_container.set_task_list(temp_list); + } + else + { + todo_container.set_task_list(null); + } + temp_list = FXCollections.observableArrayList(); + line = bufferedReader.readLine(); + task_desc = null; + if(line != null) + { + task_desc = line.split(","); + + for(int i = 0; i < task_desc.length; ++i) + { + temp_list.add(task_desc[i]); + } + doing_container.set_task_list(temp_list); + } + else + { + doing_container.set_task_list(null); + } + temp_list = FXCollections.observableArrayList(); + line = bufferedReader.readLine(); + task_desc = null; + if(line != null) + { + task_desc = line.split(","); + for(int i = 0; i < task_desc.length; ++i) + { + temp_list.add(task_desc[i]); + } + done_container.set_task_list(temp_list); + } + else + { + done_container.set_task_list(null); + } + bufferedReader.close(); + + } + + private void save() throws IOException + { + + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(FILE)); + ObservableList temp = todo_container.get_task_list(); + for(int i = 0; i < temp.size(); ++i) + { + if(i != 0) + bufferedWriter.write(','); + bufferedWriter.write(temp.get(i)); + + } + bufferedWriter.write('\n'); + temp = doing_container.get_task_list(); + for(int i = 0; i < temp.size(); ++i) + { + if(i != 0) + bufferedWriter.write(','); + bufferedWriter.write(temp.get(i)); + + } + bufferedWriter.write('\n'); + temp = done_container.get_task_list(); + for(int i = 0; i < temp.size(); ++i) + { + if(i != 0) + bufferedWriter.write(','); + bufferedWriter.write(temp.get(i)); + + } + bufferedWriter.close(); + } + + + + + + +} diff --git a/Task_Managment_application/user_data.txt b/Task_Managment_application/user_data.txt new file mode 100644 index 0000000..983647a --- /dev/null +++ b/Task_Managment_application/user_data.txt @@ -0,0 +1,2 @@ +david,w +rohane,rohane \ No newline at end of file diff --git a/tma_westgate.jar b/tma_westgate.jar new file mode 100644 index 0000000000000000000000000000000000000000..3684268c70a281c737ef7c4a0bd8268e782e4740 GIT binary patch literal 47976 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