48 lines
No EOL
1.2 KiB
C#
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();
|
|
}
|
|
}
|
|
} |