예제 #1
0
                public void SetModifiedState(UndoEngine engine, IComponent component, MemberDescriptor member)
                {
                    // Console.WriteLine ("ComponentChangeAction.SetModifiedState (" + (_componentName != null ? (_componentName + ".") : "") +
                    //         member.Name + "): " +
                    //         (((PropertyDescriptor)member).GetValue (component) == null ? "null" :
                    //         ((PropertyDescriptor)member).GetValue (component).ToString ()));
                    ComponentSerializationService serializationService = engine.GetRequiredService(
                        typeof(ComponentSerializationService)) as ComponentSerializationService;

                    _afterChange = serializationService.CreateStore();
                    serializationService.SerializeMemberAbsolute(_afterChange, component, member);
                    _afterChange.Close();
                }
예제 #2
0
        ICollection IDesignerSerializationService.Deserialize(object serializationData)
        {
            if (serializationData == null)
            {
                throw new ArgumentNullException("serializationData");
            }

            ComponentSerializationService service = LoaderHost.GetService(typeof(ComponentSerializationService)) as ComponentSerializationService;
            SerializationStore            store   = serializationData as SerializationStore;

            if (service != null && serializationData != null)
            {
                return(service.Deserialize(store, this.LoaderHost.Container));
            }
            return(new object[0]);
        }
예제 #3
0
                public ComponentAddRemoveAction(UndoEngine engine, IComponent component, bool added)
                {
                    if (component == null)
                    {
                        throw new ArgumentNullException("component");
                    }
                    // Console.WriteLine ((added ? "Component*Add*RemoveAction" : "ComponentAdd*Remove*Action") +
                    //         " (" + component.Site.Name + ")");
                    ComponentSerializationService serializationService = engine.GetRequiredService(
                        typeof(ComponentSerializationService)) as ComponentSerializationService;

                    _serializedComponent = serializationService.CreateStore();
                    serializationService.Serialize(_serializedComponent, component);
                    _serializedComponent.Close();

                    _added         = added;
                    _componentName = component.Site.Name;
                }
예제 #4
0
        private void SerializeCore(SerializationStore store, object value, bool absolute)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }

            CodeDomSerializationStore codeDomStore = store as CodeDomSerializationStore;

            if (store == null)
            {
                throw new InvalidOperationException("store type unsupported");
            }

            codeDomStore.AddObject(value, absolute);
        }
예제 #5
0
        object IDesignerSerializationService.Serialize(ICollection objects)
        {
            if (objects == null)
            {
                throw new ArgumentNullException("objects");
            }

            ComponentSerializationService service = LoaderHost.GetService(typeof(ComponentSerializationService)) as ComponentSerializationService;

            if (service != null)
            {
                SerializationStore store = service.CreateStore();
                foreach (object o in objects)
                {
                    service.Serialize(store, o);
                }
                store.Close();
                return(store);
            }
            return(null);
        }
예제 #6
0
                // Reminder: _component might no longer be a valid instance
                // so one should request a new one.
                //
                public override void Undo(UndoEngine engine)
                {
                    if (_beforeChange == null)
                    {
                        // Console.WriteLine ("ComponentChangeAction.Undo: ERROR: UndoUnit is not complete.");
                        return;
                    }

                    // Console.WriteLine ("ComponentChangeAction.Undo (" + _componentName + "." + _member.Name + ")");
                    IDesignerHost host = (IDesignerHost)engine.GetRequiredService(typeof(IDesignerHost));

                    _component = host.Container.Components[_componentName];

                    ComponentSerializationService serializationService = engine.GetRequiredService(
                        typeof(ComponentSerializationService)) as ComponentSerializationService;

                    serializationService.DeserializeTo(_beforeChange, host.Container);

                    SerializationStore tmp = _beforeChange;

                    _beforeChange = _afterChange;
                    _afterChange  = tmp;
                }
예제 #7
0
        private void SerializeMemberCore(SerializationStore store, object owningObject, MemberDescriptor member, bool absolute)
        {
            if (member == null)
            {
                throw new ArgumentNullException("member");
            }
            if (owningObject == null)
            {
                throw new ArgumentNullException("owningObject");
            }
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }

            CodeDomSerializationStore codeDomStore = store as CodeDomSerializationStore;

            if (codeDomStore == null)
            {
                throw new InvalidOperationException("store type unsupported");
            }
            codeDomStore.AddMember(owningObject, member, absolute);
        }
예제 #8
0
 public void DeserializeTo(SerializationStore store, IContainer container)
 {
     DeserializeTo(store, container, true);
 }
예제 #9
0
 public abstract void SerializeAbsolute(SerializationStore store, object value);
예제 #10
0
 public abstract void SerializeMemberAbsolute(SerializationStore store, object owningObject, MemberDescriptor member);
예제 #11
0
 public abstract ICollection Deserialize(SerializationStore store);
예제 #12
0
 public abstract ICollection Deserialize(SerializationStore store, IContainer container);
		public override void SerializeMemberAbsolute (SerializationStore store, object owningObject, MemberDescriptor member)
		{
			throw new NotImplementedException ();
		}
 public override void SerializeAbsolute(SerializationStore store, object value)
 {
     throw new NotImplementedException();
 }
예제 #15
0
 public override void DeserializeTo(SerializationStore store, IContainer container, bool validateRecycledTypes, bool applyDefaults)
 {
     DeserializeCore(store, container, validateRecycledTypes, applyDefaults);
 }
예제 #16
0
 public override void SerializeAbsolute(SerializationStore store, object value)
 {
     SerializeCore(store, value, true);
 }
		public abstract ICollection Deserialize (SerializationStore store, IContainer container);
예제 #18
0
 public override ICollection Deserialize(SerializationStore store)
 {
     return(this.Deserialize(store, null));
 }
		public abstract ICollection Deserialize (SerializationStore store);
 public override void DeserializeTo(SerializationStore store, IContainer container, bool validateRecycledTypes, bool applyDefaults)
 {
     throw new NotImplementedException();
 }
 public override void SerializeMemberAbsolute(SerializationStore store, object owningObject, MemberDescriptor member)
 {
     throw new NotImplementedException();
 }
예제 #22
0
 public void DeserializeTo(SerializationStore store, IContainer container, bool validateRecycledTypes)
 {
     DeserializeTo(store, container, validateRecycledTypes, true);
 }
		public override void DeserializeTo (SerializationStore store, IContainer container, bool validateRecycledTypes, bool applyDefaults)
		{
			throw new NotImplementedException ();
		}
예제 #24
0
 public abstract void DeserializeTo(SerializationStore store, IContainer container, bool validateRecycledTypes, bool applyDefaults);
		public override void SerializeAbsolute (SerializationStore store, object value)
		{
			throw new NotImplementedException ();
		}
		public abstract void SerializeAbsolute (SerializationStore store, object value);
 public override ICollection Deserialize(SerializationStore store, IContainer container)
 {
     throw new NotImplementedException();
 }
예제 #28
0
 public override ICollection Deserialize(SerializationStore store, IContainer container)
 {
     return(DeserializeCore(store, container, true, true));
 }
		public abstract void SerializeMemberAbsolute (SerializationStore store, object owningObject, MemberDescriptor member);
예제 #30
0
 public override void Serialize(SerializationStore store, object value)
 {
     SerializeCore(store, value, false);
 }
		public void DeserializeTo (SerializationStore store, IContainer container)
		{
			DeserializeTo (store, container, true);
		}
예제 #32
0
 public override void SerializeMemberAbsolute(SerializationStore store, object owningObject, MemberDescriptor member)
 {
     SerializeMemberCore(store, owningObject, member, true);
 }
		public void DeserializeTo (SerializationStore store, IContainer container, bool validateRecycledTypes)
		{
			DeserializeTo (store, container, validateRecycledTypes, true);
		}
		public abstract void DeserializeTo (SerializationStore store, IContainer container, bool validateRecycledTypes, bool applyDefaults);
		public override ICollection Deserialize (SerializationStore store, IContainer container)
		{
			throw new NotImplementedException ();
		}