Libraryless. Click here for Pure Java version (16088L/116K).
1 | !7 |
2 | |
3 | sclass GeneralDefinitions extends DynModule { |
4 | transient S term; |
5 | transient JPanel stack; |
6 | transient OptionalInputPanel inputPanel; |
7 | transient S listName = "General definitions (long list)"; |
8 | |
9 | JComponent visualize() { |
10 | inputPanel = new OptionalInputPanel(this); |
11 | stack = dynamicVStack2(); |
12 | ret northCenterAndSouth( |
13 | inputPanel.panel, |
14 | stack, |
15 | withMargin(jcenteredbutton("Add definition...", r { |
16 | fS t = term; |
17 | final JTextField tfWord = jtextfield(t), tfDefinition = jtextfield(); |
18 | showFormTitled("Add Definition", |
19 | "Word/Phrase:", tfWord, |
20 | "Definition:", tfDefinition, |
21 | r { |
22 | S word = gtt(tfWord), def = gtt(tfDefinition); |
23 | if (nempty(word) && nempty(def)) { |
24 | addToMechMap(listName, litmap(word, def)); |
25 | infoBox("Definition added: " + word + " = " + def); |
26 | updateMe(); |
27 | } |
28 | }); |
29 | requestFocus(tfDefinition); |
30 | }))); |
31 | } |
32 | |
33 | void update { |
34 | if (stack == null) ret; |
35 | S s = inputPanel.input(); |
36 | term = s; |
37 | S text = makeText(s); |
38 | replaceAllComponents(stack, ll(fontSize(17, jCenteredMultiLineLabel(text)))); |
39 | } |
40 | |
41 | S makeText(fS s) { |
42 | S text = ""; |
43 | if (empty(s)) ret text; |
44 | MultiMap<S> map = mechMultiMapCI(listName); |
45 | L<S> answers = map.get(s); |
46 | MultiMap<S> map2 = mechMultiMapCI("Unauthorized Appends | " + listName); |
47 | L<S> answers2 = map2.get(s); |
48 | if (empty(answers) && empty(answers2)) |
49 | ret "No definitions found for " + quote(s); |
50 | |
51 | ret lines(concatLists( |
52 | map(answers, func(S a) -> S { s + " = " + a }), |
53 | map(answers2, func(S a) -> S { s + " " + unicode_questionedEquals() + " " + a }) |
54 | )); |
55 | } |
56 | } |
Began life as a copy of #1016357
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1016431 |
Snippet name: | General Definitions [Dyn Module, shortened, old] |
Eternal ID of this version: | #1016431/9 |
Text MD5: | d77fedb84193d98a49b5519815e0fd1d |
Transpilation MD5: | a37a2cf6cd73219171ae8a280f5c2cdb |
Author: | stefan |
Category: | javax / stefan's os |
Type: | JavaX source code (Dynamic Module) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2018-06-19 15:12:54 |
Source code size: | 1788 bytes / 56 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 465 / 4982 |
Version history: | 8 change(s) |
Referenced in: | [show references] |