Uses 1485K of libraries. Click here for Pure Java version (41335L/279K).
1 | sclass G22ChallengesPanel {
|
2 | replace Challenge with G22Challenge. |
3 | |
4 | transient settable G22Utils g22utils; |
5 | |
6 | transient SimpleCRUD_v2<Challenge> challengeCRUD; |
7 | transient SingleComponentPanel scpChallengePanel; |
8 | transient SimpleCRUD_v2<G22RecognizerScript> recognizerCRUD; |
9 | transient G22ChallengePanel challengePanel; |
10 | |
11 | transient G22ChallengeIDE challengeIDE; |
12 | |
13 | simplyCached JComponent visualize() {
|
14 | challengeCRUD = new SimpleCRUD_v2<>(g22utils.concepts(), Challenge); |
15 | g22utils.setupScriptCRUD(challengeCRUD); |
16 | challengeCRUD.addCountToEnclosingTab(true); |
17 | challengeCRUD.entityName = -> "Challenge"; |
18 | |
19 | challengeIDE = new G22ChallengeIDE(g22utils); |
20 | challengeIDE.noScriptSelectedMsg("Please select a challenge above to start");
|
21 | |
22 | challengeIDE.modifyIDE = ide -> {
|
23 | // TODO ide.runScript = |
24 | }; |
25 | |
26 | recognizerCRUD = new SimpleCRUD_v2<>(g22utils.concepts(), G22RecognizerScript); |
27 | recognizerCRUD.entityName = -> "Recognizer"; |
28 | g22utils.setupScriptCRUD(recognizerCRUD); |
29 | |
30 | var recognizerCRUDVis = recognizerCRUD.visualize(); |
31 | |
32 | recognizerCRUD.onSelectionChanged(-> |
33 | recognizerIDE().setScript(recognizerCRUD.selected())); |
34 | |
35 | scpChallengePanel = singleComponentPanel(); |
36 | |
37 | challengeCRUD.onSelectionChangedAndNow(r_dm_q(l0 makeChallengePanel)); |
38 | |
39 | ret jhsplit( |
40 | withTopRightAndBottomMargin(jCenteredRaisedSection("Challenges",
|
41 | withSideAndBottomMargin( |
42 | jvsplit( |
43 | jvsplit( |
44 | withBottomMargin(challengeCRUD.visualize()), |
45 | challengeIDE.visualize() |
46 | ), |
47 | jCenteredRaisedSection("Recognizers", recognizerCRUDVis)
|
48 | ) |
49 | ))), |
50 | withSideMargins(scpChallengePanel)); |
51 | } |
52 | |
53 | G22LAScriptIDE<G22RecognizerScript> recognizerIDE() {
|
54 | ret challengePanel.recognizerIDE; |
55 | } |
56 | |
57 | void makeChallengePanel {
|
58 | var challenge = challengeCRUD.selected(); |
59 | challengeIDE.setScript(challenge); |
60 | if (challenge == null) ret; |
61 | |
62 | var panel = challengePanel = G22ChallengePanel(challenge); |
63 | panel.g22utils(g22utils); |
64 | panel.init(); |
65 | |
66 | scpChallengePanel.set(withTopAndBottomMargin(12, 6, panel.visualize())); |
67 | } |
68 | |
69 | void updateCount {
|
70 | challengeCRUD.update(); |
71 | } |
72 | } |
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1034340 |
| Snippet name: | G22ChallengesPanel |
| Eternal ID of this version: | #1034340/24 |
| Text MD5: | f79352ca60ae1efd1ebd8c0cfeab6580 |
| Transpilation MD5: | 120b43d7fe81de3b5844a20fd81a3462 |
| Author: | stefan |
| Category: | javax / gazelle 22 |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-02-03 09:55:32 |
| Source code size: | 2311 bytes / 72 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 645 / 860 |
| Version history: | 23 change(s) |
| Referenced in: | [show references] |