mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-17 09:09:01 +00:00
Marking parent nodes as modified (bold) too - TreeItem now has isModified method
This commit is contained in:
@@ -243,4 +243,11 @@ public class ScriptPack extends AS3ClassTreeItem {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
return abc.script_info.get(scriptIndex).isModified();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -128,4 +128,15 @@ public class DefineBinaryDataTag extends CharacterTag {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
if(super.isModified()){
|
||||
return true;
|
||||
}
|
||||
if(innerSwf!=null){
|
||||
return innerSwf.isModified();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,4 +113,21 @@ public class AS2Package implements TreeItem {
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for(ASMSource s:scripts.values()){
|
||||
if(s.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for(AS2Package p:subPackages.values()){
|
||||
if(p.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -147,4 +147,23 @@ public class AS3Package extends AS3ClassTreeItem {
|
||||
public String toString() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
List<ScriptPack> sps=getScriptPacks();
|
||||
for(ScriptPack sp:sps){
|
||||
if(sp.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
List<AS3Package> ps=getSubPackages();
|
||||
for(AS3Package p:ps){
|
||||
if(p.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -87,4 +87,29 @@ public class Frame implements TreeItem, Exportable {
|
||||
public String getExportFileName() {
|
||||
return "frame_" + (frame + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for(Tag t:innerTags){
|
||||
if(t.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for(Tag t:actions){
|
||||
if(t.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for(ASMSourceContainer t:actionContainers){
|
||||
if(t.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(showFrameTag!=null && showFrameTag.isModified()){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -53,4 +53,11 @@ public class FrameScript implements TreeItem, Exportable {
|
||||
public String getExportFileName() {
|
||||
return frame.getExportFileName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
return frame.isModified();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -76,4 +76,16 @@ public class TagScript implements TreeItem, Exportable {
|
||||
public int hashCode() {
|
||||
return tag.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for(TreeItem f:frames){
|
||||
if(f.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return tag.isModified();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -53,4 +53,15 @@ public class FolderItem implements TreeItem {
|
||||
public String toString() {
|
||||
return str;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for(TreeItem ti:subItems){
|
||||
if(ti.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -42,4 +42,11 @@ public class HeaderItem implements TreeItem {
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
return false; //??
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -172,4 +172,16 @@ public class SWFList implements List<SWF>, SWFContainerItem {
|
||||
public List<SWF> subList(int i, int i1) {
|
||||
return swfs.subList(i, i1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
for(SWF s:swfs){
|
||||
if(s.isModified()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,4 +25,6 @@ import com.jpexs.decompiler.flash.SWF;
|
||||
public interface TreeItem {
|
||||
|
||||
public SWF getSwf();
|
||||
|
||||
public boolean isModified();
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ public class BUTTONCONDACTION implements ASMSource, Serializable {
|
||||
*/
|
||||
@Internal
|
||||
public ByteArrayRange actionBytes;
|
||||
|
||||
|
||||
/**
|
||||
* Sets actions associated with this object
|
||||
*
|
||||
@@ -239,6 +239,16 @@ public class BUTTONCONDACTION implements ASMSource, Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
if (tag != null) {
|
||||
return tag.isModified();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public GraphTextWriter getActionBytesAsHex(GraphTextWriter writer) {
|
||||
return Helper.byteArrayToHexWithHeader(writer, actionBytes.getRangeData());
|
||||
|
||||
@@ -43,7 +43,7 @@ import java.util.logging.Logger;
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class CLIPACTIONRECORD implements ASMSource, Serializable {
|
||||
|
||||
|
||||
public static String keyToString(int key) {
|
||||
if ((key < CLIPACTIONRECORD.KEYNAMES.length) && (key > 0) && (CLIPACTIONRECORD.KEYNAMES[key] != null)) {
|
||||
return CLIPACTIONRECORD.KEYNAMES[key];
|
||||
@@ -229,9 +229,19 @@ public class CLIPACTIONRECORD implements ASMSource, Serializable {
|
||||
public void setModified() {
|
||||
if (tag != null) {
|
||||
tag.setModified(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModified() {
|
||||
if (tag != null) {
|
||||
return tag.isModified();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public GraphTextWriter getActionBytesAsHex(GraphTextWriter writer) {
|
||||
return Helper.byteArrayToHexWithHeader(writer, actionBytes.getRangeData());
|
||||
|
||||
Reference in New Issue
Block a user