public IObjectViewModel Add(ObjectType objectType) { ErrorMessage = string.Empty; var id = MakeId(); var name = $"Объект {id}"; IObjectViewModel viewModel; IVariableWrapper variable; switch (objectType) { case ObjectType.Label: viewModel = new LabelViewModel(id, name, _dataProvider); break; case ObjectType.TextBox: variable = CreateVariable(VariableType.String); viewModel = new TextBoxViewModel(id, name, variable, _dataProvider); break; case ObjectType.CheckBox: variable = CreateVariable(VariableType.Bool); viewModel = new CheckBoxViewModel(id, name, variable, _dataProvider); break; case ObjectType.RadioButton: variable = CreateVariable(VariableType.Bool); viewModel = new RadioViewModel(id, name, variable, _dataProvider) { GroupName = GetRadioGroupName() }; break; case ObjectType.DatePicker: variable = CreateVariable(VariableType.Date); viewModel = new DatePickerViewModel(id, name, variable, _dataProvider); break; case ObjectType.TimePicker: variable = CreateVariable(VariableType.Time); viewModel = new TimePickerViewModel(id, name, variable, _dataProvider); break; default: ErrorMessage = "Неизвестный тип объекта."; return(null); } viewModel.Properties.TabId = _dataProvider.TabsRepository.SelectedTabIndex; viewModel.Properties.Left = 20; viewModel.Properties.Top = 20; viewModel.Properties.FontSettings = new FontSettings(); ViewModels.Add(viewModel); Select(viewModel); ObjectModified?.Invoke(viewModel.Properties.Id); return(viewModel); }
protected void SetupPicker(UITextField field, string type) { // Setup the toolbar UIToolbar toolbar = new UIToolbar(); toolbar.BarStyle = UIBarStyle.Black; toolbar.Translucent = true; toolbar.SizeToFit(); // Create a 'done' button for the toolbar and add it to the toolbar UIBarButtonItem doneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (s, e) => { field.ResignFirstResponder(); }); toolbar.SetItems(new UIBarButtonItem[] { doneButton }, true); UIPickerViewModel picker_model = new UIPickerViewModel(); if (type == "time") { picker_model = new TimePickerViewModel(field); } else if (type == "ranking") { picker_model = new RankingPickerViewModel(field); } else if (type == "hr") { picker_model = new HRPickerViewModel(field); } else if (type == "pace") { picker_model = new PacePickerViewModel(field); } else if (type == "type") { picker_model = new PTypePickerViewModel(field); } UIPickerView picker = new UIPickerView(); picker.BackgroundColor = UIColor.White; picker.Model = picker_model; picker.ShowSelectionIndicator = true; field.InputView = picker; field.InputAccessoryView = toolbar; field.ShouldChangeCharacters = new UITextFieldChange(delegate(UITextField textField, NSRange range, string replacementString) { return(false); }); }
public TimePickerPage(TodoItemViewModel todoItemViewModel, TodoListViewModel todoListViewModel) { InitializeComponent(); TimePickerViewModel = new TimePickerViewModel() { TodoItemViewModel = todoItemViewModel, TodoListViewModel = todoListViewModel, Navigation = this.Navigation, Time = todoItemViewModel.Time }; this.BindingContext = TimePickerViewModel; }
public override void AwakeFromNib() { base.AwakeFromNib(); TimePicker = new UIPickerView(); ContentView.AddSubview(TimePicker); TimePicker.TranslatesAutoresizingMaskIntoConstraints = false; //ContentView.AddConstraint(NSLayoutConstraint.Create(ContentView, NSLayoutAttribute.Height, NSLayoutRelation.Equal, null, NSLayoutAttribute.NoAttribute, 120, 0)); ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Top, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Top, 1, 0)); ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Leading, 1, 0)); ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Trailing, 1, 0)); ContentView.AddConstraint(NSLayoutConstraint.Create(TimePicker, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, ContentView, NSLayoutAttribute.Bottom, 1, 0)); Model = new TimePickerViewModel(TimePicker); TimePicker.Model = Model; }
/// <summary> /// Добавление десериализуемого объекта /// </summary> public void Add(IFormObject formObject) { IObjectViewModel viewModel = null; if (formObject is CheckBoxObject) { viewModel = new CheckBoxViewModel((CheckBoxObject)formObject, _dataProvider); } else if (formObject is LabelObject) { viewModel = new LabelViewModel((LabelObject)formObject, _dataProvider); } else if (formObject is TextBoxObject) { viewModel = new TextBoxViewModel((TextBoxObject)formObject, _dataProvider); } else if (formObject is RadioButtonObject) { viewModel = new RadioViewModel((RadioButtonObject)formObject, _dataProvider); } else if (formObject is DateBoxObject) { viewModel = new DatePickerViewModel((DateBoxObject)formObject, _dataProvider); } else if (formObject is TimePickerObject) { viewModel = new TimePickerViewModel((TimePickerObject)formObject, _dataProvider); } if (viewModel == null) { return; } viewModel.Properties.Left = formObject.Left; viewModel.Properties.Top = formObject.Top; viewModel.Properties.IsSelected = false; viewModel.Properties.SetVisibility(formObject.IsVisible); viewModel.Properties.TabId = formObject.TabId; ViewModels.Add(viewModel); ObjectModified?.Invoke(viewModel.Properties.Id); }