Esempio n. 1
0
 private static void EvaluateParameters(XmlElement root, PageScheme page)
 {
     var nodeList = root.SelectNodes("Parameters/Parameter");
     foreach (XmlNode node in nodeList)
     {
         var parameter = new PageParameter();
         parameter.Name = XmlUtility.GetAttrValue(node as XmlElement, "Name");
         parameter.Type = XmlUtility.GetAttrValue(node as XmlElement, "Type");
         parameter.Value = XmlUtility.GetElementCDataValue(node as XmlElement);
         page.Parameters.Add(parameter);
     }
 }
Esempio n. 2
0
 public PageParameter GetPageParameter(String value, String dataType)
 {
     var parameter = Parameters.FirstOrDefault(p => p.Value == value && p.Type == dataType);
     if (parameter == null)
     {
         parameter = new PageParameter();
         parameter.Value = value;
         parameter.Type = dataType;
         parameter.Name = "PageParameter" + Parameters.Count;
         Parameters.Add(parameter);
     }
     return parameter;
 }
Esempio n. 3
0
 public void Execute()
 {
     var data = ClipboardUtility.GetData();
     if (data != null)
     {
         var existControls = ConfigToolContext.Instance.ToolDrawArea.GraphicsCollection.ToPageControls();
         var pageScheme = ConfigToolContext.Instance.ToolViews.GetDrawArea().Schema;
         var doc = new XmlDocument();
         doc.LoadXml(data.ToString());
         var root = doc.FirstChild as XmlElement;
         var parameterMap = new Dictionary<String, String>();
         var rootProperty = ConfigToolContext.Instance.ToolDrawArea.Root as FrameProperty;
         var parameterElem = root.SelectNodes("PageParameters/PageParameter");
         foreach (XmlNode node in parameterElem)
         {
             var parameter = new PageParameter();
             parameter.Name = XmlUtility.GetAttrValue(node as XmlElement, "Name");
             parameter.Type = XmlUtility.GetAttrValue(node as XmlElement, "Type");
             parameter.Value = XmlUtility.GetElementCDataValue(node as XmlElement);
             var oldName = parameter.Name;
             parameter = pageScheme.GetPageParameter(parameter.Value, parameter.Type);
             if (!parameterMap.ContainsKey(oldName))
                 parameterMap.Add(oldName, parameter.Name);
         }
         var controls = PageTransFromXml.RecursiveCreatePageControl(root);
         foreach (var control in controls)
         {
             var drawObject = PageTransToDrawArea.Instance.CreateDrawObject(control);
             if (drawObject != null)
             {
                 foreach (var property in drawObject.Property.Properties)
                 {
                     var matches = ClipboardUtility.GetMatchResult(MATCHTEPLATE, property.Value);
                     if (matches != null && matches.Count > 0)
                     {
                         foreach (Match item in matches)
                         {
                             var value = item.Value.TrimStart('<');
                             value = value.TrimEnd('>');
                             if (parameterMap.ContainsKey(value))
                             {
                                 property.Value = property.Value.Replace("<" + value + ">", "<" + parameterMap[value] + ">");
                             }
                         }
                     }
                 }
                 foreach (var tmpEvent in drawObject.Property.Events)
                 {
                     var matches = ClipboardUtility.GetMatchResult(MATCHTEPLATE, tmpEvent.Value);
                     if (matches != null && matches.Count > 0)
                     {
                         foreach (Match item in matches)
                         {
                             var value = item.Value.TrimStart('<');
                             value = value.TrimEnd('>');
                             if (parameterMap.ContainsKey(value))
                             {
                                 tmpEvent.Value = tmpEvent.Value.Replace("<" + value + ">", "<" + parameterMap[value] + ">");
                             }
                         }
                     }
                 }
                 ConfigToolContext.Instance.ToolDrawArea.AddNewDrawObject(drawObject);
             }
             Recurit(parameterMap, control);
         }
     }
     ConfigToolContext.Instance.ToolDrawArea.RefreshToolDrawArea();
 }
Esempio n. 4
0
 private void EvaluateScript(PageExample example,
     String eventParameter,
     KeyValuePair<String, String> updateProperty,
     KeyValuePair<String, Dictionary<String, String>> updateControl)
 {
     var parameters = ParameterTypeMapScritptUtility.ParseParameter(eventParameter);
     var control = FindControl(example, updateControl.Key);
     var property = FindProperty(example, control, updateProperty.Key);
     var script = ScriptUtility.TrimScript(updateProperty.Value);
     var scripts = ScriptUtility.GetMatchedScriptFromProperty(script);
     var page = example.Evaluataion.Clone() as PageEvaluataion;
     foreach (var parameter in parameters)
     {
         var tempparameter = page.PageParameters.FirstOrDefault(p => p.Name == parameter.Key);
         if (tempparameter != null)
         {
             tempparameter.Value = parameter.Value;
         }
         else
         {
             tempparameter = new PageParameter();
             tempparameter.Name = parameter.Key;
             tempparameter.Value = parameter.Value;
             tempparameter.Type = ParameterTypeMapScritptUtility.MapToType(parameter.Key).ToString();
             page.PageParameters.Add(tempparameter);
         }
     }
     foreach (Match matchScript in scripts)
     {
         script = script.Replace(
             matchScript.Value,
             PropertyValueTransform.TransformToScript(page, matchScript.Value));
     }
     var code = EngineUtility.CompileExpression(script);
     property.CompiledScript = code;
     property.OrignalScript = updateProperty.Value;
 }
 private static void CreateParameter(PageEvaluataion page, String pName, String pType, String pValue)
 {
     var tempParameter = page.PageParameters.FirstOrDefault(p => p.Name == pName);
     if (tempParameter == null)
     {
         tempParameter = new PageParameter();
         tempParameter.Name = pName;
         tempParameter.Type = pType;
         tempParameter.Value = pValue;
         page.PageParameters.Add(tempParameter);
     }
     else
     {
         tempParameter.Value = pValue;
     }
 }
Esempio n. 6
0
 private void lvParameters_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     if (SelectedEntity != null && SelectedChanged != null)
     {
         var config = lvParameters.SelectedItem as ConfigObject;
         if (config != null)
         {
             var page = ConfigToolContext.Instance.ToolViews.GetDrawArea().Schema;
             if (page != null)
             {
                 if (SelectedEntity.Id.IndexOf("Input") < 0)
                 {
                     var parameter = page.GetPageParameter(SelectedEntity.Id, config.Category);
                     if (parameter != null)
                     {
                         var item = new ListViewItem();
                         item.Tag = parameter;
                         if (String.IsNullOrEmpty(config.Children))
                             item.Text = String.Format("<{0}>.{1}", parameter.Name, config.Script);
                         else
                             item.Text = String.Format(config.Script, parameter.Name);
                         SelectedChanged(sender, new ListViewItemSelectionChangedEventArgs(item, 0, true));
                     }
                 }
                 else
                 {
                     var item = new ListViewItem();
                     var parameter = new PageParameter();
                     parameter.Name = SelectedEntity.Id;
                     parameter.Type = config.Category;
                     parameter.Value = String.Empty;
                     item.Tag = parameter;
                     if (String.IsNullOrEmpty(config.Children))
                         item.Text = String.Format("<{0}>.{1}", parameter.Name, config.Script);
                     else
                         item.Text = String.Format(config.Script, parameter.Name);
                     SelectedChanged(sender, new ListViewItemSelectionChangedEventArgs(item, 0, true));
                 }
             }
         }
     }
 }