예제 #1
0
        private void mi_createAction(object sender, EventArgs e)
        {
            EventPath ep = this.Parent as EventPath;

            if (ep != null)
            {
                ClassPointer root = ep.Panes.Loader.GetRootId();
                ActionClass  act  = root.CreateSetPropertyAction(_property);
                act.ActionHolder = root;
                if (root.CreateNewAction(act, ep.Panes.Loader.Writer, null, this.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 IAction CreateMethodAction(ILimnorDesignPane designPane, IClass holder, IMethod scopeMethod, IActionsHolder actsHolder)
        {
            ActionClass act = new ActionClass(designPane.RootClass);            //holder.Host);

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

            if (owner == null)
            {
                owner = Owner.Host as ClassPointer;
                if (owner == null)
                {
                    owner = _pointer;
                }
            }
            if (owner.CreateNewAction(act, designPane.Loader.Writer, scopeMethod, designPane.PaneHolder.FindForm()))
            {
                return(act);
            }
            return(null);
        }