public SILayout() { _Components = new List <LayoutComponent>(); _Strings = new LayoutItemCollection <SIString>(this); _Strings.CollectionChanged += Strings_CollectionChanged; Margins = new FingerboardMargin(this); _StringSpacingMode = StringSpacingType.Simple; SimpleStringSpacing = new StringSpacingSimple(this); ManualStringSpacing = new StringSpacingManual(this); SingleScaleConfig = new SingleScaleManager(this); DualScaleConfig = new DualScaleManager(this); MultiScaleConfig = new MultipleScaleManager(this); VisualElements = new List <VisualElement>(); _ScaleLengthMode = ScaleLengthType.Single; _FretsTemperament = Temperament.Equal; _FretInterpolation = FretInterpolationMethod.Spline; _CachedBounds = RectangleM.Empty; LayoutName = string.Empty; LayoutChanges = new List <ILayoutChange>(); LayoutVersion = CURRENT_LAYOUT_VERSION; //_InstrumentType = InstrumentType.Guitar; }
private void rbScaleLengthMode_CheckedChanged(object sender, EventArgs e) { if (!IsLoading && !FlagManager["SetMode"] && (sender as RadioButton).Checked) { if (enteringControl)//fallback to prevent Windows to force check the last clicked radiobutton { SetSelectedEditMode(EditMode); return; } EditMode = GetSelectedEditMode(); if (CurrentLayout != null) { CurrentLayout.ScaleLengthMode = EditMode; CurrentLayout.RebuildLayout(); } ApplyLayout(); } }
private void SetSelectedEditMode(ScaleLengthType mode) { using (FlagManager.UseFlag("SetMode")) { switch (mode) { default: case ScaleLengthType.Single: rbSingle.Checked = true; break; case ScaleLengthType.Dual: rbDual.Checked = true; break; case ScaleLengthType.Multiple: rbMultiple.Checked = true; break; } } }
protected override void ReadLayoutProperties() { if (dgvScaleLengths.IsCurrentCellInEditMode) { dgvScaleLengths.CancelEdit(); } dgvScaleLengths.DataSource = null; if (CurrentLayout != null) { EditMode = CurrentLayout.ScaleLengthMode; dgvScaleLengths.DataSource = new SortableBindingList <SIString>(CurrentLayout.Strings); dgvScaleLengths.Sort(colStringNumber, ListSortDirection.Descending); } else { EditMode = ScaleLengthType.Single; } ApplyLayout(); }