diff --git a/trunk/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/trunk/src/com/jpexs/decompiler/flash/gui/FontPanel.java index f7733fcfc..a6d20ab18 100644 --- a/trunk/src/com/jpexs/decompiler/flash/gui/FontPanel.java +++ b/trunk/src/com/jpexs/decompiler/flash/gui/FontPanel.java @@ -56,8 +56,12 @@ public class FontPanel extends javax.swing.JPanel { buttonEdit.setVisible(false); buttonSave.setVisible(true); buttonCancel.setVisible(true); - fontIsBoldCheckBox.setEnabled(true); - fontIsItalicCheckBox.setEnabled(true); + if (fontTag.isBoldEditable()) { + fontIsBoldCheckBox.setEnabled(true); + } + if (fontTag.isItalicEditable()) { + fontIsItalicCheckBox.setEnabled(true); + } } else { buttonEdit.setVisible(true); buttonSave.setVisible(false); @@ -544,8 +548,12 @@ public class FontPanel extends javax.swing.JPanel { }//GEN-LAST:event_buttonEditActionPerformed private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed - fontTag.setBold(fontIsBoldCheckBox.isSelected()); - fontTag.setItalic(fontIsItalicCheckBox.isSelected()); + if (fontTag.isBoldEditable()) { + fontTag.setBold(fontIsBoldCheckBox.isSelected()); + } + if (fontTag.isItalicEditable()) { + fontTag.setItalic(fontIsItalicCheckBox.isSelected()); + } setEditable(false); }//GEN-LAST:event_buttonSaveActionPerformed diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java index 8c90c44c6..2f2a94eb3 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java @@ -285,6 +285,21 @@ public class DefineFont2Tag extends FontTag { return fontFlagsItalic; } + @Override + public boolean isSmallEditable() { + return true; + } + + @Override + public boolean isBoldEditable() { + return true; + } + + @Override + public boolean isItalicEditable() { + return true; + } + @Override public void setSmall(boolean value) { fontFlagsSmallText = value; diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java index e16d4f77c..51297db7c 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java @@ -272,6 +272,21 @@ public class DefineFont3Tag extends FontTag { return fontFlagsItalic; } + @Override + public boolean isSmallEditable() { + return true; + } + + @Override + public boolean isBoldEditable() { + return true; + } + + @Override + public boolean isItalicEditable() { + return true; + } + @Override public void setSmall(boolean value) { fontFlagsSmallText = value; diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java index 2d9a1f9ff..c9987c059 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/DefineFontTag.java @@ -203,6 +203,21 @@ public class DefineFontTag extends FontTag { return false; } + @Override + public boolean isSmallEditable() { + return false; + } + + @Override + public boolean isBoldEditable() { + return fontInfo2Tag != null || fontInfoTag != null; + } + + @Override + public boolean isItalicEditable() { + return fontInfo2Tag != null || fontInfoTag != null; + } + @Override public void setSmall(boolean value) { } diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/trunk/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index d2f832ab0..39bd50b12 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -75,6 +75,12 @@ public abstract class FontTag extends CharacterTag implements AloneTag, Drawable public abstract boolean isItalic(); + public abstract boolean isSmallEditable(); + + public abstract boolean isBoldEditable(); + + public abstract boolean isItalicEditable(); + public abstract void setSmall(boolean value); public abstract void setBold(boolean value); diff --git a/trunk/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java b/trunk/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java index d24836c5b..405e28e52 100644 --- a/trunk/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java +++ b/trunk/src/com/jpexs/decompiler/flash/tags/gfx/DefineCompactedFont.java @@ -297,6 +297,21 @@ public final class DefineCompactedFont extends FontTag implements DrawableTag { return (fonts.get(0).flags & FontType.FF_Italic) == FontType.FF_Italic; } + @Override + public boolean isSmallEditable() { + return false; + } + + @Override + public boolean isBoldEditable() { + return true; + } + + @Override + public boolean isItalicEditable() { + return true; + } + @Override public void setSmall(boolean value) { }