Ejemplo n.º 1
0
		public void Remove(CompositionItem element)
		{
			Remove(element.Element, element.Type == CompositionType.Composition);
		}
		public override void Load(SettingsStorage storage)
		{
			base.Load(storage);

			var compositionType = storage.GetValue<CompositionType>("CompositionType");
			var compositionId = storage.GetValue<Guid>("CompositionId");

			var registry = ConfigManager.GetService<StrategiesRegistry>();

			var composition = compositionType == CompositionType.Composition
				                  ? registry.Compositions.FirstOrDefault(c => c.TypeId == compositionId)
				                  : registry.Strategies.FirstOrDefault(c => c.TypeId == compositionId);

			Composition = new CompositionItem(compositionType, (CompositionDiagramElement)composition);

			var layout = storage.GetValue<string>("Layout");

			if (!layout.IsEmpty())
				_layoutManager.LoadLayout(layout);

			var diagramEditor = storage.GetValue<SettingsStorage>("DiagramEditor");

			if (diagramEditor != null)
				DiagramEditor.Load(diagramEditor);
		}
Ejemplo n.º 3
0
		public void Discard(CompositionItem element)
		{
			Discard(element.Element, element.Type == CompositionType.Composition);
		}
		private void CompositionPropertyChanged(CompositionItem oldComposition, CompositionItem newComposition)
		{
			if (oldComposition != null)
				oldComposition.Element.Changed -= CompositionChanged;

			if (newComposition != null)
			{
				NoStrategyLabel.Visibility = Visibility.Hidden;
				DiagramEditor.Composition = newComposition.Element;

				newComposition.Element.Changed += CompositionChanged;
			}
			else
			{
				NoStrategyLabel.Visibility = Visibility.Visible;
				DiagramEditor.Composition = new CompositionDiagramElement { Name = string.Empty };
			}

			IsChanged = false;
		}
Ejemplo n.º 5
0
		private void OpenLive(CompositionItem item)
		{
			var strategy = new DiagramStrategy
			{
				Composition = _strategiesRegistry.Clone(item.Element)
			};

			var content = new LiveStrategyControl
			{
				Strategy = strategy
			};

			_layoutManager.OpenDocumentWindow(content);
		}
Ejemplo n.º 6
0
		private void OpenComposition(CompositionItem item)
		{
			if (item == null)
				throw new ArgumentNullException(nameof(item));

			var content = new DiagramEditorControl
			{
				Composition = item
			};

            _layoutManager.OpenDocumentWindow(content);
		}
Ejemplo n.º 7
0
		private void AddCommand_OnExecuted(object sender, ExecutedRoutedEventArgs e)
		{
			var type = (CompositionType)e.Parameter;

			var element = new CompositionDiagramElement
			{
				Name = "New " + type.ToString().ToLower()
			};
			var item = new CompositionItem(type, element);

			_strategiesRegistry.Save(item);

			OpenComposition(item);
		}
Ejemplo n.º 8
0
		private void SolutionExplorer_OnOpen(CompositionItem element)
		{
			OpenComposition(element);
		}