예제 #1
0
/*----------------------------------------------------*/

	public virtual void EventController_ControlClicked(Object aSrc, EventArgs aEvent) {
		cCoreCtl aCtl = GetCoreControlFromEventSource((Control)aSrc);
		XmlNodeList aActionNodeList = cXMLDoc.GetActionNodeList(aCtl.DisplayPropertyNode);
		foreach(XmlNode aActionNode in aActionNodeList) {
			EventController_ExecuteActionMethod(aActionNode, aSrc, aCtl);
		}
	}
예제 #2
0
/*----------------------------------------------------*/

	public virtual void EventController_GetEventMethodArgs(ArrayList aArgsList, cCoreCtl aCtl, Object aEventSrc, XmlNode aActionNode) {
		XmlNode		aArgumentsNode = aActionNode.SelectSingleNode("Parameters");
		
		if (aArgumentsNode == null)
			return;

		XmlNodeList		aArgsNodeList = aArgumentsNode.SelectNodes("Argument");
		
		foreach(XmlNode aArgumentNode in aArgsNodeList) {

			String aAttributeName = cXMLDoc.AttributeToString(aArgumentNode, "AttributeName");
			String aType = cXMLDoc.AttributeToString(aArgumentNode, "Type");

			if(aAttributeName!= "") {
				switch(aType) {
					case "":
						aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "Value"));
						break;
					case "AttributeRelatedProperty":
						String aDODKey = cXMLDoc.AttributeToString(aArgumentNode, "DataObjectDefinitionKey");
						String aPrimaryKey = aCtl.Attributes[aAttributeName];
						cDataObject aDO = this.WebSession.DataObjectFactory.GetDataObjectFromPrimaryKey(aDODKey, aPrimaryKey);
						String aPropertyKey = cXMLDoc.AttributeToString(aArgumentNode, "PropertyKey");
						if(aDO.GetRelatedPropertyString(aPropertyKey) != "")
							aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "BaseValue") + aDO.GetRelatedPropertyString(aPropertyKey));
						else
							aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "BaseValue") + cXMLDoc.AttributeToString(aArgumentNode, "DefaultValue", "0"));
						break;
					default:
						aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "BaseValue") + 
							aCtl.Attributes[aAttributeName]);
						break;
				}
			}
			else {
				switch (aType) {
					case "Object" :
						aArgsList.Add(EventController_GetEventArgumentObject(aArgumentNode, aCtl, aEventSrc));
						break;
					default :
						if(aType == "")
							aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "Value"));
						else
							aArgsList.Add(cXMLDoc.AttributeToString(aArgumentNode, "BaseValue") +
								EventController_GetArgumentValue(aArgumentNode, null));
						break;
				}
			}
		}
	}
예제 #3
0
/*----------------------------------------------------*/

    public virtual Object EventController_GetEventArgumentObject(XmlNode aArgumentNode, 
                        cCoreCtl aCtl, Object aEventSrc) {

        String aObjectType;
        aObjectType = cXMLDoc.AttributeToString(aArgumentNode, "ObjectType");

        switch(aObjectType) {
            case "DataPresenter":
                return this;
            case "CoreControl":
                return aCtl;
            case "EventSource":
                return aEventSrc;
            default:
                return null;
        }
    }