Skip to content

Commit

Permalink
Draft the UI
Browse files Browse the repository at this point in the history
  • Loading branch information
celeron533 committed Aug 20, 2023
1 parent a8c5a6b commit 7c8e2bf
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 8 deletions.
1 change: 1 addition & 0 deletions DicomGrep/App.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@

<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
</Application.Styles>
</Application>
30 changes: 29 additions & 1 deletion DicomGrep/ViewModels/MainWindowViewModel.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,35 @@
namespace DicomGrep.ViewModels
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System;

namespace DicomGrep.ViewModels
{
public class MainWindowViewModel : ViewModelBase
{
public string Greeting => "Welcome to Avalonia!";
public ObservableCollection<Person> People { get; }

public MainWindowViewModel()
{
var people = new List<Person>
{
new Person("Neil", "Armstrong"),
new Person("Buzz", "Lightyear"),
new Person("James", "Kirk")
};
People = new ObservableCollection<Person>(people);
}
}

public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }

public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
}
}
88 changes: 81 additions & 7 deletions DicomGrep/Views/MainWindow.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,88 @@
x:Class="DicomGrep.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Icon="/Assets/avalonia-logo.ico"
Title="DicomGrep">
Title="DicomGrep" MinHeight="300" MinWidth="450">

<Design.DataContext>
<!-- This only sets the DataContext for the previewer in an IDE,
<Design.DataContext>
<!-- This only sets the DataContext for the previewer in an IDE,
to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) -->
<vm:MainWindowViewModel/>
</Design.DataContext>

<TextBlock Text="{Binding Greeting}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<vm:MainWindowViewModel/>
</Design.DataContext>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="File">
<MenuItem Header="Export search result"></MenuItem>
<Separator/>
<MenuItem Header="About"></MenuItem>
<MenuItem Header="Exit"></MenuItem>
</MenuItem>
</Menu>
<TextBlock Text="StatusBar" DockPanel.Dock="Bottom"/>
<!--<TextBlock Text="{Binding Greeting}" HorizontalAlignment="Center" VerticalAlignment="Center"/>-->
<!-- primary -->
<Grid ColumnDefinitions="*,6,2*">
<!-- left pane (search criteria)-->
<ScrollViewer>
<StackPanel>
<!--search criteria 1-->
<StackPanel>
<TextBlock Text="Search Path"></TextBlock>
<DockPanel>
<Button Content="..." DockPanel.Dock="Right"></Button>
<AutoCompleteBox></AutoCompleteBox>
</DockPanel>
<TextBlock Text="File Types"></TextBlock>
<DockPanel>
<Button Content="..." DockPanel.Dock="Right"></Button>
<AutoCompleteBox></AutoCompleteBox>
</DockPanel>
<TextBlock Text="SOP Class UID"></TextBlock>
<DockPanel>
<Button Content="..." DockPanel.Dock="Right"></Button>
<AutoCompleteBox></AutoCompleteBox>
</DockPanel>
<TextBlock Text="DICOM Tag"></TextBlock>
<DockPanel>
<Button Content="..." DockPanel.Dock="Right"></Button>
<AutoCompleteBox></AutoCompleteBox>
</DockPanel>
<TextBlock Text="DICOM Tag Value"></TextBlock>
<DockPanel>
<Button Content="..." DockPanel.Dock="Right"></Button>
<AutoCompleteBox></AutoCompleteBox>
</DockPanel>
</StackPanel>
<!--commands-->
<StackPanel>
<Button Content="Search" HorizontalAlignment="Right"></Button>
<Button Content="Search in Results" HorizontalAlignment="Right"></Button>
<Button Content="Cancel" HorizontalAlignment="Right"></Button>
</StackPanel>
<!--search criteria 2-->
<StackPanel>
<CheckBox Content="Case sensitive"></CheckBox>
<CheckBox Content="Whole word"></CheckBox>
<CheckBox Content="Include subfolders"></CheckBox>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Threads: "></TextBlock>
<DropDownButton></DropDownButton>
</StackPanel>
</StackPanel>
</StackPanel>
</ScrollViewer>
<GridSplitter Grid.Column="1" Background="LightGray"></GridSplitter>
<!-- right pane (search result) -->
<Grid RowDefinitions="*,6,*" Grid.Column="2">
<DataGrid Grid.Row="0" Margin="20" ItemsSource="{Binding People}"
AutoGenerateColumns="True" IsReadOnly="True"
GridLinesVisibility="All"
BorderThickness="1" BorderBrush="Gray">
</DataGrid>
<GridSplitter Grid.Row="1" Background="LightGray"></GridSplitter>
<DataGrid Grid.Row="2">

</DataGrid>
</Grid>
</Grid>
</DockPanel>
</Window>

0 comments on commit 7c8e2bf

Please sign in to comment.