Ticket #2238: run-script-action.patch
File run-script-action.patch, 3.5 KB (added by deni, 15 years ago) |
---|
-
modules/org.sophie2.extra.func.scripting/src/main/java/org/sophie2/extra/func/scripting/logic/RunScriptLogic.java
### Eclipse Workspace Patch 1.0 #P sophie
137 137 BookView bookView = event.getSource(BookView.class); 138 138 139 139 ResourceRefR4 scriptRef = action.getRef(); 140 ResourceView trigerElement = event.getContext(ResourceView.class); 141 ResourceAccess scriptAccess = trigerElement.getAccess().open(scriptRef, null); 140 ResourceAccess access = event.getEventParam( 141 LinkEvent.RESOURCE_ACCESS_PARAM_INDEX, ResourceAccess.class); 142 ResourceAccess scriptAccess = access.open(scriptRef, null); 142 143 String script = ScriptResourceR4.KEY_SOURCE_CODE.get(scriptAccess); 143 144 144 145 final Context context = ContextFactory.getGlobal().enterContext(); -
modules/org.sophie2.extra.func.scripting/src/main/java/org/sophie2/extra/func/scripting/links/RunScriptConfigurationPanel.java
31 31 import org.sophie2.extra.func.scripting.model.ScriptResourceR4; 32 32 import org.sophie2.main.app.commons.book.BookDocView; 33 33 import org.sophie2.main.app.commons.links.LinkHolder; 34 import org.sophie2.main.app.commons.util.AppViewUtil; 34 35 import org.sophie2.main.func.links.ActionConfigurationPanel; 35 36 import org.sophie2.main.func.links.LinksHud; 36 37 import org.sophie2.main.func.links.LinksUtil; … … 117 118 118 119 @Override 119 120 protected ComboState<ScriptResourceH> computeModelData() { 120 BookDocView bdv = findParentElement(BookDocView.class);121 BookDocView bdv = AppViewUtil.getCurrentBookDocView(this); 121 122 if (bdv == null || bdv.model().get() == null) { 122 123 return new ComboState<ScriptResourceH>("", 123 124 Collections.<ScriptResourceH> emptyList(), null); … … 129 130 && hud.currentRule().get() != null 130 131 && hud.currentRule().get().getAction() != null 131 132 && hud.currentRule().get().getAction() instanceof RunScriptAction 132 && ((RunScriptAction) hud.currentRule().get().getAction()) 133 .getRef() != null) { 134 ruleScript = ((RunScriptAction) hud.currentRule().get().getAction() 135 ).getRef(); 133 && ((RunScriptAction) hud.currentRule().get().getAction()).getRef() != null) { 134 ruleScript = ((RunScriptAction) hud.currentRule().get().getAction()).getRef(); 136 135 } 137 136 ScriptResourceH ruleScriptH = null; 138 137 BookH book = bdv.model().get(); … … 145 144 ScriptResourceH script = 146 145 ResourceH.getHelper(childAccess, ScriptResourceH.class); 147 146 scripts.add(script); 148 if (script.getRef().equals(ruleScript)) { 149 ruleScriptH = script; 147 if (hud != null && hud.holder().get() != null) { 148 ResourceRefR4 scriptRef = 149 ResourceRefR4.getRelativeRef(hud.holder().get().getRef(), script.getRef()); 150 if (scriptRef.equals(ruleScript)) { 151 ruleScriptH = script; 152 } 150 153 } 151 154 } 152 155 }