コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }