From 9c7e24b8afb952a1ae80a9806d0349d3f7be597c Mon Sep 17 00:00:00 2001 From: Juuz Date: Tue, 26 Sep 2023 00:33:48 +0300 Subject: Fix documenting constructors (again) (#530) * Fix not being able to save javadoc on constructors * Fix existing javadoc not showing in the edit dialog on constructors The new logic was modelled after EnigmaDumper, which uses EntryMapping to access the comments. * Add comments about the fix--- .../src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'enigma-swing/src/main/java/cuchaz') diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java index cbbddde..0ecec6c 100644 --- a/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java +++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/dialog/JavadocDialog.java @@ -38,6 +38,7 @@ import cuchaz.enigma.gui.elements.ValidatableTextArea; import cuchaz.enigma.gui.util.GuiUtil; import cuchaz.enigma.gui.util.ScaleUtil; import cuchaz.enigma.translation.mapping.EntryChange; +import cuchaz.enigma.translation.mapping.EntryMapping; import cuchaz.enigma.translation.representation.entry.Entry; import cuchaz.enigma.utils.I18n; import cuchaz.enigma.utils.validation.ValidationContext; @@ -195,10 +196,13 @@ public class JavadocDialog { } public static void show(JFrame parent, GuiController controller, EntryReference, Entry> entry) { - EntryReference, Entry> translatedReference = controller.project.getMapper().deobfuscate(entry); - String text = Strings.nullToEmpty(translatedReference.entry.getJavadocs()); + // Get the existing text through the mapping as it works for all entries, including constructors. + EntryMapping mapping = controller.project.getMapper().getDeobfMapping(entry.entry); + String text = Strings.nullToEmpty(mapping.javadoc()); - JavadocDialog dialog = new JavadocDialog(parent, controller, entry.getNameableEntry(), text); + // Note: entry.entry is used instead of getNameableEntry() to include constructors, + // which can be documented. + JavadocDialog dialog = new JavadocDialog(parent, controller, entry.entry, text); //dialog.ui.doLayout(); dialog.ui.setVisible(true); dialog.text.grabFocus(); -- cgit v1.2.3