Пример #1
0
 public PropertyItemClassPointer(string key, IClass owner, PropertyClass property)
     : base(key, owner)
 {
     _property = (PropertyClass)property.Clone();
     _property.SetHolder(owner);
     _pointer = owner.VariableCustomType;
     if (_pointer == null)
     {
         throw new DesignerException("null VariableCustomType creating PropertyItemClassPointer");
     }
 }
 public static ActionClass createAction(IClass holder, IProperty ei, XmlObjectWriter writer, XmlNode node, IMethod scopeMethod, IActionsHolder actsHolder, Form caller)
 {
     if (ei != null)
     {
         IPropertyEx pp = ei as IPropertyEx;
         if (pp != null)
         {
             ActionClass act = new ActionClass(pp.RootPointer);
             act.ActionMethod = pp.CreateSetterMethodPointer(act);
             act.ActionName   = act.ActionMethod.DefaultActionName;
             act.ActionHolder = actsHolder;
             if (pp.RootPointer.CreateNewAction(act, writer, scopeMethod, caller))
             {
                 return(act);
             }
         }
         else
         {
             PropertyClass pc = ei as PropertyClass;
             if (pc != null)
             {
                 PropertyClass pc2 = (PropertyClass)pc.Clone();
                 pc2.SetHolder(holder);
                 ActionClass act = new ActionClass(holder.RootPointer);
                 act.ActionMethod = pc2.CreateSetterMethodPointer(act);
                 act.ActionName   = act.ActionMethod.DefaultActionName;                      // pc.Holder.CodeName + ".Set" + pc.Name;
                 act.ActionHolder = actsHolder;
                 if (holder.RootPointer.CreateNewAction(act, writer, scopeMethod, caller))
                 {
                     return(act);
                 }
             }
             else
             {
             }
         }
     }
     return(null);
 }