public static WebElementViewModel CreateModelFromInfo(WebElementInfo info) { WebElementViewModel model = null; if (info is WebContext webContext) { model = new WebContextViewModel(); model.FillFromInfo(webContext); } else if (info is DropDownElementInfo dropDown) { model = new DropDownElementViewModel(); model.FillFromInfo(dropDown); } else if (info is RadioGroupElementInfo radioGroup) { model = new RadioGroupViewModel(); model.FillFromInfo(radioGroup); } else if (info is CombinedWebElementInfo combined) { model = new CombinedElementViewModel(); model.FillFromInfo(combined); } else { model = new WebElementViewModel(); model.FillFromInfo(info); } return(model); }
public bool CheckAndGetParent(out CombinedElementViewModel cparent) { cparent = null; if (_viewModel.SelectedElement is WebContextViewModel webContext) { cparent = null; } else { var parent = _viewModel.SelectedElement.Parent; if (parent == null) { MessageBox.Show($"Selected Element: {_viewModel.SelectedElement.Name} doesn't have parent. But has to"); return(false); } if (parent is CombinedElementViewModel combined) { cparent = combined; } else { MessageBox.Show($"Selected Element: {_viewModel.SelectedElement.Name} has parent that is not nested from CombinedElementViewModel. But has to"); return(false); } } return(true); }
public static CombinedElementViewModel CreateCombinedElementModel(CombinedElementViewModel model = null) { var wasNull = model == null; if (wasNull) { model = new CombinedElementViewModel { ElementType = WebElementTypes.Control } } ; model.Elements = new ObservableCollection <WebElementViewModel>(); CreateWebElementModel(model); if (wasNull) { model.Name += " Control"; } return(model); }