void (@NotNull EditorSchemeAttributeDescriptor attrDescription) { try { myUiEventsEnabled = false; if (!(attrDescription instanceof ColorAndFontDescription description)) return; if (description.isFontEnabled()) { myLabelFont.setEnabled(description.isEditable()); myCbBold.setEnabled(description.isEditable()); myCbItalic.setEnabled(description.isEditable()); int fontType = description.getFontType(); myCbBold.setSelected(BitUtil.isSet(fontType, Font.BOLD)); myCbItalic.setSelected(BitUtil.isSet(fontType, Font.ITALIC)); } else { myLabelFont.setEnabled(false); myCbBold.setSelected(false); myCbBold.setEnabled(false); myCbItalic.setSelected(false); myCbItalic.setEnabled(false); } updateColorChooser(myCbForeground, myForegroundChooser, description.isForegroundEnabled(), description.isForegroundChecked(), description.getForegroundColor(), description.isTransparencyEnabled()); updateColorChooser(myCbBackground, myBackgroundChooser, description.isBackgroundEnabled(), description.isBackgroundChecked(), description.getBackgroundColor(), description.isTransparencyEnabled()); updateColorChooser(myCbErrorStripe, myErrorStripeColorChooser, description.isErrorStripeEnabled(), description.isErrorStripeChecked(), description.getErrorStripeColor(), description.isTransparencyEnabled()); EffectType effectType = description.getEffectType(); updateColorChooser(myCbEffects, myEffectsColorChooser, description.isEffectsColorEnabled(), description.isEffectsColorChecked(), description.getEffectColor(), description.isTransparencyEnabled()); @NlsSafe String name = ContainerUtil.reverseMap(myEffectsMap).get(effectType); myEffectsCombo.getModel().setSelectedItem(name); myEffectsCombo .setEnabled((description.isEffectsColorEnabled() && description.isEffectsColorChecked()) && description.isEditable()); setInheritanceInfo(description); myLabelFont.setEnabled(myCbBold.isEnabled() || myCbItalic.isEnabled()); } finally { myUiEventsEnabled = true; } }