Uses 2164K of libraries. Compilation Failed (63095L/335K).
sclass G22ScriptsFromAllDBsPanel { G22Utils g22utils; // Each script is registered to a non-persistent Concepts object // loaded temporarily but connected to the appropriate db dir JObjectTable<G22LeftArrowScript> table; ReliableSingleThread rstUpdate = new(r _updateTable); transient SingleComponentPanel scpDetail = singleComponentPanel(); *(G22Utils *g22utils) {} visualize { table = new JObjectTable; swap method table.itemToMap(script) to { ret joinMaps(litorderedmap( "Project" := fileName(scriptToDBDir(script)), "ID" := str(script.id)), g22utils.scriptToMap(script)); } var tbl = table.visualize(); rstUpdate!; tablePopupMenuItem_top(table.table, "Open database", rThread { g22utils.masterStuff.openDatabase(table.selected()._concepts.conceptsDir()); }); table.onSelect(script -> { if (script == null) scpDetail.clear(); else { var tabs = jtabs(); S editedText = script.editedText(); if (editedText != null) addTab(tabs, "Editing", makeDisabledTextArea(editedText)); if (script.text != null) addTab(tabs, "Saved", makeDisabledTextArea(script.text)); S codeForAutoRun = script.codeForAutoRun(); if (codeForAutoRun != null) addTab(tabs, "Clear for auto-run", makeDisabledTextArea(codeForAutoRun)); scpDetail.set(tabs); } }); ret withTopAndBottomMargin(jCenteredRaisedSection("Scripts from all databases", jvsplit( withRightAlignedButtons(tbl, "Show all scripts as one long text", rThread showHugeText, ), scpDetail))); } File scriptToDBDir(G22LeftArrowScript script) { ret script == null ?: script._concepts.conceptsDir(); } JComponent makeDisabledTextArea(S text) { var ta = g22utils.newSyntaxTextArea(); ta.setText(text); uneditableBlack(ta.textArea()); ret ta.visualize(); } void _updateTable { table.setData_force(concatLists( mapCloseables_pcall(g22utils.peekAllProjectsConcepts(), cc -> list(cc, G22LeftArrowScript)))); } S makeHugeText() { ret g22utils.evalRegisteredCode("Make text from all scripts", -> { rstUpdate.waitUntilDone(); ret new G22ScriptUtil(g22utils).makeHugeText(table.getList()); }); } void showHugeText { S text = makeHugeText(); showFrame("Scripts from all DBs", g22utils.newSyntaxTextArea(text)); } }
Began life as a copy of #1034288
download show line numbers debug dex old transpilations
Travelled to 5 computer(s): bhatertpkbcr, ekrmjmnbrukm, elmgxqgtpvxh, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
Snippet ID: | #1034641 |
Snippet name: | G22ScriptsFromAllDBsPanel |
Eternal ID of this version: | #1034641/25 |
Text MD5: | e80613d60ff9b2702d4451394aeae5c2 |
Transpilation MD5: | 3a6082b8bb7d582b11ed55d9ba196679 |
Author: | stefan |
Category: | javax / gazelle v |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-10-07 17:51:37 |
Source code size: | 2579 bytes / 81 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 245 / 441 |
Version history: | 24 change(s) |
Referenced in: | [show references] |