private void OnClickMoveDown(ContextMenuButton button) { var script = (Script)button.ParentContextMenu.Tag; var action = ChangeScriptAction.ChangeOrder(script, script.OrderInParent + 1); action.Do(); Editor.Instance.Undo.AddAction(action); }
private void OnClickMoveUp(ContextMenuButton button) { var script = (Script)button.ParentContextMenu.Tag; var action = ChangeScriptAction.ChangeOrder(script, script.OrderInParent - 1); action.Do(); Presenter.Undo?.AddAction(action); }
/// <summary> /// Changes the script order (with undo). /// </summary> /// <param name="script">The script to reorder.</param> /// <param name="targetIndex">The target index to move script.</param> public void ReorderScript(Script script, int targetIndex) { // Skip if no change if (script.OrderInParent == targetIndex) { return; } var action = ChangeScriptAction.ChangeOrder(script, targetIndex); action.Do(); Editor.Instance.Undo.AddAction(action); }
private void OnScriptToggleCheckChanged(CheckBox box) { var script = (Script)box.Tag; if (script.Enabled == box.Checked) { return; } var action = ChangeScriptAction.ChangeEnabled(script, box.Checked); action.Do(); Presenter?.Undo.AddAction(action); }
private void SettingsMenuOnButtonClicked(int id, ContextMenu contextMenu) { var script = (Script)contextMenu.Tag; switch (id) { // Reset case 0: { throw new NotImplementedException("Reset script"); break; } // Remove case 1: { var action = AddRemoveScript.Remove(script); action.Do(); Editor.Instance.Undo.AddAction(action); break; } // Move up case 2: { var action = ChangeScriptAction.ChangeOrder(script, script.OrderInParent - 1); action.Do(); Editor.Instance.Undo.AddAction(action); break; } // Move down case 3: { var action = ChangeScriptAction.ChangeOrder(script, script.OrderInParent + 1); action.Do(); Editor.Instance.Undo.AddAction(action); break; } // Edit script case 4: { var item = Editor.Instance.ContentDatabase.FindScriptWitScriptName(script); if (item != null) { Editor.Instance.ContentEditing.Open(item); } break; } // Show in content window case 5: { var item = Editor.Instance.ContentDatabase.FindScriptWitScriptName(script); if (item != null) { Editor.Instance.Windows.ContentWin.Select(item); } break; } } }