001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.console.macro.v1;
009:
010: //base classes
011: import java.util.HashMap;
012:
013: //project specific classes
014: import org.jfolder.common.tagging.AppraiseConceptTagContext;
015: import org.jfolder.common.tagging.CompoundConceptTagConstraintContext;
016: import org.jfolder.common.tagging.ConceptTagCharacteristic;
017: import org.jfolder.common.tagging.ConceptTagCharacteristicHolder;
018: import org.jfolder.common.tagging.ConceptTagConstraint;
019: import org.jfolder.common.tagging.ConceptTagConstraintHolder;
020: import org.jfolder.common.tagging.ConceptTagConstraintTemplate;
021: import org.jfolder.common.tagging.DynamicConceptTagConstraintContext;
022: import org.jfolder.common.tagging.InitializeConceptTagContext;
023: import org.jfolder.common.tagging.RootConceptTagHolder;
024: import org.jfolder.common.tagging.StaticConceptTagConstraintContext;
025: import org.jfolder.common.tagging.StudioConceptTagInstanceInfoContext;
026: import org.jfolder.common.tagging.StudioConceptTagTypeInfoContext;
027: import org.jfolder.common.web.template.ConsoleParameterContext;
028: import org.jfolder.common.web.template.ConsoleTemplateContext;
029: import org.jfolder.common.web.template.ConsoleTemplateSession;
030: import org.jfolder.common.web.template.PageSetupContext;
031: import org.jfolder.common.web.template.SubmitActionContext;
032: import org.jfolder.common.web.template.SubmitActionParameters;
033: import org.jfolder.console.macro.ConsoleMacro;
034: import org.jfolder.console.macro.ConsoleMacroTag;
035: import org.jfolder.console.macro.ConsoleMacroTagHelper;
036: import org.jfolder.console.view.base.PopUpViewHelper;
037:
038: //other classes
039:
040: public class RcthSaveConsoleMacroTag implements ConsoleMacroTag {
041:
042: //characteristics
043:
044: ///////////////////////////////////
045:
046: public void initialize(InitializeConceptTagContext inIctc) {
047:
048: //
049: ConceptTagConstraintHolder rootCtconh = ConceptTagConstraintHolder
050: .newInstance(inIctc);
051:
052: //
053: inIctc.initialize();
054:
055: //
056: }
057:
058: //
059: public void appraise(AppraiseConceptTagContext inCtic) {
060: if (inCtic instanceof StudioConceptTagInstanceInfoContext) {
061: StudioConceptTagInstanceInfoContext sctiic = (StudioConceptTagInstanceInfoContext) inCtic;
062: sctiic.setInstanceTitle("Rcth Save");
063: sctiic.setInstanceDescription("Rcth Save");
064: } else if (inCtic instanceof StudioConceptTagTypeInfoContext) {
065: StudioConceptTagTypeInfoContext scttic = (StudioConceptTagTypeInfoContext) inCtic;
066: scttic.setTypeTitle("Rcth Save");
067: scttic.setTypeDescription("Rcth Save");
068: }
069: }
070:
071: public final static RcthSaveConsoleMacroTag newInstance(
072: ConceptTagCharacteristic inCtchar) {
073: //
074: RcthSaveConsoleMacroTag outValue = null;
075:
076: outValue = new RcthSaveConsoleMacroTag();
077: //
078: ConceptTagCharacteristicHolder nextCtcharh = inCtchar.addValue(
079: inCtchar.getValueLength(), outValue, true);
080:
081: return outValue;
082: }
083:
084: //
085: //public final static GoToConsoleMacroTag newInstance(
086: // ConceptTagCharacteristic inCtchar, String inId) {
087: // //
088: // GoToConsoleMacroTag outValue = null;
089: //
090: // outValue = new GoToConsoleMacroTag();
091: // //
092: // ConceptTagCharacteristicHolder nextCtcharh = inCtchar.addValue(
093: // inCtchar.getValueLength(), outValue, true);
094: // //
095: // ConceptTagCharacteristic nextIdCtchar =
096: // nextCtcharh.registerCharacteristic(ID_CTCON);
097: // nextIdCtchar.addValue(0, inId);
098: // //
099: //
100: // return outValue;
101: //}
102: //
103: public void generateMacroCommands(PageSetupContext inPsc,
104: ConsoleTemplateSession inCts, RootConceptTagHolder inRcth,
105: HashMap inVars, String inFromHandle,
106: String inAliasFromHandle, String inSourcePage,
107: String inDestinationPage) {
108: //
109: //String id = this.idCtchar.getValueAsString(0, null);
110: //id = ConsoleMacroTagHelper.replaceEnvVars(id, inVars);
111: //
112: //inPsc.addMacroCommand(getGoToCall(id));
113: //
114: String menuItemPartId = PopUpViewHelper.getMenuItemPartId(
115: "getStudioSelectionId()",
116: PopUpViewHelper.MENU_OPT__MENU + "");
117: //
118: inPsc
119: .addMacroCommand("macroGoTo('(main),@,0,[ANCHOR_POINT],0')");
120: inPsc.addMacroCommand("macroClickImage()");
121: inPsc.addMacroCommand("openStudioSelection("
122: + "null, null, false, '@', 0, 1, 1, 1, true, false,"
123: + " null, null, null, 0, -1, -1, -1, -1, -1, -1)");
124: inPsc.addMacroCommand("macroGoTo(" + menuItemPartId + ")");
125: inPsc.addMacroCommand("macroClickImage()");
126: //inPsc.addMacroCommand("macroClick(" + menuItemPartId + ")");
127: inPsc.addMacroCommand("renderMenuNode('"
128: + "(main),[MENU],MENU__TOOLS"
129: + "', getTrueOffsetTop(getPageComponent("
130: + menuItemPartId
131: + ")), getTrueOffsetLeft(getPageComponent("
132: + menuItemPartId + ")) + getPageComponent("
133: + menuItemPartId + ").offsetWidth, 0)");
134: //
135: String saveItemPartId = "(main),[MENU],MENU__TOOLS,[MENU_ITEM],0";
136: inPsc.addMacroCommand("macroGoTo('" + saveItemPartId + "')");
137: inPsc.addMacroCommand("macroClickImage()");
138: //
139: SubmitActionContext sacSave = SubmitActionContext.newInstance(
140: ConsoleMacroTagHelper.replaceEnvVars(inSourcePage,
141: inVars), ConsoleMacroTagHelper.replaceEnvVars(
142: inFromHandle, inVars), ConsoleMacroTagHelper
143: .replaceEnvVars(inAliasFromHandle, inVars));
144: sacSave.addAction(ConsoleParameterContext.FIRST_INPUT,
145: ConsoleTemplateContext
146: .singleQuotes(SubmitActionParameters.SAVE));
147: sacSave.setGoToPage(ConsoleMacroTagHelper.replaceEnvVars(
148: inDestinationPage, inVars));
149: //
150: inPsc.addMacroCommand(sacSave.submitActionCall(false));
151: //
152: //
153: //
154: }
155: //
156: //protected final static String getGoToCall(String inId) {
157: //
158: // StringBuffer outValue = new StringBuffer();
159: //
160: // outValue.append("macroGoTo('" + inId + "')");
161: //
162: // return outValue.toString();
163: //}
164: }
|