Issue #465 Make editable font parameters (bold and italic) in DefineFont*

This commit is contained in:
Honfika
2014-01-02 01:26:34 +01:00
parent 6226cdeffc
commit e4bc647dcf
6 changed files with 78 additions and 4 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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) {
}

View File

@@ -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);

View File

@@ -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) {
}