/// <summary> /// Helper function to assemble the parameter objects for the GP tool /// </summary> /// <param name="dir"> /// The "direction" of the parameter (input, output, ...); one of the /// esriGPParameterDirection enum values</param> /// <param name="paramType">One of the esriGPParameterType enum values</param> /// <param name="dispName">The name of the parameter displayed to the user</param> /// <param name="name">The internal name of the parameter</param> /// <param name="dataType">The type of data stored by the parameter</param> /// <param name="value">The initial value of the parameter</param> /// <param name="domainDependsOnWmxDb"> /// Specifying true will cause the parameter's domain to be set to null when /// the selected Workflow Manager database changes; false will leave the domain /// unchanged. /// </param> /// <returns>The GP parameter object that was created</returns> protected IGPParameterEdit3 BuildParameter( esriGPParameterDirection dir, esriGPParameterType paramType, string dispName, string name, IGPDataType dataType, IGPValue value, bool domainDependsOnWmxDb) { IGPParameterEdit3 param = new GPParameterClass(); param.Direction = dir; param.ParameterType = paramType; param.Enabled = true; param.DisplayName = dispName; param.Name = name; param.DataType = dataType; if (value == null) { param.Value = dataType.CreateValue(string.Empty); } else { param.Value = value; } if (domainDependsOnWmxDb) { m_dependentParamNames.Add(name); } return(param); }
public static IGPParameterEdit CreateParameterEdit(string name, string displayName, esriGPParameterDirection paramDirection, esriGPParameterType paramType, IGPDataType gpDataType, bool enabled) { IGPParameterEdit parameterEdit = new GPParameterClass(); parameterEdit.DataType = gpDataType; parameterEdit.Value = gpDataType.CreateValue(""); parameterEdit.ParameterType = paramType; parameterEdit.Direction = paramDirection; parameterEdit.DisplayName = displayName; parameterEdit.Name = name; parameterEdit.Enabled = enabled; return parameterEdit; }
private IGPParameter CreateParameter(IGPDataType dataType, IGPValue value, esriGPParameterDirection direction, string displayName, string name, esriGPParameterType parameterType) { // Area field parameter IGPParameterEdit3 inputParameter = new GPParameterClass(); inputParameter.DataType = dataType; inputParameter.Value = value; // Set field name parameter properties inputParameter.Direction = direction; inputParameter.DisplayName = displayName; inputParameter.Name = name; inputParameter.ParameterType = parameterType; return((IGPParameter)inputParameter); }
/// <summary> /// Creates a parameter that supports multiple inputs of the same data type. /// </summary> /// <param name="source">The source.</param> /// <param name="name"> /// The name is the language-independent name for the parameter (not localized) and must not contain /// spaces and must be unique within a function. /// </param> /// <param name="displayName"> /// The display name is the localized name (as it appears in the dialog) and is contained in /// resource string. /// </param> /// <param name="parameterType">Type of the parameter.</param> /// <param name="parameterDirection">The parameter direction.</param> /// <param name="dataType">Type of the data.</param> /// <param name="control">The ActiveX control should that should be used to display the contents.</param> /// <returns> /// Returns a <see cref="IGPParameterEdit3" /> representing the parameter. /// </returns> public static IGPParameterEdit3 CreateMultiValueParameter(this IGPFunction source, string name, string displayName, esriGPParameterType parameterType, esriGPParameterDirection parameterDirection, IGPDataType dataType, UID control) { var multiValueType = new GPMultiValueTypeClass(); multiValueType.MemberDataType = dataType; IGPParameterEdit3 parameter = new GPParameterClass { IGPParameterEdit3_DataType = multiValueType, IGPParameterEdit3_DisplayName = displayName, IGPParameterEdit3_Name = name, IGPParameterEdit3_ParameterType = parameterType, IGPParameterEdit3_Direction = parameterDirection, IGPParameterEdit3_ControlCLSID = control }; return(parameter); }
/// <summary> /// Creates a parameter that supports multiple inputs of the same data type. /// </summary> /// <param name="source">The source.</param> /// <param name="name"> /// The name is the language-independent name for the parameter (not localized) and must not contain /// spaces and must be unique within a function. /// </param> /// <param name="displayName"> /// The display name is the localized name (as it appears in the dialog) and is contained in /// resource string. /// </param> /// <param name="parameterType">Type of the parameter.</param> /// <param name="parameterDirection">The parameter direction.</param> /// <param name="dataType">Type of the data.</param> /// <param name="checkBoxes"> /// if set to <c>true</c> if the values should be displayed in a list box with check boxes (the /// values are driven by the Domain). /// </param> /// <returns> /// Returns a <see cref="IGPParameterEdit3" /> representing the parameter. /// </returns> public static IGPParameterEdit3 CreateMultiValueParameter(this IGPFunction source, string name, string displayName, esriGPParameterType parameterType, esriGPParameterDirection parameterDirection, IGPDataType dataType, bool checkBoxes) { var multiValueType = new GPMultiValueTypeClass(); multiValueType.MemberDataType = dataType; IGPParameterEdit3 parameter = new GPParameterClass { IGPParameterEdit3_DataType = multiValueType, IGPParameterEdit3_DisplayName = displayName, IGPParameterEdit3_Name = name, IGPParameterEdit3_ParameterType = parameterType, IGPParameterEdit3_Direction = parameterDirection, IGPParameterEdit3_ControlCLSID = (checkBoxes) ? new UIDClass { Value = "{38C34610-C7F7-11D5-A693-0008C711C8C1}" } : null }; return(parameter); }
private IGPParameter CreateParameter(IGPDataType dataType, IGPValue value, esriGPParameterDirection direction, string displayName, string name, esriGPParameterType parameterType) { // Area field parameter IGPParameterEdit3 inputParameter = new GPParameterClass(); inputParameter.DataType = dataType; inputParameter.Value = value; // Set field name parameter properties inputParameter.Direction = direction; inputParameter.DisplayName = displayName; inputParameter.Name = name; inputParameter.ParameterType = parameterType; return (IGPParameter)inputParameter; }