diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java index 21c385f28..03d96aa44 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java @@ -263,9 +263,9 @@ public class DecompiledEditorPane extends DebuggableEditorPane implements CaretL return success; } - public void displayClass(int classIndex, int scriptIndex) { + public void displayClass(int classIndex, int scriptIndex, boolean hasScriptInitializer) { if (abcPanel.navigator.getClassIndex() != classIndex) { - abcPanel.navigator.setClassIndex(classIndex, scriptIndex); + abcPanel.navigator.setClassIndex(classIndex, scriptIndex, hasScriptInitializer); } } @@ -636,7 +636,7 @@ public class DecompiledEditorPane extends DebuggableEditorPane implements CaretL if (cm != null) { classIndex = (int) cm.getProperties().index; } - displayClass(classIndex, script.scriptIndex); + displayClass(classIndex, script.scriptIndex, script.isSimple || script.traitIndices.isEmpty()); Highlighting tm = Highlighting.searchPos(highlightedText.getMethodHighlights(), pos); if (tm != null) { String name = ""; @@ -666,7 +666,7 @@ public class DecompiledEditorPane extends DebuggableEditorPane implements CaretL } if (classIndex == -1) { - abcPanel.navigator.setClassIndex(-1, script.scriptIndex); + abcPanel.navigator.setClassIndex(-1, script.scriptIndex, script.isSimple || script.traitIndices.isEmpty()); //setNoTrait(); //return; } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java index 11029f051..b5f302d06 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java @@ -71,10 +71,10 @@ public class TraitsList extends JList implements ListSelectionListener { public void setAbc(ABC abc) { this.abc = abc; setModel(new DefaultListModel<>()); - setClassIndex(-1, -1); + setClassIndex(-1, -1, false); } - public void setClassIndex(int classIndex, int scriptIndex) { + public void setClassIndex(int classIndex, int scriptIndex, boolean hasScriptInitializer) { if (abc == null) { return; } @@ -83,7 +83,7 @@ public class TraitsList extends JList implements ListSelectionListener { } this.classIndex = classIndex; - setModel(new TraitsListModel(abc, classIndex, scriptIndex, sorted)); + setModel(new TraitsListModel(abc, classIndex, scriptIndex, sorted, hasScriptInitializer)); } private int lastSelected = -1; diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java index bf23b8574..54e49361c 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListModel.java @@ -40,6 +40,8 @@ public final class TraitsListModel implements ListModel { private final int classIndex; private final int scriptIndex; + + private final boolean hasScriptInitializer; public void setSorted(boolean sorted) { if (sorted) { @@ -77,15 +79,16 @@ public final class TraitsListModel implements ListModel { items.add(new TraitsListItem(TraitType.INITIALIZER, 0, true, abc, classIndex, scriptIndex)); } - if (Configuration.enableScriptInitializerDisplay.get()) { + if (hasScriptInitializer) { items.add(new TraitsListItem(TraitType.SCRIPT_INITIALIZER, 0, true, abc, classIndex, scriptIndex)); } } - public TraitsListModel(ABC abc, int classIndex, int scriptIndex, boolean sorted) { + public TraitsListModel(ABC abc, int classIndex, int scriptIndex, boolean sorted, boolean hasScriptInitializer) { this.abc = abc; this.classIndex = classIndex; this.scriptIndex = scriptIndex; + this.hasScriptInitializer = hasScriptInitializer; reset(); if (sorted) { setSorted(true);