private void roundRectOptions() { final OptionsRoundedRectangleTool optionsRoundedRectangleTool = optionsService.getOptions(OptionsRoundedRectangleTool.class); final int crnDiam = optionsRoundedRectangleTool.getCornerDiameter(); Toolbar.setRoundRectArcSize(crnDiam); final double width = optionsRoundedRectangleTool.getStrokeWidth(); setIJ1DefaultStrokeWidth(width); // TODO // IJ1 RectToolOptions does not manipulate Prefs much. It fires // code to change behavior when dialog entries changed. No programmatic // way to make our settings affect legacy ImageJ. Need pure modern ImageJ // support elsewhere. // Prefs.get(SettingsKeys.OPTIONS_ROUND_RECT_FILL_COLOR, none); ?how to // handle "none"? // Prefs.get(SettingsKeys.OPTIONS_ROUND_RECT_STROKE_COLOR, Color.black); // NB BDZ thinks these prefs are unimportant. We use Overlay "Properties" // dialog in modern ImageJ to change these. }
public boolean dialogItemChanged(GenericDialog gd, AWTEvent e) { double strokeWidth2 = gd.getNextNumber(); int cornerDiameter2 = (int)gd.getNextNumber(); String strokec2 = gd.getNextString(); String fillc2 = gd.getNextString(); ImagePlus imp = WindowManager.getCurrentImage(); Roi roi = imp!=null?imp.getRoi():null; Color strokeColor2 = Colors.decode(strokec2, defaultStrokeColor); if (roi!=null && (roi.getType()==Roi.RECTANGLE)) { roi.setStrokeWidth((int)strokeWidth2); roi.setCornerDiameter((int)(cornerDiameter2)); strokeColor2 = Colors.decode(strokec2, roi.getStrokeColor()); Color fillColor = Colors.decode(fillc2, roi.getFillColor()); roi.setStrokeColor(strokeColor2); roi.setFillColor(fillColor); } defaultStrokeWidth = strokeWidth2; defaultStrokeColor = strokeColor2; Toolbar.setRoundRectArcSize(cornerDiameter2); if (cornerDiameter2>0) { if (!Toolbar.getToolName().equals("roundrect")) IJ.setTool("roundrect"); } return true; }
public boolean dialogItemChanged(GenericDialog gd, AWTEvent e) { double strokeWidth2 = gd.getNextNumber(); int cornerDiameter2 = (int)gd.getNextNumber(); String strokec2 = gd.getNextString(); String fillc2 = gd.getNextString(); ImagePlus imp = WindowManager.getCurrentImage(); Roi roi = imp!=null?imp.getRoi():null; Color strokeColor2 = Colors.decode(strokec2, defaultStrokeColor); if (roi!=null && (roi.getType()==Roi.RECTANGLE)) { roi.setStrokeWidth((int)strokeWidth2); roi.setCornerDiameter((int)(cornerDiameter2)); strokeColor2 = Colors.decode(strokec2, roi.getStrokeColor()); Color fillColor = Colors.decode(fillc2, roi.getFillColor()); roi.setStrokeColor(strokeColor2); roi.setFillColor(fillColor); } defaultStrokeWidth = strokeWidth2; defaultStrokeColor = strokeColor2; Toolbar.setRoundRectArcSize(cornerDiameter2); if (cornerDiameter2>0) { if (!Toolbar.getToolName().equals("roundrect")) IJ.setTool("roundrect"); } return true; }