JD2022-TU1/main/tools/framework/JD.Application.TeaBox/View/Actions/SnappingUnitDropDownMenu.cs

48 lines
No EOL
1.2 KiB
C#

using System;
using System.Linq;
using JD.Application.View.Misc;
using JD.Audio.Annotations;
using TeaBox.Gui;
namespace JD.Application.View.Actions
{
public class SnappingUnitDropDownMenu : DropDownMenuItemBase
{
public SnappingUnitDropDownMenu()
: base(typeof(SnappingUnit))
{
Enabled = true;
UpdateState();
}
public override void UpdateState()
{
SelectedMode = EditionOptions.CurrentSnappingUnit;
base.UpdateState();
}
protected override void Execute()
{
EditionOptions.CurrentSnappingUnit = (SnappingUnit)SelectedMode;
}
/// <summary>
/// Handler called on button selection.
/// </summary>
protected override void OnActivate()
{
if (EnumType != null)
{
if ((SnappingUnit) SelectedMode == SnappingUnit.None)
{
SelectedMode = EditionOptions.PreferredSnappingUnit;
}
else
{
SelectedMode = SnappingUnit.None;
}
}
Execute();
}
}
}