Skip to content

Commit

Permalink
convert to ActionMessageKeyBinding
Browse files Browse the repository at this point in the history
  • Loading branch information
MikiraSora committed Oct 20, 2024
1 parent 98555a6 commit 5316203
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public override void Update(Command command)
public override Task Run(Command command)
{
if (editorDocumentManager.CurrentActivatedEditor is FumenVisualEditorViewModel editor)
editor.KeyboardAction_HideOrShow();
editor.KeyboardAction_HideOrShow(default);
command.Checked = editorDocumentManager.CurrentActivatedEditor?.IsPreviewMode ?? false;
return TaskUtility.Completed;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,99 @@ namespace OngekiFumenEditor.Modules.FumenVisualEditor
public static class KeyBindingDefinitions
{
[Export]
public static KeyBindingDefinition KeyBindingDefinition_FastSetObjectIsCritical = new KeyBindingDefinition(
"kbd_FastSetObjectIsCritical",
public static KeyBindingDefinition KBD_FastSetObjectIsCritical = new KeyBindingDefinition(
"kbd_editor_FastSetObjectIsCritical",
Key.C);

[Export]
//KeyboardAction_FastPlaceDockableObjectToWallLeft
public static KeyBindingDefinition KBD_FastPlaceDockableObjectToWallLeft = new KeyBindingDefinition(
"kbd_editor_FastPlaceDockableObjectToWallLeft",
Key.OemTilde);

[Export]
//KeyboardAction_FastPlaceDockableObjectToWallRight
public static KeyBindingDefinition KBD_FastPlaceDockableObjectToWallRight = new KeyBindingDefinition(
"kbd_editor_FastPlaceDockableObjectToWallRight",
Key.D4);

[Export]
//KeyboardAction_FastPlaceDockableObjectToRight
public static KeyBindingDefinition KBD_FastPlaceDockableObjectToRight = new KeyBindingDefinition(
"kbd_editor_FastPlaceDockableObjectToRight",
Key.D3);

[Export]
//[Key H] = [Action KeyboardAction_FastPlaceNewHold($executionContext)]
public static KeyBindingDefinition KBD_FastPlaceNewHold = new KeyBindingDefinition(
"kbd_editor_FastPlaceNewHold",
Key.H);

[Export]
//[Key T] = [Action KeyboardAction_FastPlaceNewTap($executionContext)];
public static KeyBindingDefinition KBD_FastPlaceNewTap = new KeyBindingDefinition(
"kbd_editor_FastPlaceNewTap",
Key.T);

[Export]
//[Key D2] = [Action KeyboardAction_FastPlaceDockableObjectToCenter];
public static KeyBindingDefinition KBD_FastPlaceDockableObjectToCenter = new KeyBindingDefinition(
"kbd_editor_FastPlaceDockableObjectToCenter",
Key.D2);

[Export]
//[Key D1] = [Action KeyboardAction_FastPlaceDockableObjectToLeft];
public static KeyBindingDefinition KBD_FastPlaceDockableObjectToLeft = new KeyBindingDefinition(
"kbd_editor_FastPlaceDockableObjectToLeft",
Key.D1);


[Export]
//[Key Delete] = [Action KeyboardAction_DeleteSelectingObjects];
public static KeyBindingDefinition KBD_DeleteSelectingObjects = new KeyBindingDefinition(
"kbd_editor_DeleteSelectingObjects",
Key.Delete);

[Export]
//[Gesture Ctrl+A] = [Action KeyboardAction_SelectAllObjects];
public static KeyBindingDefinition KBD_SelectAllObjects = new KeyBindingDefinition(
"kbd_editor_SelectAllObjects",
ModifierKeys.Control, Key.A);

[Export]
//[Key Escape] = [Action KeyboardAction_CancelSelectingObjects];
public static KeyBindingDefinition KBD_CancelSelectingObjects = new KeyBindingDefinition(
"kbd_editor_CancelSelectingObjects",
Key.Escape);

[Export]
//[Key Q] = [Action KeyboardAction_HideOrShow];
public static KeyBindingDefinition KBD_HideOrShow = new KeyBindingDefinition(
"kbd_editor_HideOrShow",
Key.Q);

[Export]
// [Key A] = [Action KeyboardAction_FastAddConnectableChild($executionContext)];
public static KeyBindingDefinition KBD_FastAddConnectableChild = new KeyBindingDefinition(
"kbd_editor_FastAddConnectableChild",
Key.A);

[Export]
// [Key F] = [Action KeyboardAction_FastSwitchFlickDirection($executionContext)];
public static KeyBindingDefinition KBD_FastSwitchFlickDirection = new KeyBindingDefinition(
"kbd_editor_FastSwitchFlickDirection",
Key.F);

[Export]
// [Gesture Ctrl+C]=[Action MenuItemAction_CopySelectedObjects];
public static KeyBindingDefinition KBD_CopySelectedObjects = new KeyBindingDefinition(
"kbd_editor_CopySelectedObjects",
ModifierKeys.Control, Key.C);

[Export]
// [Gesture Ctrl+V]=[Action MenuItemAction_PasteCopiesObjects]; "
public static KeyBindingDefinition KBD_PasteCopiesObjects = new KeyBindingDefinition(
"kbd_editor_PasteCopiesObjects",
ModifierKeys.Control, Key.V);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
using OngekiFumenEditor.Base.OngekiObjects.Lane;
using OngekiFumenEditor.Base.OngekiObjects.Lane.Base;
using OngekiFumenEditor.Base.OngekiObjects.Wall;
using System.Threading;

namespace OngekiFumenEditor.Modules.FumenVisualEditor.ViewModels
{
Expand Down Expand Up @@ -159,7 +160,7 @@ public void InitExtraMenuItems()

#region Selection Actions

public void MenuItemAction_SelectAll()
public void MenuItemAction_SelectAll(ActionExecutionContext e)
{
IsPreventMutualExclusionSelecting = true;

Expand All @@ -169,7 +170,7 @@ public void MenuItemAction_SelectAll()
IsPreventMutualExclusionSelecting = false;
}

public void MenuItemAction_ReverseSelect()
public void MenuItemAction_ReverseSelect(ActionExecutionContext e)
{
IsPreventMutualExclusionSelecting = true;

Expand All @@ -179,7 +180,7 @@ public void MenuItemAction_ReverseSelect()
IsPreventMutualExclusionSelecting = false;
}

public async void MenuItemAction_CopySelectedObjects()
public async void MenuItemAction_CopySelectedObjects(ActionExecutionContext e)
{
await IoC.Get<IFumenEditorClipboard>().CopyObjects(this, SelectObjects);
}
Expand All @@ -193,7 +194,10 @@ public enum PasteOption
None
}

public void MenuItemAction_PasteCopiesObjects()
public void KeyboardAction_PasteCopiesObjects(ActionExecutionContext ctx)
=> PasteCopiesObjects(PasteOption.None, ctx);

public void MenuItemAction_PasteCopiesObjects(ActionExecutionContext e)
{
var placePos = Mouse.GetPosition(GetView() as FrameworkElement);
placePos.Y = ViewHeight - placePos.Y + Rect.MinY;
Expand All @@ -205,8 +209,6 @@ public void MenuItemAction_PasteCopiesObjectsDirectly(ActionExecutionContext ctx
PasteCopiesObjects(PasteOption.Direct, default(Point));
}

public void MenuItemAction_PasteCopiesObjects(ActionExecutionContext ctx)
=> PasteCopiesObjects(PasteOption.None, ctx);
public void MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterXGridMirror(ActionExecutionContext ctx)
=> PasteCopiesObjects(PasteOption.SelectedRangeCenterXGridMirror, ctx);
public void MenuItemAction_PasteCopiesObjectsAsSelectedRangeCenterTGridMirror(ActionExecutionContext ctx)
Expand Down Expand Up @@ -399,7 +401,7 @@ private void SelectLaneObjects(ConnectableStartObject start)
private bool dragOutBound;
private int currentDraggingActionId;

public void MenuItemAction_RememberSelectedObjectAudioTime()
public void MenuItemAction_RememberSelectedObjectAudioTime(ActionExecutionContext e)
{
if (!IsDesignMode)
{
Expand All @@ -419,7 +421,7 @@ public void MenuItemAction_RememberSelectedObjectAudioTime()
ToastNotify(Resources.RememberObjects.Format(cacheObjectAudioTime.Count));
}

public void MenuItemAction_RecoverySelectedObjectToAudioTime()
public void MenuItemAction_RecoverySelectedObjectToAudioTime(ActionExecutionContext e)
{
if (!IsDesignMode)
{
Expand Down Expand Up @@ -535,15 +537,15 @@ public void ExecuteActionWithRememberCurrentTime(IUndoableAction action)

#region Keyboard Actions

public void KeyboardAction_FastPlaceDockableObjectToCenter()
public void KeyboardAction_FastPlaceDockableObjectToCenter(ActionExecutionContext e)
=> KeyboardAction_FastPlaceDockableObject(LaneType.Center);
public void KeyboardAction_FastPlaceDockableObjectToLeft()
public void KeyboardAction_FastPlaceDockableObjectToLeft(ActionExecutionContext e)
=> KeyboardAction_FastPlaceDockableObject(LaneType.Left);
public void KeyboardAction_FastPlaceDockableObjectToRight()
public void KeyboardAction_FastPlaceDockableObjectToRight(ActionExecutionContext e)
=> KeyboardAction_FastPlaceDockableObject(LaneType.Right);
public void KeyboardAction_FastPlaceDockableObjectToWallLeft()
public void KeyboardAction_FastPlaceDockableObjectToWallLeft(ActionExecutionContext e)
=> KeyboardAction_FastPlaceDockableObject(LaneType.WallLeft);
public void KeyboardAction_FastPlaceDockableObjectToWallRight()
public void KeyboardAction_FastPlaceDockableObjectToWallRight(ActionExecutionContext e)
=> KeyboardAction_FastPlaceDockableObject(LaneType.WallRight);

public void KeyboardAction_FastPlaceNewTap(ActionExecutionContext e)
Expand Down Expand Up @@ -668,7 +670,7 @@ public void KeyboardAction_FastPlaceDockableObject(LaneType targetType, ILaneDoc
}));
}

public void KeyboardAction_DeleteSelectingObjects()
public void KeyboardAction_DeleteSelectingObjects(ActionExecutionContext e)
{
if (IsLocked)
return;
Expand Down Expand Up @@ -737,7 +739,7 @@ public void RemoveObjects(IEnumerable<OngekiObjectBase> objs)

public void RemoveObject(OngekiObjectBase obj) => RemoveObjects(obj.Repeat(1));

public void KeyboardAction_SelectAllObjects()
public void KeyboardAction_SelectAllObjects(ActionExecutionContext e)
{
if (IsLocked)
return;
Expand All @@ -746,7 +748,7 @@ public void KeyboardAction_SelectAllObjects()
IoC.Get<IFumenObjectPropertyBrowser>().RefreshSelected(this);
}

public void KeyboardAction_CancelSelectingObjects()
public void KeyboardAction_CancelSelectingObjects(ActionExecutionContext e)
{
if (IsLocked)
return;
Expand Down Expand Up @@ -949,12 +951,12 @@ private void ProcessAsHoldEnd(Hold hold, Point mousePosition)
}));
}

public void KeyboardAction_PlayOrPause()
public void KeyboardAction_PlayOrPause(ActionExecutionContext e)
{
IoC.Get<IAudioPlayerToolViewer>().RequestPlayOrPause();
}

public void KeyboardAction_HideOrShow()
public void KeyboardAction_HideOrShow(ActionExecutionContext e)
{
SwitchMode(!IsPreviewMode);
}
Expand Down
Loading

0 comments on commit 5316203

Please sign in to comment.