import win.ui; /*DSG{{*/ mainForm = win.form(text="CircosHeatmap-aardio";right=800;bottom=600) mainForm.add( btnRun={cls="plus";text="运行";left=740;top=10;right=791;bottom=41;activebgcolor=19354;bgcolor=-5197169;font=LOGFONT(h=-16);hoverbgcolor=23477;textcolor=16777215;z=4}; btnSelectFile={cls="plus";text="选择输入文件";left=608;top=10;right=732;bottom=41;activebgcolor=19354;bgcolor=-5197169;font=LOGFONT(h=-16);hoverbgcolor=23477;textcolor=16777215;z=3}; editConsole={cls="edit";left=10;top=467;right=791;bottom=591;bgcolor=16777215;db=1;dl=1;dr=1;edge=1;hscroll=1;multiline=1;textcolor=0;vscroll=1;z=1}; editRScript={cls="edit";left=10;top=48;right=791;bottom=451;bgcolor=16777215;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;textcolor=0;vscroll=1;z=5}; inputFile={cls="edit";left=10;top=10;right=600;bottom=40;bgcolor=16777215;edge=1;textcolor=0;z=2} ) /*}}*/ btskin = { background={ active=0xFFD3E0BC; default=0xFF8FB2B0; hover=0xFF928BB3 } } mainForm.btnRun.skin(btskin); mainForm.btnSelectFile.skin(btskin); import console; import process.r; import fsys.dlg; mainForm.editRScript.print($"\res\heatmap_script.R"); // 选择文件按钮点击事件 mainForm.btnSelectFile.oncommand = function(id, event) { var filePath = fsys.dlg.open("CSV 文件|*.csv||",, "选择输入文件"); if (filePath) { mainForm.inputFile.text = filePath; // 将选择的文件路径显示在输入框中 } } // 运行按钮点击事件 mainForm.btnRun.oncommand = function(id, event) { var inputFilePath = mainForm.inputFile.text; if (!inputFilePath) { console.log("请先选择输入文件!"); return; } // 弹出保存文件对话框,选择PDF保存路径 var outputFilePath = fsys.dlg.save("PDF 文件|*.pdf||",, "选择保存路径"); if (!outputFilePath) { console.log("请选择PDF文件的保存路径!"); return; } // 执行 R 脚本 var out = process.r.exec(mainForm.editRScript.text, inputFilePath, outputFilePath); mainForm.editConsole.print(out); } // 显示主窗口 mainForm.show(); return win.loopMessage();