diff --git a/src/AdvancedCalculator/ViewModels/MainViewModel.cs b/src/AdvancedCalculator/ViewModels/MainViewModel.cs index 1611402..7be1cf6 100644 --- a/src/AdvancedCalculator/ViewModels/MainViewModel.cs +++ b/src/AdvancedCalculator/ViewModels/MainViewModel.cs @@ -41,6 +41,37 @@ public partial class MainViewModel : ViewModelBase IsFunctionsPanelOpen = !IsFunctionsPanelOpen; } + // Insert helpers for touch: appends tokens to the input box + [RelayCommand] + private void InsertVariable(string? variableName) + { + if (string.IsNullOrWhiteSpace(variableName)) + return; + InsertToken(variableName); + } + + [RelayCommand] + private void InsertFunction(string? functionName) + { + if (string.IsNullOrWhiteSpace(functionName)) + return; + InsertToken(functionName + "()"); + } + + private void InsertToken(string token) + { + if (string.IsNullOrEmpty(InputText)) + { + InputText = token; + return; + } + + if (!char.IsWhiteSpace(InputText[^1])) + InputText += " "; + + InputText += token; + } + [RelayCommand(AllowConcurrentExecutions = false)] private async Task Submit() { diff --git a/src/AdvancedCalculator/Views/MainView.axaml b/src/AdvancedCalculator/Views/MainView.axaml index 35b2c61..f693853 100644 --- a/src/AdvancedCalculator/Views/MainView.axaml +++ b/src/AdvancedCalculator/Views/MainView.axaml @@ -49,44 +49,52 @@ - + - - - - - - - - + - - - - - + @@ -113,7 +121,7 @@ - + + - - - - - + + + +