Transpiled version (62790L) is out of date.
1 | srecord noeq JG22ProjectSelector(G22Utils g22utils) is Swingable { |
2 | transient JLabel lblDB; |
3 | |
4 | cachedVisualize { |
5 | lblDB = toolTip("Currently selected project (" + f2s(g22utils.projectDir()) + ")", |
6 | /*boldLabel*/(jSimpleLabel(fileName(g22utils.projectDir())))); |
7 | |
8 | onClick(lblDB, evt -> new PopupMenuMaker(evt, menu -> { |
9 | |
10 | addMenuItem(menu, "New project...", |
11 | rThread { g22utils.projectActions().databasesPanel().newDatabase() }); |
12 | |
13 | addMenuItem(menu, "Projects..." /*"Manage or open projects..."*/, |
14 | rThread { g22utils.showUIURL("Projects")}); |
15 | |
16 | LS recent = takeFirst(10, g22utils.dbNamesRecentlyOpened()); |
17 | |
18 | // List open projects |
19 | /*for (File otherDB : g22utils.masterStuff().openConceptDirs()) { |
20 | S name = fileName(otherDB); |
21 | if (!eq(otherDB, g22utils.projectDir())) |
22 | addMenuItem(menu, name + " [Open]", rThread { g22utils.masterStuff().openDatabase(otherDB) }); |
23 | removeAll(recent, name, "*" + name); |
24 | }*/ |
25 | for (IG22LoadedDB otherDB : g22utils.masterStuff().openProjects()) { |
26 | S name = otherDB.g22utils().projectName(); |
27 | if (g22utils != otherDB.g22utils()) { |
28 | S status = otherDB.hidden() ? "Hidden" : "Open"; |
29 | addMenuItem(menu, name + " [" + status + "]", rThread { otherDB.activate() }); |
30 | } |
31 | removeAll(recent, name, "*" + name); |
32 | } |
33 | |
34 | // List non-open recent projects |
35 | for (name : recent) { |
36 | S name2 = dropStarPrefix(name); |
37 | File otherDB = newFile(g22utils.databasesMotherDir(), name2); |
38 | if (isDirectory(otherDB)) |
39 | addMenuItem(menu, name2, rThread { |
40 | g22utils.masterStuff().openDatabase(otherDB, neq(name, name2)) |
41 | }); |
42 | } |
43 | }).run()); |
44 | |
45 | ret lblDB; |
46 | } |
47 | } |
download show line numbers debug dex old transpilations
Travelled to 2 computer(s): elmgxqgtpvxh, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1035692 |
Snippet name: | JG22ProjectSelector - the little project name/project switcher label in the top left corner of all "workspace" windows |
Eternal ID of this version: | #1035692/16 |
Text MD5: | 472876078e7d1b4b593f4fd01a28f49f |
Author: | stefan |
Category: | javax / gazelle 22 |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-10-26 15:52:05 |
Source code size: | 1855 bytes / 47 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 199 / 297 |
Version history: | 15 change(s) |
Referenced in: | [show references] |