From f04a8827d40add22a9c61653cbd7f1dd19a6b435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 24 Jan 2016 09:30:36 +0100 Subject: [PATCH] Configs with Internal annotation do not need documentation --- .../flash/configuration/Configuration.java | 11 +++++++ .../configuration/ConfigurationInternal.java | 32 +++++++++++++++++++ .../flash/gui/AdvancedSettingsDialog.java | 9 ++++-- 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationInternal.java diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index 5bb919c9e..bf44122b0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -283,30 +283,37 @@ public class Configuration { @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.avm2.splitPane.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiAvm2SplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.actionSplitPane.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiActionSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.previewSplitPane.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiPreviewSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.3333333333) @ConfigurationName("gui.splitPane1.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiSplitPane1DividerLocationPercent = null; @ConfigurationDefaultDouble(0.6) @ConfigurationName("gui.splitPane2.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiSplitPane2DividerLocationPercent = null; @ConfigurationDefaultDouble(0.5) @ConfigurationName("gui.timeLineSplitPane.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiTimeLineSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.6) @ConfigurationName("gui.dump.splitPane.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiDumpSplitPaneDividerLocationPercent = null; @ConfigurationDefaultString("com.jpexs.decompiler.flash.gui.OceanicSkin") @@ -527,10 +534,12 @@ public class Configuration { @ConfigurationDefaultDouble(0.7) @ConfigurationName("gui.avm2.splitPane.vars.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiAvm2VarsSplitPaneDividerLocationPercent = null; @ConfigurationDefaultDouble(0.7) @ConfigurationName("gui.action.splitPane.vars.dividerLocationPercent") + @ConfigurationInternal public static final ConfigurationItem guiActionVarsSplitPaneDividerLocationPercent = null; @ConfigurationDefaultBoolean(true) @@ -571,10 +580,12 @@ public class Configuration { @ConfigurationDefaultBoolean(false) //@ConfigurationCategory("script") + @ConfigurationInternal public static final ConfigurationItem _ignoreAdditionalFlexClasses = null; @ConfigurationDefaultBoolean(false) //@ConfigurationCategory("script") + @ConfigurationInternal public static final ConfigurationItem _enableFlexExport = null; private enum OSId { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationInternal.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationInternal.java new file mode 100644 index 000000000..9642431bd --- /dev/null +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/ConfigurationInternal.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2010-2016 JPEXS, All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3.0 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. + */ +package com.jpexs.decompiler.flash.configuration; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * + * @author JPEXS + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface ConfigurationInternal { + +} diff --git a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java index 38b777494..dce648f8d 100644 --- a/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/AdvancedSettingsDialog.java @@ -20,6 +20,7 @@ import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.configuration.ConfigurationCategory; import com.jpexs.decompiler.flash.configuration.ConfigurationDirectory; import com.jpexs.decompiler.flash.configuration.ConfigurationFile; +import com.jpexs.decompiler.flash.configuration.ConfigurationInternal; import com.jpexs.decompiler.flash.configuration.ConfigurationItem; import com.jpexs.decompiler.flash.gui.helpers.SpringUtilities; import com.jpexs.helpers.Helper; @@ -337,8 +338,12 @@ public class AdvancedSettingsDialog extends AppDialog { if (resourceBundle.containsKey("config.name." + name)) { locName = resourceBundle.getString("config.name." + name); - } else if (!name.startsWith("_")) { //must have _ prefix to be undocumented - throw new RuntimeException("Missing configuration name: " + name); + } else { //if it is undocumented, then it must have ConfigurationInternal annotation + Field f = fields.get(name); + ConfigurationInternal cint = f.getAnnotation(ConfigurationInternal.class); + if (cint == null) { + throw new RuntimeException("Missing configuration name: " + name); + } } locNames.put(name, locName); }