Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/RunSQL/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
<StyleInclude Source="avares://AvaloniaEdit/AvaloniaEdit.xaml" />
</Application.Styles>
</Application>
1 change: 1 addition & 0 deletions src/RunSQL/RunSQL.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.ReactiveUI" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.AvaloniaEdit" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)"
Condition=" '$(Configuration)' == 'Debug' " />
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.113.7" />
Expand Down
12 changes: 6 additions & 6 deletions src/RunSQL/Views/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:views="clr-namespace:RunSQL.Views"
xmlns:avaloniaEdit="https://github.com/avaloniaui/avaloniaedit"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="350"
x:Class="RunSQL.Views.MainWindow"
Width="800" Height="400"
Expand All @@ -22,11 +23,10 @@
</ItemsControl>
</ScrollViewer>
<DockPanel Margin="6 12 12 12">
<TextBox DockPanel.Dock="Top"
Text="{Binding CommandText}"
AcceptsReturn="True"
Watermark="Enter your SQL script"
Margin="0 0 0 6" />
<avaloniaEdit:TextEditor Name="TextEditor"
SyntaxHighlighting="TSQL"
DockPanel.Dock="Top"
Margin="0 10 0 6" />
<Button Command="{Binding Run}"
Content="Run"
Margin="0 6 0 6"
Expand All @@ -37,7 +37,7 @@
Foreground="Red"
DockPanel.Dock="Top"
Margin="0 6 0 0" />
<DataGrid Name="dataGrid"
<DataGrid Name="DataGrid"
Items="{Binding Table.Rows}"
IsReadOnly="True"
CanUserResizeColumns="True"
Expand Down
17 changes: 16 additions & 1 deletion src/RunSQL/Views/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
using System.Reactive;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Data;
using Avalonia.Markup.Xaml;
using Avalonia.ReactiveUI;
using AvaloniaEdit;
using ReactiveUI;
using RunSQL.Models;
using RunSQL.ViewModels;
Expand All @@ -13,7 +15,9 @@ namespace RunSQL.Views
{
public class MainWindow : ReactiveWindow<MainWindowViewModel>
{
private DataGrid DataGrid => this.FindControl<DataGrid>("dataGrid");
private DataGrid DataGrid => this.FindControl<DataGrid>("DataGrid");

private TextEditor TextEditor => this.FindControl<TextEditor>("TextEditor");

public MainWindow()
{
Expand All @@ -39,6 +43,17 @@ private void InitializeComponent()
});
}))
.DisposeWith(disposables);

this.Bind(ViewModel, vm => vm.CommandText, v => v.TextEditor.Text)
.DisposeWith(disposables);

Observable
.FromEventPattern(this.TextEditor, nameof(TextEditor.TextChanged))
.Subscribe(Observer.Create<EventPattern<object>>(_ =>
{
ViewModel.CommandText = TextEditor.Text;
}))
.DisposeWith(disposables);
});
AvaloniaXamlLoader.Load(this);
}
Expand Down