public OpenCompositionCommand(CompositionDiagramElement composition)
		{
			if (composition == null) 
				throw new ArgumentNullException(nameof(composition));

			Composition = composition;
		}
 private void OnDebuggerCompositionChanged(CompositionDiagramElement element)
 {
     this.GuiAsync(() =>
     {
         DiagramEditor.Composition = element;
     });
 }
Esempio n. 3
0
        public void Remove(CompositionDiagramElement element, bool isComposition)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            if (isComposition)
            {
                _compositionRegistry.TryRemove(element);
                _compositions.Remove(element);
            }
            else
            {
                _strategies.Remove(element);
            }

            var path = isComposition ? _compositionsPath : _strategiesPath;
            var file = Path.Combine(path, element.GetFileName());

            if (File.Exists(file))
            {
                File.Delete(file);
            }
        }
Esempio n. 4
0
		private void SelectElement(CompositionDiagramElement element, bool isCompositionSelected)
		{
			//StrategiesListBox.SelectedItem = element;
			DiagramEditorControl.Composition = element;

			_isCompositionSelected = isCompositionSelected;
		}
Esempio n. 5
0
        public CompositionDiagramElement Clone(CompositionDiagramElement element)
        {
            var settings = _compositionRegistry.Serialize(element);
            var clone    = _compositionRegistry.Deserialize(settings);

            return(clone);
        }
Esempio n. 6
0
        private void SelectElement(CompositionDiagramElement element, bool isCompositionSelected)
        {
            //StrategiesListBox.SelectedItem = element;
            DiagramEditorControl.Composition = element;

            _isCompositionSelected = isCompositionSelected;
        }
Esempio n. 7
0
        public CompositionDiagramElement Discard(CompositionDiagramElement element, bool isComposition)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            var path             = isComposition ? _compositionsPath : _strategiesPath;
            var file             = Path.Combine(path, element.GetFileName());
            var settings         = _serializer.Deserialize(file);
            var discardedElement = _compositionRegistry.Deserialize(settings);

            if (isComposition)
            {
                // TODO discard in CompositionRegistry
                DiagramElements.Remove(element);
                DiagramElements.Add(discardedElement);

                var index = _compositions.IndexOf(element);
                _compositions[index] = discardedElement;
            }
            else
            {
                var index = _strategies.IndexOf(element);
                _strategies[index] = discardedElement;
            }

            return(discardedElement);
        }
		private void OnDebuggerCompositionChanged(CompositionDiagramElement element)
		{
			this.GuiAsync(() =>
			{
				DiagramEditor.Composition = element;
			});
		}
Esempio n. 9
0
        public void Save(CompositionDiagramElement element, bool isComposition)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            if (!isComposition)
            {
                if (!_strategies.Contains(element))
                {
                    _strategies.Add(element);
                }
            }
            else
            {
                DiagramElements.Add(element);
            }

            var path     = isComposition ? _compositionsPath : _strategiesPath;
            var settings = _compositionRegistry.Serialize(element);
            var file     = Path.Combine(path, element.GetFileName());

            _serializer.Serialize(settings, file);
        }
Esempio n. 10
0
        private string GetCompositionFileName(CompositionDiagramElement element)
        {
#if DEBUG
            return(CheckCreatePath(Path.Combine(CompositionsPath, element.Name.Replace(" ", "") + "DiagramElement.xml")));
#else
            return(CheckCreatePath(Path.Combine(CompositionsPath, element.TypeId + ".xml")));
#endif
        }
Esempio n. 11
0
        public static string GetFileName(this CompositionDiagramElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            return(element.TypeId.ToString().Replace("-", "_") + ".xml");
        }
Esempio n. 12
0
        public OpenCompositionCommand(CompositionDiagramElement composition)
        {
            if (composition == null)
            {
                throw new ArgumentNullException(nameof(composition));
            }

            Composition = composition;
        }
        private void AddCommand_OnExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            var element = new CompositionDiagramElement
            {
                Name = "New strategy"
            };

            Added.SafeInvoke(this, element);
        }
Esempio n. 14
0
        public void RemoveComposition(CompositionDiagramElement element)
        {
            var file = GetCompositionFileName(element);

            if (File.Exists(file))
            {
                File.Delete(file);
            }
        }
		private void AddCommand_OnExecuted(object sender, ExecutedRoutedEventArgs e)
		{
			var element = new CompositionDiagramElement
			{
				Name = "New strategy"
			};

			Added.SafeInvoke(this, element);
		}
Esempio n. 16
0
        public CompositionItem(CompositionType type, CompositionDiagramElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            Type    = type;
            Element = element;
        }
Esempio n. 17
0
        public void Reload(CompositionDiagramElement element, bool isComposition)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            var settings = _compositionRegistry.Serialize(element);

            _compositionRegistry.Load(element, settings);
        }
Esempio n. 18
0
 public void SaveComposition(CompositionDiagramElement element, SettingsStorage data)
 {
     try
     {
         File.WriteAllText(GetCompositionFileName(element), data.SaveSettingsStorage());
     }
     catch (Exception ex)
     {
         this.AddErrorLog(LocalizedStrings.Str3635Params, ex);
     }
 }
Esempio n. 19
0
        private void AddCommand_OnExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            var type = (CompositionType)e.Parameter;

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

            _strategiesRegistry.Save(element, type == CompositionType.Composition);
        }
Esempio n. 20
0
        public void Discard(CompositionDiagramElement element, bool isComposition)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            var path     = isComposition ? _compositionsPath : _strategiesPath;
            var file     = Path.Combine(path, element.GetFileName());
            var settings = _serializer.Deserialize(file);

            _compositionRegistry.Load(element, settings);
        }
Esempio n. 21
0
        private void OnCompositionChanged(CompositionDiagramElement composition)
        {
            composition.IsModifiable = false;

            if (Debugger != null)
            {
                _debuggerSettings = Debugger.Save();
            }

            Debugger = new DiagramDebugger(composition);
            SafeLoadDebuggerSettings();

            DiagramEditor.Composition = composition;
        }
		public ExportCompositionWindow(CompositionDiagramElement composition)
		{
			if (composition == null)
				throw new ArgumentNullException("composition");

			//_composition = new ExportDiagramElement(composition);

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

			var storage = registry.Serialize(composition);
			_composition = registry.DeserializeExported(storage);

			InitializeComponent();

			PropertyGrid.SelectedObject = _composition;
		}
Esempio n. 23
0
        public SolutionExplorerItem(CompositionDiagramElement element, SolutionExplorerItem parent)
            : this(element.TypeId, element.Name, parent)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }

            Element = new CompositionItem(parent.Type, element);
            Type    = parent.Type;
        }
Esempio n. 24
0
		public void Remove(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException("element");

			if (isComposition)
			{
				_compositionRegistry.TryRemove(element);
				_compositions.Remove(element);
			}
			else
				_strategies.Remove(element);

			var path = isComposition ? _compositionsPath : _strategiesPath;
			var file = Path.Combine(path, element.GetFileName());

			if (File.Exists(file))
				File.Delete(file);
		}
        public ExportCompositionWindow(CompositionDiagramElement composition)
        {
            if (composition == null)
            {
                throw new ArgumentNullException(nameof(composition));
            }

            //_composition = new ExportDiagramElement(composition);

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

            var storage = registry.Serialize(composition);

            _composition = registry.DeserializeExported(storage);

            InitializeComponent();

            PropertyGrid.SelectedObject = _composition;
        }
        public SolutionExplorerItem(CompositionDiagramElement element, SolutionExplorerItem parent)
            : this(element.TypeId, element.Name, parent)
        {
            if (element == null)
            {
                throw new ArgumentNullException(nameof(element));
            }

            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }

            Type    = parent.Type;
            Tooltip = element.Description;

            Element = new CompositionItem(parent.Type, element);
            Element.Element.PropertyChanged += OnElementPropertyChanged;
        }
Esempio n. 27
0
		public void Save(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException(nameof(element));

			if (!isComposition)
			{
				if (!_strategies.Contains(element))
					_strategies.Add(element);
			}
			else
				DiagramElements.Add(element);

			var path = isComposition ? _compositionsPath : _strategiesPath;
			var settings = _compositionRegistry.Serialize(element);
			var file = Path.Combine(path, element.GetFileName());

			CultureInfo.InvariantCulture.DoInCulture(() => _serializer.Serialize(settings, file));
		}
		private void CompositionPropertyChanged(CompositionDiagramElement newComposition)
		{
			if (newComposition != null)
			{
				_debugger = new DiagramDebugger(newComposition);
				_debugger.Break += OnDebuggerBreak;

				NoStrategyLabel.Visibility = Visibility.Hidden;
				DiagramEditor.Composition = newComposition;
			}
			else
			{
				_debugger = null;

				NoStrategyLabel.Visibility = Visibility.Visible;
				DiagramEditor.Composition = new CompositionDiagramElement { Name = string.Empty };
			}

			DiagramEditor.Composition.IsModifiable = false;
		}
		private void CompositionPropertyChanged(CompositionDiagramElement oldComposition, CompositionDiagramElement newComposition)
		{
			if (oldComposition != null)
				oldComposition.Changed -= CompositionChanged;

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

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

			IsChanged = false;
		}
        private void CompositionPropertyChanged(CompositionDiagramElement newComposition)
        {
            if (newComposition != null)
            {
                _debugger        = new DiagramDebugger(newComposition);
                _debugger.Break += OnDebuggerBreak;

                NoStrategyLabel.Visibility = Visibility.Hidden;
                DiagramEditor.Composition  = newComposition;
            }
            else
            {
                _debugger = null;

                NoStrategyLabel.Visibility = Visibility.Visible;
                DiagramEditor.Composition  = new CompositionDiagramElement {
                    Name = string.Empty
                };
            }

            DiagramEditor.Composition.IsModifiable = false;
        }
Esempio n. 31
0
        private void CompositionPropertyChanged(CompositionDiagramElement oldComposition, CompositionDiagramElement newComposition)
        {
            if (oldComposition != null)
            {
                oldComposition.Changed -= CompositionChanged;
            }

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

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

            IsChanged = false;
        }
Esempio n. 32
0
		public void Save(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException("element");

			if (!isComposition)
			{
				if (!_strategies.Contains(element))
					_strategies.Add(element);
			}
			else
			{
				DiagramElements.Add(element);

				if (!_compositions.Contains(element))
					_compositions.Add(element);
			}

			var path = isComposition ? _compositionsPath : _strategiesPath;
			var settings = _compositionRegistry.Serialize(element);
			var file = Path.Combine(path, element.GetFileName());

			_serializer.Serialize(settings, file);
		}
Esempio n. 33
0
		public void Reload(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException(nameof(element));

			var settings = _compositionRegistry.Serialize(element);

			_compositionRegistry.Load(element, settings);
		}
Esempio n. 34
0
		public void Discard(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException(nameof(element));

			var path = isComposition ? _compositionsPath : _strategiesPath;
			var file = Path.Combine(path, element.GetFileName());
			var settings = CultureInfo.InvariantCulture.DoInCulture(() => _serializer.Deserialize(file));

			_compositionRegistry.Load(element, settings);
		}
Esempio n. 35
0
		private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
		{
			var element = (CompositionDiagramElement)StrategiesComboBox.SelectedItem;
			
			Composition = element != null ? StrategiesRegistry.Clone(element) : null;
		}
Esempio n. 36
0
 private void OnDebuggerCompositionChanged(CompositionDiagramElement composition)
 {
     GuiDispatcher.GlobalDispatcher.AddAction(() => DiagramEditor.Composition = composition);
 }
Esempio n. 37
0
		private void ElementsControl_OnAdded(DiagramElementsControl ctrl, CompositionDiagramElement element)
		{
			_strategiesRegistry.Save(element, true);
			SelectElement(element, true);
		}
Esempio n. 38
0
        private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var element = (CompositionDiagramElement)StrategiesComboBox.SelectedItem;

            Composition = element != null?StrategiesRegistry.Clone(element) : null;
        }
Esempio n. 39
0
 private void ElementsControl_OnRemoved(DiagramElementsControl ctrl, CompositionDiagramElement element)
 {
     _strategiesRegistry.Remove(element, true);
     SelectElement(null, true);
 }
Esempio n. 40
0
		public CompositionDiagramElement Discard(CompositionDiagramElement element, bool isComposition)
		{
			if (element == null)
				throw new ArgumentNullException("element");

			var path = isComposition ? _compositionsPath : _strategiesPath;
			var file = Path.Combine(path, element.GetFileName());
			var settings = _serializer.Deserialize(file);
			var discardedElement = _compositionRegistry.Deserialize(settings);

			if (isComposition)
			{
				// TODO discard in CompositionRegistry
				DiagramElements.Remove(element);
				DiagramElements.Add(discardedElement);

				var index = _compositions.IndexOf(element);
				_compositions[index] = discardedElement;
			}
			else
			{
				var index = _strategies.IndexOf(element);
				_strategies[index] = discardedElement;
			}

			return discardedElement;
		}
Esempio n. 41
0
		private void ElementsControl_OnSelected(DiagramElementsControl ctrl, CompositionDiagramElement element)
		{
			CheckIsStrategyChanged();
			SelectElement(element, true);
		}
		private void OnCompositionChanged(CompositionDiagramElement composition)
		{
			composition.IsModifiable = false;

			if (Debugger != null)
				_debuggerSettings = Debugger.Save();

			Debugger = new DiagramDebugger(composition);
			SafeLoadDebuggerSettings();

			DiagramEditor.Composition = composition;
		}
		private void OnDebuggerCompositionChanged(CompositionDiagramElement composition)
		{
			GuiDispatcher.GlobalDispatcher.AddAction(() => DiagramEditor.Composition = composition);
		}
Esempio n. 44
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);
		}
Esempio n. 45
0
 private void ElementsControl_OnAdded(DiagramElementsControl ctrl, CompositionDiagramElement element)
 {
     _strategiesRegistry.Save(element, true);
     SelectElement(element, true);
 }
Esempio n. 46
0
		public CompositionDiagramElement Clone(CompositionDiagramElement element)
		{
			var settings = _compositionRegistry.Serialize(element);
			var clone = _compositionRegistry.Deserialize(settings);

			return clone;
		}
Esempio n. 47
0
		private void ElementsControl_OnRemoved(DiagramElementsControl ctrl, CompositionDiagramElement element)
		{
			_strategiesRegistry.Remove(element, true);
			SelectElement(null, true);
		}
Esempio n. 48
0
 private void ElementsControl_OnSelected(DiagramElementsControl ctrl, CompositionDiagramElement element)
 {
     CheckIsStrategyChanged();
     SelectElement(element, true);
 }