private void DataBind() { ProjectComboBox.DisplayMember = "DisplayMember"; ProjectComboBox.ValueMember = "ValueMember"; ProjectComboBox.DataSource = _model.Projects.Select(x => new ListItem { DisplayMember = x.ToString(), ValueMember = x }).ToList(); ProjectComboBox.DataBindings.Add("SelectedValue", _model, "SelectedProject", false, DataSourceUpdateMode.OnPropertyChanged); TimePerFrameMinuteTextBox.BindText(_model, "TpfMinutes"); TimePerFrameSecondTextBox.BindText(_model, "TpfSeconds"); TotalTimeCheckBox.BindChecked(_model, "TotalWuTimeEnabled"); TotalTimeMinuteTextBox.BindText(_model, "TotalWuTimeMinutes"); TotalTimeMinuteTextBox.BindEnabled(_model, "TotalWuTimeEnabled"); TotalTimeSecondTextBox.BindText(_model, "TotalWuTimeSeconds"); TotalTimeSecondTextBox.BindEnabled(_model, "TotalWuTimeEnabled"); CoreNameTextBox.BindText(_model, "CoreName"); SlotTypeTextBox.BindText(_model, "SlotType"); NumberOfAtomsTextBox.BindText(_model, "NumberOfAtoms"); CompletionTimeTextBox.BindText(_model, "CompletionTime"); PreferredDeadlineTextBox.BindText(_model, "PreferredDeadline"); PreferredDeadlineTextBox.DataBindings.Add("ReadOnly", _model, "PreferredDeadlineIsReadOnly", false, DataSourceUpdateMode.OnPropertyChanged); PreferredDeadlineCheckBox.BindChecked(_model, "PreferredDeadlineChecked"); FinalDeadlineTextBox.BindText(_model, "FinalDeadline"); FinalDeadlineTextBox.DataBindings.Add("ReadOnly", _model, "FinalDeadlineIsReadOnly", false, DataSourceUpdateMode.OnPropertyChanged); FinalDeadlineCheckBox.BindChecked(_model, "FinalDeadlineChecked"); KFactorTextBox.BindText(_model, "KFactor"); KFactorTextBox.DataBindings.Add("ReadOnly", _model, "KFactorIsReadOnly", false, DataSourceUpdateMode.OnPropertyChanged); KFactorCheckBox.BindChecked(_model, "KFactorChecked"); BonusMultiplierTextBox.BindText(_model, "BonusMultiplier"); BaseCreditTextBox.BindText(_model, "BaseCredit"); BonusCreditTextBox.BindText(_model, "BonusCredit"); TotalCreditTextBox.BindText(_model, "TotalCredit"); BasePpdTextBox.BindText(_model, "BasePpd"); BonusPpdTextBox.BindText(_model, "BonusPpd"); TotalPpdTextBox.BindText(_model, "TotalPpd"); if (Core.Application.IsRunningOnMono) { _model.PropertyChanged += ModelPropertyChangedForMono; } }
private void LoadData(BenchmarksModel model) { var(location, size) = WindowPosition.Normalize(this, model.FormLocation, model.FormSize); Location = location; LocationChanged += (s, e) => model.FormLocation = WindowState == FormWindowState.Normal ? Location : RestoreBounds.Location; Size = size; SizeChanged += (s, e) => model.FormSize = WindowState == FormWindowState.Normal ? Size : RestoreBounds.Size; cboClients.BindSelectedValue(model, nameof(BenchmarksModel.SelectedSlotIdentifier)); cboClients.DataSource = model.SlotIdentifiers; cboClients.DisplayMember = nameof(ListItem.DisplayMember); cboClients.ValueMember = nameof(ListItem.ValueMember); picDeleteClient.BindVisible(model, nameof(BenchmarksModel.SelectedSlotDeleteEnabled)); ProjectIDTextBox.BindText(model, nameof(BenchmarksModel.WorkUnitName)); CreditTextBox.BindText(model, nameof(BenchmarksModel.Credit)); KFactorTextBox.BindText(model, nameof(BenchmarksModel.KFactor)); FramesTextBox.BindText(model, nameof(BenchmarksModel.Frames)); AtomsTextBox.BindText(model, nameof(BenchmarksModel.NumberOfAtoms)); CoreTextBox.BindText(model, nameof(BenchmarksModel.Core)); DescriptionLinkLabel.Text = "Click to view online"; DescriptionLinkLabel.DataBindings.Add(nameof(Tag), model, nameof(BenchmarksModel.DescriptionUrl), false, DataSourceUpdateMode.OnPropertyChanged); TimeoutTextBox.BindText(model, nameof(BenchmarksModel.PreferredDays)); ExpirationTextBox.BindText(model, nameof(BenchmarksModel.MaximumDays)); ContactTextBox.BindText(model, nameof(BenchmarksModel.Contact)); WorkServerTextBox.BindText(model, nameof(BenchmarksModel.ServerIP)); model.PropertyChanged += (s, e) => ModelPropertyChanged((BenchmarksModel)s, e); model.SelectedSlotProjectListItems = new ListBoxSelectedListItemCollection(projectsListBox); projectsListBox.DataSource = model.SlotProjects; projectsListBox.DisplayMember = nameof(ListItem.DisplayMember); projectsListBox.ValueMember = nameof(ListItem.ValueMember); model.SetDefaultSlotProject(); lstColors.DataSource = model.GraphColors; lstColors.DisplayMember = nameof(ListItem.DisplayMember); lstColors.ValueMember = nameof(ListItem.ValueMember); lstColors.BindSelectedValue(model, nameof(BenchmarksModel.SelectedGraphColorItem)); colorPreviewPictureBox.DataBindings.Add(nameof(PictureBox.BackColor), model, nameof(BenchmarksModel.SelectedGraphColor), false, DataSourceUpdateMode.OnPropertyChanged); }