Implement tests for SettingsViewModel add and add child commands.
This commit is contained in:
@ -146,6 +146,7 @@ namespace zaaReloaded2.ViewModels
|
||||
{
|
||||
FormatElementViewModel vm = new FormatElementViewModel(element);
|
||||
vm.DisplayString = name;
|
||||
vm.PropertyChanged += ElementViewModel_PropertyChanged;
|
||||
return vm;
|
||||
}
|
||||
|
||||
|
@ -145,6 +145,30 @@ namespace zaaReloaded2.ViewModels
|
||||
|
||||
#region Messages
|
||||
|
||||
public Message<ViewModelMessageContent> AddElementMessage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_addElementMessage == null)
|
||||
{
|
||||
_addElementMessage = new Message<ViewModelMessageContent>();
|
||||
}
|
||||
return _addElementMessage;
|
||||
}
|
||||
}
|
||||
|
||||
public Message<ViewModelMessageContent> AddChildElementMessage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_addChildElementMessage == null)
|
||||
{
|
||||
_addChildElementMessage = new Message<ViewModelMessageContent>();
|
||||
}
|
||||
return _addChildElementMessage;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Commands
|
||||
@ -216,6 +240,7 @@ namespace zaaReloaded2.ViewModels
|
||||
{
|
||||
elementViewModel.PropertyChanged += ElementViewModel_PropertyChanged;
|
||||
Elements.Add(elementViewModel);
|
||||
_settings.Elements.Add(elementViewModel.RevealModelObject() as ElementBase);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -233,9 +258,34 @@ namespace zaaReloaded2.ViewModels
|
||||
|
||||
#region Private methods
|
||||
|
||||
void DoAddElement() { }
|
||||
void DoAddElement()
|
||||
{
|
||||
// Create a new element picker; it will automatically create and
|
||||
// send us a new element view model if one is chosen by the view.
|
||||
ElementPickerViewModel picker = new ElementPickerViewModel(true);
|
||||
picker.ElementChosenMessage.Sent += (sender, args) =>
|
||||
{
|
||||
ElementViewModel newVM = args.Content.ViewModel as ElementViewModel;
|
||||
AddElementViewModel(newVM);
|
||||
};
|
||||
AddElementMessage.Send(new ViewModelMessageContent(picker));
|
||||
}
|
||||
|
||||
void DoAddChildElement() { }
|
||||
void DoAddChildElement()
|
||||
{
|
||||
if (CanAddChildElement())
|
||||
{
|
||||
// Create a new element picker; it will automatically create and
|
||||
// send us a new element view model if one is chosen by the view.
|
||||
ElementPickerViewModel picker = new ElementPickerViewModel(false);
|
||||
picker.ElementChosenMessage.Sent += (sender, args) =>
|
||||
{
|
||||
FormatElementViewModel newVM = args.Content.ViewModel as FormatElementViewModel;
|
||||
AddChildElementViewModel(SelectedElement as ControlElementViewModel, newVM);
|
||||
};
|
||||
AddChildElementMessage.Send(new ViewModelMessageContent(picker));
|
||||
}
|
||||
}
|
||||
|
||||
bool CanAddChildElement()
|
||||
{
|
||||
@ -290,7 +340,8 @@ namespace zaaReloaded2.ViewModels
|
||||
DelegatingCommand _addChildElementCommand;
|
||||
DelegatingCommand _deleteElementCommand;
|
||||
DelegatingCommand _copyElementCommand;
|
||||
|
||||
Message<ViewModelMessageContent> _addElementMessage;
|
||||
Message<ViewModelMessageContent> _addChildElementMessage;
|
||||
List<ElementViewModel> _elements;
|
||||
ElementViewModel _selectedElement;
|
||||
EnumProvider<ReferenceStyle> _referenceStyle;
|
||||
|
Reference in New Issue
Block a user