var rCmds = newMenu("ROI Menu Tool", newArray("Set Default Group...", "Set Default Stroke Width...", "-", "Set Group of Selected ROIs", "Select Group", "-", "Properties..." , "Install Keypad Shortcuts") ); macro "ROI Menu Tool - C037T0d15RT8c12oTfc12i" { cmd = getArgument(); if (cmd=="Set Default Group...") setDefaultRoiGroup(); else if (cmd=="Set Default Stroke Width...") setDefaultRoiStrokeWidth(); else if (cmd=="Set Group of Selected ROIs") setRoiGroup(); else if (cmd=="Select Group") selectRoiGroup(); else if (cmd=="Properties...") properties(); else if (cmd=="Install Keypad Shortcuts") call("ij.plugin.MacroInstaller.installFromJar", "/macros/RoiMenuTool.txt+"); } // Numeric keypad shortcuts used to set the default ROI group macro "Keypad shortcuts for setting default group" { } macro "Group 0 (none) [n0]" { npad(0); } macro "Group 1 [n1]" { npad(1); } macro "Group 2 [n2]" { npad(2); } macro "Group 3 [n3]" { npad(3); } macro "Group 4 [n4]" { npad(4); } macro "Group 5 [n5]" { npad(5); } macro "Group 6 [n6]" { npad(6); } macro "Group 7 [n7]" { npad(7); } macro "Group 8 [n8]" { npad(8); } macro "Group 9 [n9]" { npad(9); } function npad(digit) { Roi.setDefaultGroup(digit); } function properties() { if (selectionType==-1) { showMessage("Selection required"); exit; } run("Properties... "); } function setDefaultRoiGroup() { group = Roi.getDefaultGroup; Dialog.create("Set Default Group"); Dialog.addNumber("Default group", group); Dialog.show; group = Dialog.getNumber(); Roi.setDefaultGroup(group); call("ij.plugin.frame.Recorder.recordString", "Roi.setDefaultGroup("+group+");\n"); } function setDefaultRoiStrokeWidth() { width = Roi.getDefaultStrokeWidth; Dialog.create("Set Default Stroke Width"); Dialog.addNumber("Default stroke width", width); Dialog.show; width = Dialog.getNumber(); Roi.setDefaultStrokeWidth(width); call("ij.plugin.frame.Recorder.recordString", "Roi.setDefaultStrokeWidth("+width+");\n"); } function setRoiGroup() { Dialog.create("Set Group"); Dialog.addString("Group", "1"); Dialog.show; group = Dialog.getString(); RoiManager.setGroup(group); if (call("ij.plugin.frame.Recorder.scriptMode")=="true") call("ij.plugin.frame.Recorder.recordString", "rm.setGroup("+group+");\n"); else call("ij.plugin.frame.Recorder.recordString", "RoiManager.setGroup("+group+");\n"); } function selectRoiGroup() { Dialog.create("Select group"); Dialog.addString("Group", "0"); Dialog.show; group = Dialog.getString(); RoiManager.selectGroup(group); if (call("ij.plugin.frame.Recorder.scriptMode")=="true") call("ij.plugin.frame.Recorder.recordString", "rm.selectGroup("+group+");\n"); else call("ij.plugin.frame.Recorder.recordString", "RoiManager.selectGroup("+group+");\n"); }