public override void Execute() { if (this.SceneViewModel.TextSelectionSet.IsActive) { this.SceneViewModel.TextSelectionSet.TextEditProxy.EditingElement.SelectAll(); } else { SelectionManagerPerformanceHelper.MeasurePerformanceUntilPipelinePostSceneUpdate(this.SceneViewModel.DesignerContext.SelectionManager, PerformanceEvent.SelectElement); ISceneElementCollection elementCollection = (ISceneElementCollection) new SceneElementCollection(); SceneElement selectionRoot = SelectAllCommand.GetSelectionRoot(this.SceneViewModel); if (selectionRoot != null) { foreach (SceneElement element in SceneElementHelper.GetElementTree(selectionRoot)) { if (this.IsSelectable(element, selectionRoot)) { elementCollection.Add(element); } } } this.SceneViewModel.ElementSelectionSet.SetSelection((ICollection <SceneElement>)elementCollection, (SceneElement)null); this.SceneViewModel.PathPartSelectionSet.Clear(); } }
private void ApplyRelativeTransform_Execute() { if (!(this.ComponentType != (Type)null) || !this.IsRelativeTransform || this.ObjectSet.RepresentativeSceneNode == null) { return; } SelectionManagerPerformanceHelper.MeasurePerformanceUntilPipelinePostSceneUpdate(this.designerContext.SelectionManager, PerformanceEvent.EditSingleTransformProperty); using (SceneEditTransaction editTransaction = this.ObjectSet.ViewModel.CreateEditTransaction(StringTable.UndoUnitTransformPaneRelativeTransform)) { LocalValueObjectSet localValueObjectSet = (LocalValueObjectSet)this.PropertyLookup.ActiveObjectSet; foreach (SceneNode sceneNode in this.ObjectSet.Objects) { object currentTransform; if (this.PropertyLookup.TransformType == TransformType.Transform2D) { if (this.PropertyLookup.IsCompositeSupported) { currentTransform = sceneNode.GetComputedValue(this.TransformProperty.Reference); if (currentTransform != null && !PlatformTypes.CompositeTransform.IsAssignableFrom((ITypeId)this.ObjectSet.ProjectContext.GetType(currentTransform.GetType()))) { currentTransform = (object)null; } } else { currentTransform = sceneNode.GetComputedValueAsWpf(this.TransformProperty.Reference); } } else { currentTransform = sceneNode.GetComputedValue(this.TransformProperty.Reference); } object valueToSet = this.ApplyRelativeTransform(localValueObjectSet.LocalValue, currentTransform); if (sceneNode is Base2DElement && this.TransformProperty.Reference.LastStep.Equals((object)Base2DElement.RenderTransformProperty) && sceneNode.IsSet(Base2DElement.RenderTransformOriginProperty).Equals((object)PropertyState.Unset)) { sceneNode.SetValueAsWpf(Base2DElement.RenderTransformOriginProperty, (object)new Point(0.5, 0.5)); } switch (this.PropertyLookup.TransformType) { case TransformType.Transform2D: if (this.PropertyLookup.IsCompositeSupported) { sceneNode.SetValue(this.TransformProperty.Reference, valueToSet); break; } sceneNode.SetValueAsWpf(this.TransformProperty.Reference, (object)((ICanonicalTransform)valueToSet).TransformGroup); break; case TransformType.Transform3D: sceneNode.SetValue(this.TransformProperty.Reference, (object)((CanonicalTransform3D)valueToSet).ToTransform()); break; case TransformType.PlaneProjection: sceneNode.SetValue(this.TransformProperty.Reference, valueToSet); break; } } editTransaction.Commit(); } }
public override void Select() { SelectionManagerPerformanceHelper.MeasurePerformanceUntilPipelinePostSceneUpdate(this.TimelineItemManager.ViewModel.DesignerContext.SelectionManager, PerformanceEvent.SelectElement); SceneElementSelectionSet elementSelectionSet = this.TimelineItemManager.ViewModel.ElementSelectionSet; if (!this.IsSelectable) { elementSelectionSet.Clear(); } else { elementSelectionSet.SetSelection(this.Element); } }