示例#1
0
        public PresentationAspect(IGenericAspect aspect)
        {
            this.Name = aspect.Name;

            foreach (AspectTarget target in aspect.Targets)
            {
                PresentationAspectTarget presTarget = new PresentationAspectTarget(this, target);
                this.Targets.Add(presTarget);
            }

            foreach (IPointcut pointcut in aspect.Pointcuts)
            {
                PresentationPointcut presPointcut = new PresentationPointcut(this, pointcut);
                this.Pointcuts.Add(presPointcut);
            }

            foreach (object mixin in aspect.Mixins)
            {
                string typeName = "";
                if (mixin is Type)
                {
                    typeName = ((Type)mixin).FullName;
                }
                else
                {
                    typeName = (string)mixin;
                }

                PresentationMixin presMixin = new PresentationMixin(this, typeName);
                this.Mixins.Add(presMixin);
            }
        }
示例#2
0
        public MixinNode(PresentationMixin mixin)
            : base(mixin.TypeName)
        {
            this.mixin = mixin;

            this.ImageIndex = 5;
            this.SelectedImageIndex = 5;
        }
        private static void SerializeMixin(PresentationMixin mixin, XmlDocument xmlDoc, XmlNode aspectNode)
        {
            XmlNode mixinNode = xmlDoc.CreateElement("mixin");

            XmlAttribute typeAttrib = xmlDoc.CreateAttribute("type");
            typeAttrib.Value = mixin.TypeName;
            mixinNode.Attributes.Append(typeAttrib);

            aspectNode.AppendChild(mixinNode);
        }
 public MixinProperties(PresentationMixin mixin)
 {
     this.mixin = mixin;
 }
 private void RemoveMixin(PresentationMixin mixin)
 {
     mixin.Aspect.Mixins.Remove(mixin);
     RefreshAll();
 }
 private void AddMixin(PresentationAspect aspect)
 {
     PresentationMixin mixin = new PresentationMixin(aspect);
     mixin.TypeName = "[New Mixin]";
     aspect.Mixins.Add(mixin);
     RefreshAll();
 }