Exemplo n.º 1
0
 public void LocateConstructor(IConstructor cp)
 {
     for (int i = 0; i < treeViewConstructors.Nodes.Count; i++)
     {
         TreeNodeConstructor tn = treeViewConstructors.Nodes[i] as TreeNodeConstructor;
         if (tn != null)
         {
             ConstructorPointer cp0 = tn.OwnerPointer as ConstructorPointer;
             if (cp0.IsSameMethod((IMethod)cp))
             {
                 cp0.CopyFrom(cp);
                 treeViewConstructors.SelectedNode = tn;
                 break;
             }
         }
         else
         {
             TreeNodeCustomConstructorPointer tn2 = treeViewConstructors.Nodes[i] as TreeNodeCustomConstructorPointer;
             if (tn2 != null)
             {
                 CustomConstructorPointer cp2 = tn2.OwnerPointer as CustomConstructorPointer;
                 if (cp2.IsSameMethod((IMethod)cp))
                 {
                     treeViewConstructors.SelectedNode = tn2;
                     break;
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        public void ChangeName(string newName)
        {
            LocalVariable lv = this.ClassPointer as LocalVariable;

            _name = newName;
            lv.SetName(_name);
            SetLabelText(_name);
            IList <MethodDiagramViewer> lst = MethodViewer.GetViewer();

            foreach (MethodDiagramViewer dv in lst)
            {
                for (int i = 0; i < dv.Controls.Count; i++)
                {
                    ActionViewerConstructor avc = dv.Controls[i] as ActionViewerConstructor;
                    if (avc != null)
                    {
                        AB_Constructor     bc  = avc.ActionObject as AB_Constructor;
                        ConstructorPointer cp  = bc.ActionData.ActionMethod as ConstructorPointer;
                        LocalVariable      lv2 = cp.Owner as LocalVariable;
                        if (lv2.IsSameObjectRef(lv))
                        {
                            lv2.SetName(_name);
                            avc.ActionName = "Create " + _name;
                            break;
                        }
                    }
                }
            }
        }
        protected override void OnActionNameChanged()
        {
            AB_Constructor ab = this.ActionObject as AB_Constructor;

            if (ab != null && ab.ActionData != null)
            {
                ConstructorPointer cp = ab.ActionData.ActionMethod as ConstructorPointer;
                if (cp.ReturnReceiver != null)
                {
                    _displayData = "Create " + cp.ReturnReceiver.Name;
                }
                else
                {
                    _displayData = "Create " + cp.TypeString;
                }
            }
        }
        protected override void OnCreateContextMenu(ContextMenu cm)
        {
            AB_Constructor     av = this.ActionObject as AB_Constructor;
            ConstructorPointer cp = av.ActionData.ActionMethod as ConstructorPointer;
            LocalVariable      lv = cp.Owner as LocalVariable;

            ConstructorInfo[] cis = lv.ObjectType.GetConstructors();
            if (cis.Length > 1)
            {
                MenuItem mi;
                //
                mi = new MenuItemWithBitmap("Select Constructor", miSelectConstructor_Click, Resources._dialog.ToBitmap());
                cm.MenuItems.Add(mi);
                //
                mi = new MenuItem("-");
                cm.MenuItems.Add(mi);
            }
        }
 public TreeNodeConstructor(ConstructorPointer objectPointer)
     : base(false, objectPointer)
 {
     Text               = objectPointer.MethodSignature;
     ImageIndex         = TreeViewObjectExplorer.IMG_Constructor;
     SelectedImageIndex = ImageIndex;
     //
     if (objectPointer.ConstructInfo != null)
     {
         ParameterInfo[] pifs = objectPointer.ConstructInfo.GetParameters();
         if (pifs != null && pifs.Length > 0)
         {
             for (int i = 0; i < pifs.Length; i++)
             {
                 MethodParamPointer p = new MethodParamPointer();
                 p.Owner      = objectPointer;
                 p.MemberName = pifs[i].Name;
                 TreeNodeMethodParameter tmp = new TreeNodeMethodParameter(false, p);
                 Nodes.Add(tmp);
             }
         }
     }
 }