Example #1
0
        public HostControl3(HostSurface hostSurface, LimnorXmlDesignerLoader2 loader)
        {
            _loader    = loader;
            _pane      = new MultiPanes();
            _pane.Dock = DockStyle.Fill;
            FormViewer fv = new FormViewer(hostSurface.View as Control);

            _pane.AddViewer(fv);
        }
Example #2
0
        public void SetDesigner(MultiPanes mp)
        {
            _panes     = mp;
            _classId   = mp.Loader.ClassID;
            _prjId     = mp.Loader.Project.ProjectGuid;
            _eventPath = new EventPath();
            //
            _eventPath.SetDesignerEx(mp, this);
            _eventPath.Dock = DockStyle.None;            //.Fill;
            //
            int     width = 0, height = 0;
            XmlNode epNode = _eventPath.XmlData;

            if (epNode != null)
            {
                width  = XmlUtil.GetAttributeInt(epNode, XMLATT_Width);
                height = XmlUtil.GetAttributeInt(epNode, XMLATT_Height);
            }
            if (width < splitContainer1.Panel1.Width)
            {
                width = splitContainer1.Panel1.Width * 2;
            }
            if (height < splitContainer1.Panel1.Height)
            {
                height = splitContainer1.Panel1.Height * 2;
            }
            _eventPath.Size = new Size(width, height);
            splitContainer1.Panel1.Controls.Add(_eventPath);
            Dictionary <UInt32, EventPathHolder> eps;
            EventMapService lst = VPLUtil.GetServiceByName(EGSCR) as EventMapService;

            if (lst == null)
            {
                lst = new EventMapService();
                VPLUtil.SetServiceByName(EGSCR, lst);
            }
            if (!lst.TryGetValue(_prjId, out eps))
            {
                eps = new Dictionary <uint, EventPathHolder>();
                lst.Add(_prjId, eps);
            }
            if (eps.ContainsKey(_classId))
            {
                eps[_classId] = this;
            }
            else
            {
                eps.Add(_classId, this);
            }
        }
        private MethodInfoPointer createPointer(MultiPanes viewersHolder, XmlNode rootNode)
        {
            MethodInfoPointer mp;

            if (_val is SubMethodInfo)
            {
                mp = new SubMethodInfoPointer();
            }
            else
            {
                mp = new MethodInfoPointer();
            }
            mp.Owner      = Owner;
            mp.MemberName = _val.Name;
            ParameterInfo[]          pifs = null;
            IDynamicMethodParameters dmp  = Owner.ObjectInstance as IDynamicMethodParameters;

            if (dmp != null)
            {
                pifs = dmp.GetDynamicMethodParameters(_val.Name, null);
            }
            if (pifs == null)
            {
                pifs = _val.GetParameters();
            }
            if (pifs != null && pifs.Length > 0)
            {
                Type[] ts = new Type[pifs.Length];
                for (int i = 0; i < ts.Length; i++)
                {
                    ts[i] = pifs[i].ParameterType;
                }
                mp.ParameterTypes = ts;
            }
            mp.SetMethodInfo(_val);
            return(mp);
        }
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            MethodInfoPointer mp = createPointer(pane, node);

            return(DesignUtil.OnCreateAction(holder, mp, scopeMethod, actsHolder, pane, node) != null);
        }
Example #5
0
 public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
 {
     return(MenuItemDataPropertySelector.createAction(holder, _property, pane.Loader.Writer, node, scopeMethod, actsHolder, pane.FindForm()) != null);
 }
 /// <summary>
 /// called by MultiPanes inside AddViewer
 /// </summary>
 /// <param name="mp"></param>
 public void SetDesigner(MultiPanes mp)
 {
     _holder = mp;
 }
Example #7
0
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            CustomEventPointer ep = new CustomEventPointer(_event, holder);

            return(pane.AssignActions(ep, pane.FindForm()));
        }
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            ClassPointer cp  = project.GetTypedData <ClassPointer>(pane.Loader.ClassID);
            ActionClass  act = new ActionClass(cp);           //holder.Host);

            act.ActionMethod = _method.CreatePointer(holder);
            act.ActionName   = act.ActionMethod.DefaultActionName;          //.ReferenceName;
            act.ActionHolder = actsHolder;
            ClassPointer owner = holder.Host as ClassPointer;

            if (owner == null)
            {
                owner = Owner.Host as ClassPointer;
                if (owner == null)
                {
                    owner = _pointer;
                }
            }
            return(owner.CreateNewAction(act, pane.Loader.Writer, scopeMethod, pane.FindForm()));
        }
 public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
 {
     throw new NotImplementedException("MethodItemWrapper.ExecuteMenuCommand");
 }
Example #10
0
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            EventPointer ep = new EventPointer();

            ep.SetEventInfo(_val);
            ep.Owner = Owner;
            return(pane.AssignActions(ep, pane.FindForm()));
        }
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            PropertyPointer pp = new PropertyPointer();

            pp.SetPropertyInfo(_val);
            pp.Owner = Owner;
            return(DesignUtil.CreateSetPropertyAction(pp, pane.Loader.DesignPane, scopeMethod, actsHolder, pane.FindForm()) != null);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="project"></param>
 /// <param name="holder">action executer</param>
 /// <param name="node"></param>
 /// <param name="pane"></param>
 /// <returns></returns>
 public abstract bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder);
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            DlgSelectEvent dlg = new DlgSelectEvent();

            dlg.LoadData(_menuData);
            DialogResult ret = dlg.ShowDialog(pane.FindForm());

            if (dlg.FrequentlyUsedMethodsChanged)
            {
                _menuData.RemoveMenuCollection();
                pane.Loader.DesignPane.ResetContextMenu();
            }
            if (ret == DialogResult.OK)
            {
                IEvent ei = dlg.ReturnEventInfo;
                if (ei != null)
                {
                    EventPointer ep = ei as EventPointer;
                    if (ep != null)
                    {
                        return(pane.AssignActions(ep, pane.FindForm()));
                    }
                    else
                    {
                        EventClass ec = ei as EventClass;
                        if (ec != null)
                        {
                            EventClass ec2 = (EventClass)ec.Clone();
                            ec2.SetHolder(holder);
                            CustomEventPointer cep = new CustomEventPointer(ec2, this.Owner);
                            return(pane.AssignActions(cep, pane.FindForm()));
                        }
                    }
                }
            }
            return(false);
        }
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            IProperty ei = DesignUtil.EditFrequentlyUsedPropertyList(project, node, _menuData, pane.Loader.DesignPane, pane.FindForm());

            return(createAction(holder, ei, pane.Loader.Writer, node, scopeMethod, actsHolder, pane.FindForm()) != null);
        }
        public override bool ExecuteMenuCommand(LimnorProject project, IClass holder, XmlNode node, MultiPanes pane, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            IMethodPointer mi = DesignUtil.EditFrequentlyUsedMethodList(project, node, _menuData, pane.Loader.DesignPane, pane.FindForm());

            if (mi != null)
            {
                return(DesignUtil.OnCreateAction(holder, mi, scopeMethod, actsHolder, pane, node) != null);
            }
            return(false);
        }
Example #16
0
 public void SetDesigner(MultiPanes mp)
 {
 }