From 20835d4611aa562e9277f9c1763f57482efa433a Mon Sep 17 00:00:00 2001 From: Jannik Date: Sun, 18 Jun 2017 13:01:04 +0200 Subject: [PATCH] smmdbapi part 5 * displaying course information * treetableview is now material too --- bin/.gitignore | 1 + bin/application/MainWindow.fxml | 2 +- bin/application/MainWindowController$1.class | Bin 2199 -> 2199 bytes bin/application/MainWindowController$2.class | Bin 4186 -> 4186 bytes bin/application/MainWindowController$3.class | Bin 4201 -> 4201 bytes bin/application/MainWindowController$4.class | Bin 4209 -> 4209 bytes bin/application/MainWindowController$5.class | Bin 1097 -> 1097 bytes bin/application/MainWindowController$6.class | Bin 1097 -> 1097 bytes bin/application/MainWindowController$7.class | Bin 3541 -> 3520 bytes bin/application/MainWindowController.class | Bin 35145 -> 38361 bytes bin/application/MainWindows.css | 90 ++++++++++- src/application/MainWindow.fxml | 2 +- src/application/MainWindowController.java | 144 +++++++++++++++--- src/application/MainWindows.css | 90 ++++++++++- src/resources/icons/close_black_2048x2048.png | Bin 0 -> 9502 bytes 15 files changed, 299 insertions(+), 30 deletions(-) create mode 100644 src/resources/icons/close_black_2048x2048.png diff --git a/bin/.gitignore b/bin/.gitignore index 9eb92dc..94b23b3 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,2 +1,3 @@ /application/ /datatypes/ +/resources/ diff --git a/bin/application/MainWindow.fxml b/bin/application/MainWindow.fxml index da7a543..2ef5945 100644 --- a/bin/application/MainWindow.fxml +++ b/bin/application/MainWindow.fxml @@ -87,7 +87,7 @@ - + diff --git a/bin/application/MainWindowController$1.class b/bin/application/MainWindowController$1.class index ca1cabc758aa0dc7fa3ed2fda613ace2ee760fdc..40a1aaec24df745c242d0f648ef116987b2346e8 100644 GIT binary patch delta 63 zcmbO(I9+gq5IdvUWMTGQx|R$wj8+V4jMfZ#j5Z9GjJ6E+jCKsJjP?vEj1CM%jE)TD Tj7|(yjLr;AjINV^vCjnnd>#yj delta 63 zcmbO(I9+gq5IdvcWMTGQx+V-VjHV1~jAjgajOGlMj1~;`jFt?pj8+UOjMfZAj5ZAA TjJ6C_jCKr7j1H53vCjnnbhive diff --git a/bin/application/MainWindowController$2.class b/bin/application/MainWindowController$2.class index dd9d196696db482c2de688fc273fe52b4fd899d7..44632e2fdfb8b81b9619a82f31fa4364e795db98 100644 GIT binary patch delta 158 zcmWN_I}1Sp0EXf3HKP0hh#Z76C>NqbCLly#w^D^=a7 v=|NpzYB*@(p+$f;5xQjPVbZ70fDS`Oe>=vUm~j8!%g&59b3QE3X_uWJDETD4 delta 158 zcmWN_I}1Sp07vovF<#0SQ0`>JYBGrHl{X;@A+IO~WigqQGVvvpvRljs+3XgJ(du@l z^Lv>u^L%g-xg1>q$2uktmVCtJC!r8Yg-Iz&T3s@llhu-(Rur_Ms4XS!DeFu{SE{;E x)18K%H1(r_lNMgu1nFSWB~On!eftJ>LuQQFG3LaChb?b|DIc4^EG{{>!5{L*Bnbcj diff --git a/bin/application/MainWindowController$3.class b/bin/application/MainWindowController$3.class index 609541d93f6fdf7a514a719278afbb51c2dd300b..87cf91a3186e984340348444626353c5bd3440b3 100644 GIT binary patch delta 178 zcmWN{y>3AP07vovS;TN7oB@muh^5kQ%hKgpgcmWAFwx zyS2G*z@qMQhF^~5wY=N7LB>oNS8`c7$?Jh<`6$RwQ2|N{QC5VC(o~hBrZO+8QCE+K z#=Po>rVhO6NJ}T$I@8e~U0vwuMjr1184V9}d;PNc Unb3dGRa=mI1LiNR(xNsu(@)I=P9=MqKZR3b$kQmH``LJaP} z*4^5;16>^QJSWG=@e{W2yoy-STNy{zU>)+jeocrz^k diff --git a/bin/application/MainWindowController$4.class b/bin/application/MainWindowController$4.class index 2b839007fcb6837a6cf44079d7d08f779f7b39fc..d9dc1506e16a865b21c4049a89b55116e096f03d 100644 GIT binary patch delta 178 zcmV~$xsE{r0EW^3Yfwmd0#Qt@^Z+_4dZp@`LOcMKgifKOSCU+j*v;5t4KXo=ogh={ zrV{5o-A{KpYR5D`?Jts5*{JD*x;!-Gr70gR`DrUiM=`oe@}(5tO4C!0zVZxIWvCV- z%@}LVLuGF~E Mc?9^vbDFhzFpO&?$8EI!o;946)3F5G2glLLyP? zrV{5oji*r#TPao}))$G2EY#$rE*A~CY05)OUfS~0QIxI{^pvEp6a!`XRE{q-7^=@m z3&z?q(S@lV%=FKV5ukmpE&6D7{nxX|WG Mj~fH-RkJO`8-wpVzyJUM diff --git a/bin/application/MainWindowController$5.class b/bin/application/MainWindowController$5.class index daa45da498df9b3e2f51b43fe558728f4516baa1..9952fc61a6e444eaafa606306d45baca5cbae19a 100644 GIT binary patch delta 27 jcmX@fagt+09y8;c$@$ElobMU97(XxwGJcwTkhuc@i=zqE delta 27 jcmX@fagt+09y8{A*mIbieNWtP+D6osJKu>&_!HJDdMJ3va$=isSDpG z7pw^T=^%scPA}kJvRniIE(XrbIy0ZGo1O>vD}gP{QJWvU=Ir( zT9I>IDp$$JTQYI7T(Vr|io!oVG&Ec+Zri<2G3ZK>ZddZM*?~}U&2pU^|0MZciUXlU z9do16Yb%wi=#(jif6}$J#M+pez&@_*zdnr>W%vm?=tVg;aeg(*BhKs>uxI8 zsn*=rpjRzA&vs_YJymR#!|kTd5zR8kYZS~hC)|E}XnbpbG!v~cF-I!YEiv{NF4j07 zvj3WwxH@4}yJ;5cloT`T2PH1{6Fe3bc_H1 delta 670 zcmZvZ%}-NN5XFD@^2%!;FIs^Hkr)M{K{icLBcV&<0%MTa1Y=m3niQ-;F;GZw!v+^3 ziuU>a38MHd0_D*bMcle)RZ%Rd%if=QEWir|IVNG#kJOZJANqeH29zs+@SD9Q$gQ;N`uBAplrcMc|!sc332 z9_x=-+$3#sOHuV7+Q#9w!o1{l^d%KWQ~QCg3XXHv<{r%gbPpvi$1NW4$mHR_9#YcP zYx9^VA~6!{8;+ms5g#H^vQlzdtcv(~rqGeSo}U?SY|LcVQGrJFa%o>+S*ca$hgGlE zoIlp2`sGYigjK=GR~*?h)ttf3a4clxXxFUM;nL}0S)$V3Dr9VR=eVPoDf9@pO81$q{w()bI9vJD<$MV_=yJ~GqRaFGnk4fq@_Z}4 zz+i`LsEuu)HmOzxT4YnLTGOQs#*(_6w3csaKl3_3MqA``72l+2L+@l$*HS40r|`>N zpo(gVUN*-oR55$a8yW0jZzU_^Fw?x_y^Kz?n-6@%$1JuO`$Rbzc`b-VA4_mr;F8Fk x5Q=4y*^ciwt?DPECRfT$Ejq5iniXn_F-uOO!7lQAmaI}ZPsBU>`NCHt@E7$?q$&Ua diff --git a/bin/application/MainWindowController.class b/bin/application/MainWindowController.class index 2fff3398414b604a6383dc2311b8fdf6350fc54d..c123012956ce9b56879d5eec721986e26d63d3d3 100644 GIT binary patch literal 38361 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 literal 35145 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 diff --git a/bin/application/MainWindows.css b/bin/application/MainWindows.css index cb1165b..c564daf 100644 --- a/bin/application/MainWindows.css +++ b/bin/application/MainWindows.css @@ -1,4 +1,86 @@ -.jfx-hamburgerW StackPane { -fx-background-color: white; - -fx-background-radius: 5px; } -.jfx-hamburgerB StackPane { -fx-background-color: black; - -fx-background-radius: 5px; } \ No newline at end of file +/* + * HAMBURGER CSS + */ + +.jfx-hamburgerW StackPane { + -fx-background-color: white; + -fx-background-radius: 5px; +} + +.jfx-hamburgerB StackPane { + -fx-background-color: black; + -fx-background-radius: 5px; +} + +/* + * TREE TABLE CSS + */ + +.tree-table-view { + -fx-tree-table-color: rgba(0, 168, 204, 0.2); + -fx-tree-table-rippler-color: rgba(0, 168, 204, 0.4); +} + +.tree-table-view:focused .tree-table-row-cell:selected { + -fx-background-color: -fx-tree-table-color; + -fx-table-cell-border-color: -fx-tree-table-color; + -fx-text-fill: BLACK; +} + +.tree-table-view:focused .tree-table-row-cell:selected .tree-table-cell { + -fx-text-fill: BLACK; +} + +.tree-table-view .jfx-rippler { + -jfx-rippler-fill: -fx-tree-table-rippler-color; +} + +.tree-table-view .column-header, +.tree-table-view .column-header-background, +.tree-table-view .column-header-background .filler { + -fx-background-color: TRANSPARENT; +} + +.tree-table-view .column-header { + -fx-border-width: 0 1 0 1; + -fx-border-color: #F3F3F3; +} + +.tree-table-view .column-header .label { + -fx-text-fill: #949494; + -fx-padding: 16 0 16 0; +} + +.tree-table-view .column-header .arrow, .tree-table-view .column-header .sort-order-dot { + -fx-background-color: #949494; +} + +.tree-table-view .column-header:last-visible { + -fx-border-width: 0 2 0 1; +} + +.tree-table-view .column-header-background { + -fx-border-width: 0 0.0 1 0; + -fx-border-color: #F3F3F3; +} + +.tree-table-view .tree-table-cell { + -fx-border-width: 0 0 0 0; + -fx-padding: 16 0 16 0; +} + +.tree-table-view .column-overlay { + -fx-background-color: -fx-tree-table-color; +} + +.tree-table-view .column-resize-line, .tree-table-view .column-drag-header { + -fx-background-color: -fx-tree-table-rippler-color; +} + +.tree-table-view:focused { + -fx-background-color: -fx-tree-table-color, -fx-box-border, -fx-control-inner-background; + -fx-background-insets: -1.4, 0, 1; + -fx-background-radius: 1.4, 0, 0; + /*....*/ + -fx-padding: 1; /* 0.083333em; */ +} \ No newline at end of file diff --git a/src/application/MainWindow.fxml b/src/application/MainWindow.fxml index da7a543..2ef5945 100644 --- a/src/application/MainWindow.fxml +++ b/src/application/MainWindow.fxml @@ -87,7 +87,7 @@ - + diff --git a/src/application/MainWindowController.java b/src/application/MainWindowController.java index 6f3adb0..0400b37 100644 --- a/src/application/MainWindowController.java +++ b/src/application/MainWindowController.java @@ -28,6 +28,7 @@ import java.net.URL; import java.sql.SQLException; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.Optional; import java.util.Properties; @@ -77,6 +78,7 @@ import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; +import javafx.scene.text.Text; import javafx.scene.text.TextFlow; import javafx.stage.DirectoryChooser; import javafx.stage.FileChooser; @@ -216,6 +218,8 @@ public class MainWindowController { File pictureCacheLinux = new File(dirLinux+"/picture_cache"); private ObservableList games = FXCollections.observableArrayList(); ObservableList courses = FXCollections.observableArrayList(); + ArrayList courseText = new ArrayList(); + ArrayList nameText = new ArrayList(); Properties props = new Properties(); Properties gameProps = new Properties(); private MenuItem edit = new MenuItem("edit"); @@ -235,6 +239,7 @@ public class MainWindowController { private ImageView settings_white = new ImageView(new Image("resources/icons/ic_settings_white_24dp_1x.png")); private ImageView cached_white = new ImageView(new Image("resources/icons/ic_cached_white_24dp_1x.png")); private ImageView smmdb_white = new ImageView(new Image("resources/icons/ic_get_app_white_24dp_1x.png")); + private Image close_black = new Image("resources/icons/close_black_2048x2048.png"); public void setMain(Main main) { this.main = main; @@ -253,8 +258,8 @@ public class MainWindowController { applyColor(); //initialize courseTable - titleColumn.setPrefWidth(168); - downloadsColumn.setPrefWidth(130); + titleColumn.setPrefWidth(160); + downloadsColumn.setPrefWidth(127); starsColumn.setPrefWidth(100); courseTreeTable.setRoot(root); @@ -522,18 +527,11 @@ public class MainWindowController { e.printStackTrace(); } } else { - //TODO show an image if none was found -// Image image = new Image(url.toURI().toString()); -// smmdbImageView.setImage(image); + smmdbImageView.setImage(close_black); } - - //TODO show additional information and download option - System.out.println(i); + addCourseDescription(courses.get(i)); } - - } - - System.out.println(id + "; " + selected); + } } }); System.out.println("initializing Actions done!"); @@ -556,13 +554,17 @@ public class MainWindowController { @FXML void settingsBtnAction(ActionEvent event) { - if(settingsTrue == false){ + if (smmdbTrue) { + smmdbAnchorPane.setVisible(false); + smmdbTrue = false; + } + if (settingsTrue) { + settingsAnchorPane.setVisible(false); + settingsTrue = false; + saveSettings(); + } else { settingsAnchorPane.setVisible(true); settingsTrue = true; - }else{ - settingsAnchorPane.setVisible(false); - saveSettings(); - settingsTrue = false; } } @@ -924,9 +926,100 @@ public class MainWindowController { gamesAnchorPane.getChildren().add(games.get(i).getVBox()); } } + + private void addCourseDescription(SmmdbApiDataType course) { + String coursetype; + String leveltype; + String difficulty; + smmdbTextFlow.getChildren().remove(0, smmdbTextFlow.getChildren().size()); + nameText.clear(); + courseText.clear(); + + switch (course.getCoursetype()) { + case 0: + coursetype = "Creation"; + break; + case 1: + coursetype = "Recreation"; + break; + case 2: + coursetype = "Wii U Dump"; + break; + default: + coursetype = "notset"; + break; + } + + switch (course.getLeveltype()) { + case 0: + leveltype = "NSMBU"; + break; + case 1: + leveltype = "SMW"; + break; + case 2: + leveltype = "SMB3"; + break; + case 3: + leveltype = "SMB"; + break; + case 4: + leveltype = "Mixed"; + break; + default: + leveltype = "notset"; + break; + } + + switch (course.getDifficulty()) { + case 0: + difficulty = "Easy"; + break; + case 1: + difficulty = "Normal"; + break; + case 2: + difficulty = "Expert"; + break; + case 3: + difficulty = "Super Expert"; + break; + case 4: + difficulty = "Mixed"; + break; + default: + difficulty = "notset"; + break; + } + + nameText.add(0, new Text("title" + ": ")); + nameText.add(1, new Text("owner" + ": ")); + nameText.add(2, new Text("coursetype" + ": ")); + nameText.add(3, new Text("leveltype" + ": ")); + nameText.add(4, new Text("difficulty" + ": ")); + nameText.add(5, new Text("lastmodified" + ": ")); + nameText.add(6, new Text("uploaded" + ": ")); + nameText.add(7, new Text("nintendoid" + ": ")); + + courseText.add(0, new Text(course.getTitle() + "\n")); + courseText.add(1, new Text(Integer.toString(course.getOwner()) + "\n")); + courseText.add(2, new Text(coursetype + "\n")); + courseText.add(3, new Text(leveltype + "\n")); + courseText.add(4, new Text(difficulty + "\n")); + courseText.add(5, new Text(new java.util.Date((long)course.getLastmodified()*1000) + "\n")); + courseText.add(6, new Text(new java.util.Date((long)course.getUploaded()*1000) + "\n")); + courseText.add(7, new Text(course.getNintendoid() + "\n")); + + for(int i=0; i> 16; + int g = (hex & 0xFF00) >> 8; + int b = (hex & 0xFF); + + return r + ", " + g + ", " + b; + } + private static BufferedImage resizeImage(BufferedImage originalImage, int type, int imgWidth, int imgHeigth) { BufferedImage resizedImage = new BufferedImage(imgWidth, imgHeigth, type); Graphics2D g = resizedImage.createGraphics(); diff --git a/src/application/MainWindows.css b/src/application/MainWindows.css index cb1165b..c564daf 100644 --- a/src/application/MainWindows.css +++ b/src/application/MainWindows.css @@ -1,4 +1,86 @@ -.jfx-hamburgerW StackPane { -fx-background-color: white; - -fx-background-radius: 5px; } -.jfx-hamburgerB StackPane { -fx-background-color: black; - -fx-background-radius: 5px; } \ No newline at end of file +/* + * HAMBURGER CSS + */ + +.jfx-hamburgerW StackPane { + -fx-background-color: white; + -fx-background-radius: 5px; +} + +.jfx-hamburgerB StackPane { + -fx-background-color: black; + -fx-background-radius: 5px; +} + +/* + * TREE TABLE CSS + */ + +.tree-table-view { + -fx-tree-table-color: rgba(0, 168, 204, 0.2); + -fx-tree-table-rippler-color: rgba(0, 168, 204, 0.4); +} + +.tree-table-view:focused .tree-table-row-cell:selected { + -fx-background-color: -fx-tree-table-color; + -fx-table-cell-border-color: -fx-tree-table-color; + -fx-text-fill: BLACK; +} + +.tree-table-view:focused .tree-table-row-cell:selected .tree-table-cell { + -fx-text-fill: BLACK; +} + +.tree-table-view .jfx-rippler { + -jfx-rippler-fill: -fx-tree-table-rippler-color; +} + +.tree-table-view .column-header, +.tree-table-view .column-header-background, +.tree-table-view .column-header-background .filler { + -fx-background-color: TRANSPARENT; +} + +.tree-table-view .column-header { + -fx-border-width: 0 1 0 1; + -fx-border-color: #F3F3F3; +} + +.tree-table-view .column-header .label { + -fx-text-fill: #949494; + -fx-padding: 16 0 16 0; +} + +.tree-table-view .column-header .arrow, .tree-table-view .column-header .sort-order-dot { + -fx-background-color: #949494; +} + +.tree-table-view .column-header:last-visible { + -fx-border-width: 0 2 0 1; +} + +.tree-table-view .column-header-background { + -fx-border-width: 0 0.0 1 0; + -fx-border-color: #F3F3F3; +} + +.tree-table-view .tree-table-cell { + -fx-border-width: 0 0 0 0; + -fx-padding: 16 0 16 0; +} + +.tree-table-view .column-overlay { + -fx-background-color: -fx-tree-table-color; +} + +.tree-table-view .column-resize-line, .tree-table-view .column-drag-header { + -fx-background-color: -fx-tree-table-rippler-color; +} + +.tree-table-view:focused { + -fx-background-color: -fx-tree-table-color, -fx-box-border, -fx-control-inner-background; + -fx-background-insets: -1.4, 0, 1; + -fx-background-radius: 1.4, 0, 0; + /*....*/ + -fx-padding: 1; /* 0.083333em; */ +} \ No newline at end of file diff --git a/src/resources/icons/close_black_2048x2048.png b/src/resources/icons/close_black_2048x2048.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0397b310948819f95bc522b2dcf28400d46249 GIT binary patch literal 9502 zcmeHLdu&r>6hF76>#)p%V8M;7i}Nu}MPd*}c(f44HXjpFVgYd_m?*wBQ4mD97Zeo{ zP)Uf!R|N&1P!p9HkzOPbVhnCR*aYJ0D|Vu8iDitA_Vb+cwPPK(tPEn%w11qQ^WAfP z-|w97eD~h(uAEX;o_9|EIRKDXSutrUKrX7ekZZ=j6^n{Z_&0LObvKvce=mO97Th@x z!_IqfYSm3pSbL=6+V*?IHEjiDm6OZka~DLf`U&8o6_t}F+`LfvbKiuj+sgY-uK!J& z+pn>zE%<%E>Pv3S`PHl5|JC$~AI>=PNiPUwL$VdfR=}_V?an11-=*)iwEx_E)U^I+ zblxznQdC!0yTIEZ8g8+{^M{*E+UnRg(B_IOps`WKp*F*zMr-WVE5ReK(3aGRqb7(n zna;AIyd*C#B&k~J#P>+m9YEr{ZBVD$e9nlv0{}A~IT3Ry2&;D}T6`wdek1mpXgIV< zyljDJjiO&K#@HxL?Zx;*4hRQvv}q>z1?p-I2l>UP?5f3&^yH8X^d$ll{!Xt1ByhsC zCdQNa%M#-mh9}&Dmev=TXA-t^T+T8RI$onRdV4v69k4U!6Tpq94kYI`zTEBV+2h@f zSkep*&OCXsK6M$>);*)rKvd<82<;Y$zUT6(P#LuRs z3U+a|AQ`Mzb#!T9Src*6wm8hPAZB&p_FyR{vvW4&e^xQKmDYPPP+EqnJC__3mo_xw z)J@?Dq!t>gMKoG6ksK~euTpdACXc}83UG6wq~>yQKcd8bL^jxuB(WdK`Q#zvpKXcS zTU$;8p%;^8Lr!&>{u33$=eoI%7Y;_8MaLUYc?x^W>EDB$m`2Sf2kj?vC>fSk1zS;t zPy+C9#0fTkc@HYJJ=i>=IA+yNbQ?xVJ0$>Px5UjpW#N8lyvxQuX}rzG*V1^CjlI&? z#KsrWc%6;UrLlpH&!pjJV}~?eA;YynKtC@OR?*ZB+?_ctSi4Dp7gmMcV0LKMZ&Yw; zWmo{krq5}1gG0}c+Vv+bq1Px;pCxAXeQ9c~h}tzvXk|Vn(&}Mjku*x#m@AFpY)qF% z2^*EtC}Lx@G={KonKb&dae*{)+2|_`VB^?oN~ClL%Ox9$`?*_5?)?E%aA+G3kz6;5 zokJ`S%8-vZWWEe}k3$Y}NHK>Dlp#8YY?mRtIHmW>kasv_zntZFo@FFE`$-PpEZ`m_ z#%uE>R;~bvy+t7pU;%R+S}}#_&&SPy<(81fA-Edv&Q?l!X-a3wSr7(u*(YbA1<=-A z&9nGe-YSW$=Uk@AkT*EwTbT=o43r@r4jCJ@`xGxk?H-(XM5loZ=;~tB;>w#`V8y0z zLClIfq)r9gENRu9{_l=HmNYji`wbc9oe{C zJ;HQDmg|{GxiUlc+}pW&IlzY*dN&6;&GDhC_e0UOmNNlE=PNBfM?p4TBmN0+VBv++l23{@1NRG z6MpW*V?KmBHvi?m!8sVh;=no!c-F+#M{t#X35)sD5ueu1^DMQ}pyu@IGvpwB*BYwJ zanylLa42Z0OeQwh?(+O;jxMf_qCT9m{N?94)^2SOD(B#?vgdW{*ig;I$3LDV$)O~@ijy^;(3u_umERAOaFH>!z!bSC5?c_wy zNUtQx3h9+h@FJ$uxk%@6D$9~>u#(H5OF)-4iPx@&X?Mz)zHPkTRRPIuxda~g2RGMC zK8e()gNk9kv{5pCfkQ`yZf8kt=Egy0eC!SEsX{TIP`#kaxv;N(~vf2=&T0m(EmPw qWLp~CFn$