Esempio n. 1
0
        protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
        {
            PropertyReference propertyReference1 = this.GetMediaTimelinePropertyReference(propertyReference);

            if (propertyReference1 != null)
            {
                MediaTimelineSceneNode owningTimeline = this.OwningTimeline;
                if (owningTimeline != null)
                {
                    if (modification == SceneNode.Modification.ClearValue)
                    {
                        owningTimeline.ClearValue(propertyReference1);
                        return;
                    }
                    if (modification != SceneNode.Modification.SetValue)
                    {
                        return;
                    }
                    owningTimeline.SetValue(propertyReference1, valueToSet);
                    return;
                }
            }
            base.ModifyValue(propertyReference, valueToSet, modification, index);
        }
Esempio n. 2
0
        protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
        {
            bool flag = DesignTimeProperties.EulerAnglesProperty.Equals((object)propertyReference.LastStep);

            if (!flag || !this.ViewModel.AnimationEditor.IsKeyFraming || this.ViewModel.IsForcingBaseValue)
            {
                base.ModifyValue(propertyReference, valueToSet, modification, index);
            }
            if (!flag)
            {
                return;
            }
            propertyReference = propertyReference.Subreference(0, propertyReference.Count - 2);
            propertyReference = propertyReference.Append(Base3DElement.RotateTransform3DRotationProperty);
            if (valueToSet is Vector3D)
            {
                Quaternion quaternion = Helper3D.QuaternionFromEulerAngles((Vector3D)valueToSet);
                valueToSet = (object)new AxisAngleRotation3D(RoundingHelper.RoundDirection(quaternion.Axis), RoundingHelper.RoundAngle(quaternion.Angle));
            }
            base.ModifyValue(propertyReference, valueToSet, modification, index);
        }
Esempio n. 3
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (modification == SceneNode.Modification.SetValue || modification == SceneNode.Modification.InsertValue)
     {
         ItemsControlElement.ClearMutuallyExclusivePropertyIfNeeded((SceneElement)this, propertyReference);
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 4
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (modification == SceneNode.Modification.SetValue || modification == SceneNode.Modification.InsertValue)
     {
         ReferenceStep firstStep = propertyReference.FirstStep;
         if (valueToSet is bool && (bool)valueToSet && PanelElement.IsItemsHostProperty.Equals((object)firstStep))
         {
             ISceneNodeCollection <SceneNode> collectionForProperty = this.GetCollectionForProperty(PanelElement.ChildrenProperty);
             if (collectionForProperty != null)
             {
                 foreach (SceneNode sceneNode in (IEnumerable <SceneNode>)collectionForProperty)
                 {
                     SceneElement element = sceneNode as SceneElement;
                     if (element != null)
                     {
                         this.ViewModel.AnimationEditor.DeleteAllAnimationsInSubtree(element);
                     }
                 }
                 collectionForProperty.Clear();
             }
         }
         else if (PanelElement.ChildrenProperty.Equals((object)firstStep))
         {
             IProperty property = this.ProjectContext.ResolveProperty(PanelElement.IsItemsHostProperty);
             if (property != null)
             {
                 object localValue = this.GetLocalValue((IPropertyId)property);
                 if (localValue != null && (bool)localValue)
                 {
                     this.ClearLocalValue((IPropertyId)property);
                 }
             }
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 5
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (propertyReference.LastStep.Equals((object)ChangePropertyActionNode.PropertyNameProperty) && modification == SceneNode.Modification.ClearValue)
     {
         this.ClearValue(ChangePropertyActionNode.ValueProperty);
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 6
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     this.EnsureKeySplineIfNeeded(propertyReference);
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 7
0
        private void ModifyTextValue(IViewTextRange textRange, PropertyReference propertyReference, int index, object value, SceneNode.Modification modification)
        {
            if (value is Microsoft.Expression.DesignModel.DocumentModel.DocumentNode || value is MarkupExtension)
            {
                return;
            }
            PerformanceUtility.MeasurePerformanceUntilRender(PerformanceEvent.TextSetProperty);
            value = RichTextBoxRangeElement.GetUpdatedComplexProperty(textRange, propertyReference, index, value, modification);
            ReferenceStep firstStep = propertyReference.FirstStep;
            IProperty     property  = textRange.Platform.Metadata.ResolveProperty((IPropertyId)firstStep);

            if (property != null)
            {
                if (modification == SceneNode.Modification.ClearValue)
                {
                    value = this.ViewModel.DefaultView.ConvertToWpfValue(this.ViewModel.DefaultView.ConvertFromWpfPropertyReference(propertyReference).LastStep.GetDefaultValue(typeof(object)));
                }
                if (property.Equals((object)RichTextBoxRangeElement.TextIndentPropertyId) && (double)value < 0.0)
                {
                    value = (object)0.0;
                }
                textRange.ApplyPropertyValue((IPropertyId)property, value);
                bool flag = RichTextBoxElement.IsParagraphProperty(propertyReference);
                PropertyReference propertyReference1 = DesignTimeProperties.GetShadowPropertyReference(propertyReference, (ITypeId)this.Type);
                if (propertyReference1 != null && !DesignTimeProperties.UseShadowPropertyForInstanceBuilding(this.ViewModel.Document.DocumentContext.TypeResolver, (IPropertyId)propertyReference1.FirstStep))
                {
                    propertyReference1 = (PropertyReference)null;
                }
                if (modification == SceneNode.Modification.ClearValue && propertyReference1 == null)
                {
                    propertyReference1 = propertyReference;
                }
                if (propertyReference1 != null)
                {
                    IViewTextElement viewTextElement1 = (IViewTextElement)null;
                    if (textRange.Start.CompareTo(textRange.End) != 0 || textRange.Start.CompareTo(((IViewTextElement)textRange.Start.Parent).ContentStart) != 0 && textRange.Start.CompareTo(((IViewTextElement)textRange.Start.Parent).ContentEnd) != 0)
                    {
                        for (IViewTextPointer viewTextPointer = textRange.Start; viewTextPointer != null && viewTextPointer.CompareTo(textRange.End) <= 0; viewTextPointer = viewTextPointer.GetNextInsertionPosition(LogicalDirection.Forward))
                        {
                            IViewTextElement viewTextElement2 = viewTextPointer.Parent as IViewTextElement;
                            if (viewTextElement2 != null && (viewTextElement1 == null || viewTextElement1.PlatformSpecificObject != viewTextElement2.PlatformSpecificObject))
                            {
                                viewTextElement1 = viewTextElement2;
                                if (viewTextElement1 != null && (flag && viewTextElement1 is Paragraph || !flag && viewTextElement1 is Run))
                                {
                                    if (modification == SceneNode.Modification.ClearValue)
                                    {
                                        propertyReference1.ClearValue((object)viewTextElement1);
                                    }
                                    else
                                    {
                                        propertyReference1.SetValue((object)viewTextElement1, value);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (property.Equals((object)RichTextBoxRangeElement.ForegroundProperty) || property.Equals((object)RichTextBoxRangeElement.TextElementForegroundProperty))
            {
                TextBlockEditProxy textBlockEditProxy = this.TextEditProxy as TextBlockEditProxy;
                if (textBlockEditProxy != null)
                {
                    textBlockEditProxy.UpdateCaretBrush();
                }
            }
            if (this.TextEditProxy == null)
            {
                return;
            }
            this.TextEditProxy.Serialize();
            this.TextEditProxy.UpdateDocumentModel();
        }
Esempio n. 8
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (!this.ShouldSerialize && this.ViewModel != null && (modification == SceneNode.Modification.InsertValue || modification == SceneNode.Modification.SetValue))
     {
         this.ShouldSerialize = true;
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 9
0
        protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
        {
            base.ModifyValue(propertyReference, valueToSet, modification, index);
            if (this.ViewModel.ActiveEditContext != null && propertyReference != null)
            {
                if (this.ViewModel.ActiveEditContext.OutOfPlaceOverriddenProperties == null)
                {
                    this.ViewModel.ActiveEditContext.OutOfPlaceOverriddenProperties = (ICollection <IProperty>) new HashSet <IProperty>();
                }
                if (!this.ViewModel.ActiveEditContext.OutOfPlaceOverriddenProperties.Contains((IProperty)propertyReference.FirstStep))
                {
                    this.ViewModel.ActiveEditContext.OutOfPlaceOverriddenProperties.Add((IProperty)propertyReference.FirstStep);
                }
            }
            if (this.ViewModel.AnimationEditor.IsCurrentlyAnimated((SceneNode)this, propertyReference, propertyReference.Count))
            {
                return;
            }
            IViewObject viewTargetElement = this.ViewTargetElement;

            if (viewTargetElement == null)
            {
                return;
            }
            DocumentNode correspondingDocumentNode = this.ViewModel.DefaultView.GetCorrespondingDocumentNode(viewTargetElement, false);

            if (correspondingDocumentNode == null || correspondingDocumentNode == this.DocumentNode || (!correspondingDocumentNode.IsInDocument || correspondingDocumentNode.DocumentRoot != this.ViewModel.DocumentRoot))
            {
                return;
            }
            SceneNode     sceneNode     = this.ViewModel.GetSceneNode(correspondingDocumentNode);
            ReferenceStep referenceStep = propertyReference[0];

            if (sceneNode == null || referenceStep.MemberType == MemberType.DesignTimeProperty || (!referenceStep.TargetType.IsAssignableFrom(sceneNode.TargetType) || sceneNode.IsSet((IPropertyId)referenceStep) != PropertyState.Set))
            {
                return;
            }
            sceneNode.ClearLocalValue((IPropertyId)referenceStep);
        }
Esempio n. 10
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (propertyReference.LastStep.Equals((object)ArcShapeElement.ArcThicknessUnitProperty) && valueToSet != null)
     {
         string str = valueToSet.ToString();
         if (str == "Pixel")
         {
             this.UpdateArcThicknessToPixel();
         }
         else if (str == "Percent")
         {
             this.UpdateArcThicknessToPercent();
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 11
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (!this.ShouldSerialize && this.ViewModel != null && (modification == SceneNode.Modification.InsertValue || modification == SceneNode.Modification.SetValue))
     {
         this.ShouldSerialize = true;
     }
     if (this.StateGroup != null && !this.StateGroup.ShouldSerialize)
     {
         this.StateGroup.ShouldSerialize = true;
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
     if (this.ViewModel == null || !propertyReference.FirstStep.Equals((object)VisualStateTransitionSceneNode.GeneratedEasingFunctionProperty) && !propertyReference.FirstStep.Equals((object)VisualStateTransitionSceneNode.GeneratedDurationProperty) && !propertyReference.FirstStep.Equals((object)VisualStateManagerSceneNode.TransitionEffectProperty))
     {
         return;
     }
     this.UpdateTransitionStoryboard(true, (Dictionary <TimelineSceneNode.PropertyNodePair, TransitionAnimationData>)null);
 }
Esempio n. 12
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (PlatformTypes.ItemsControl.IsAssignableFrom((ITypeId)this.Type) && (modification == SceneNode.Modification.SetValue || modification == SceneNode.Modification.InsertValue))
     {
         ItemsControlElement.ClearMutuallyExclusivePropertyIfNeeded((SceneElement)this, propertyReference);
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 13
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     LayoutUtilities.DetectLayoutOverrides((SceneElement)this, propertyReference);
     if (this is ITextFlowSceneNode)
     {
         this.ClearPropertyOnTextRuns(propertyReference);
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 14
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (propertyReference.LastStep.Equals((object)GradientBrushNode.MappingModeProperty))
     {
         object obj = this.ConvertToWpfValue(valueToSet);
         if (obj is BrushMappingMode)
         {
             BrushMappingMode mappingMode = (BrushMappingMode)obj;
             this.UpdateBrushForMappingModeChange(propertyReference.Subreference(0, propertyReference.Count - 2), mappingMode);
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 15
0
        private static object GetUpdatedComplexProperty(IViewTextRange target, PropertyReference propertyReference, int index, object value, SceneNode.Modification modification)
        {
            ReferenceStep firstStep = propertyReference.FirstStep;
            IProperty     property  = target.Platform.Metadata.ResolveProperty((IPropertyId)firstStep);

            if (property != null && RichTextBoxRangeElement.IsComplexProperty((IPlatformMetadata)target.Platform.Metadata, property) && propertyReference.Count > 1)
            {
                PropertyReference subReference = RichTextBoxRangeElement.CreateSubReference(propertyReference);
                object            target1;
                if (target.IsEmpty)
                {
                    target1 = target.GetPropertyValue((IPropertyId)property);
                }
                else
                {
                    IViewTextPointer viewTextPointer = target.Start;
                    if (!viewTextPointer.IsAtInsertionPosition)
                    {
                        viewTextPointer = viewTextPointer.GetNextInsertionPosition(LogicalDirection.Forward);
                    }
                    target1 = !RichTextBoxElement.IsParagraphProperty(propertyReference) ? viewTextPointer.Parent.GetValue(property) : viewTextPointer.Paragraph.GetValue(property);
                }
                Freezable freezable = target1 as Freezable;
                if (freezable != null)
                {
                    target1 = (object)freezable.Clone();
                }
                if (target1 != null)
                {
                    switch (modification)
                    {
                    case SceneNode.Modification.SetValue:
                        target1 = subReference.SetValue(target1, value);
                        break;

                    case SceneNode.Modification.InsertValue:
                        subReference.Insert(target1, index, value);
                        break;

                    case SceneNode.Modification.RemoveValue:
                        subReference.RemoveAt(target1, index);
                        break;

                    default:
                        throw new InvalidEnumArgumentException("modification", (int)modification, typeof(SceneNode.Modification));
                    }
                }
                value = target1;
            }
            return(value);
        }
Esempio n. 16
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (propertyReference.Count == 1 && propertyReference.FirstStep.Equals((object)MediaTimelineSceneNode.SourceProperty))
     {
         bool flag = false;
         if (modification == SceneNode.Modification.SetValue)
         {
             Uri uri = valueToSet as Uri;
             if (uri != (Uri)null)
             {
                 this.ClearLocalValue(TimelineSceneNode.DurationProperty);
                 Uri         mediaUri    = this.ViewModel.XamlDocument.DocumentContext.MakeDesignTimeUri(uri);
                 MediaOpener mediaOpener = new MediaOpener(uri.OriginalString, mediaUri, this.DesignerContext.MessageDisplayService);
                 bool?       nullable    = mediaOpener.OpenMedia();
                 if (nullable.HasValue && nullable.Value)
                 {
                     Duration naturalDuration = mediaOpener.Player.NaturalDuration;
                     if (naturalDuration.HasTimeSpan)
                     {
                         this.SetLocalValue(DesignTimeProperties.DesignTimeNaturalDurationProperty, (object)naturalDuration.TimeSpan.TotalSeconds);
                     }
                     else
                     {
                         flag = true;
                     }
                 }
                 else
                 {
                     flag = true;
                 }
             }
         }
         else if (modification == SceneNode.Modification.ClearValue)
         {
             this.ClearLocalValue(TimelineSceneNode.DurationProperty);
             flag = true;
         }
         if (flag)
         {
             this.SetLocalValue(DesignTimeProperties.DesignTimeNaturalDurationProperty, (object)0.0);
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 17
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (propertyReference.FirstStep.Equals((object)TextBlockElement.TextProperty))
     {
         ISceneNodeCollection <SceneNode> collectionForProperty = this.GetCollectionForProperty(TextBlockElement.InlinesProperty);
         if (collectionForProperty != null)
         {
             collectionForProperty.Clear();
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
Esempio n. 18
0
 protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
 {
     if (!this.ShouldSerialize && modification == SceneNode.Modification.SetValue)
     {
         ReferenceStep lastStep = propertyReference.LastStep;
         if (modification == SceneNode.Modification.SetValue)
         {
             this.ShouldSerialize = true;
             StoryboardTimelineSceneNode timelineSceneNode = this.Parent as StoryboardTimelineSceneNode;
             if (timelineSceneNode != null)
             {
                 timelineSceneNode.ShouldSerialize = true;
             }
         }
     }
     base.ModifyValue(propertyReference, valueToSet, modification, index);
 }
        protected override void ModifyValue(PropertyReference propertyReference, object valueToSet, SceneNode.Modification modification, int index)
        {
            base.ModifyValue(propertyReference, valueToSet, modification, index);
            if (!this.IsInDocument)
            {
                return;
            }
            SceneNode sourceNode = (SceneNode)null;
            bool      flag       = this.IsSet(BehaviorEventTriggerBaseNode.BehaviorSourceObjectProperty) == PropertyState.Set;
            int       num        = (int)this.IsSet(BehaviorEventTriggerBaseNode.BehaviorSourceNameProperty);

            if (propertyReference.LastStep.Equals((object)BehaviorEventTriggerBaseNode.BehaviorSourceObjectProperty))
            {
                this.ViewModel.Document.OnUpdatedEditTransaction();
                if (modification == SceneNode.Modification.SetValue)
                {
                    sourceNode = this.ViewModel.CreateSceneNode(this.GetComputedValue(propertyReference));
                }
                else if (modification == SceneNode.Modification.ClearValue)
                {
                    sourceNode = BehaviorHelper.FindNamedElement((SceneNode)this, this.SourceName);
                }
            }
            else if (!flag && propertyReference.LastStep.Equals((object)BehaviorEventTriggerBaseNode.BehaviorSourceNameProperty))
            {
                sourceNode = BehaviorHelper.FindNamedElement((SceneNode)this, valueToSet as string);
            }
            BehaviorEventTriggerNode.FixUpEventNameImpl(this, sourceNode);
        }