|
|
|
@ -5,8 +5,11 @@
@@ -5,8 +5,11 @@
|
|
|
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:tv="clr-namespace:ICSharpCode.TreeView;assembly=ICSharpCode.TreeView" |
|
|
|
|
xmlns:local="clr-namespace:ICSharpCode.ILSpy" |
|
|
|
|
xmlns:avalondock="http://schemas.xceed.com/wpf/xaml/avalondock" |
|
|
|
|
xmlns:docking="clr-namespace:ICSharpCode.ILSpy.Docking" |
|
|
|
|
xmlns:controls="clr-namespace:ICSharpCode.ILSpy.Controls" |
|
|
|
|
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties" |
|
|
|
|
xmlns:analyzers="clr-namespace:ICSharpCode.ILSpy.Analyzers" |
|
|
|
|
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties" |
|
|
|
|
xmlns:viewmodels="clr-namespace:ICSharpCode.ILSpy.ViewModels" |
|
|
|
|
Title="ILSpy" |
|
|
|
|
MinWidth="250" |
|
|
|
|
MinHeight="200" |
|
|
|
@ -18,7 +21,46 @@
@@ -18,7 +21,46 @@
|
|
|
|
|
> |
|
|
|
|
<Window.Resources> |
|
|
|
|
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" /> |
|
|
|
|
<docking:ActiveDocumentConverter x:Key="ActiveDocumentConverter"/> |
|
|
|
|
|
|
|
|
|
<tv:SharpTreeView x:Key="TreeView" |
|
|
|
|
AutomationProperties.Name="Assemblies and Classes" |
|
|
|
|
SelectionChanged="TreeView_SelectionChanged" |
|
|
|
|
ShowRoot="False" |
|
|
|
|
AllowDropOrder="True" |
|
|
|
|
AllowDrop="True" |
|
|
|
|
BorderThickness="0,1,1,1" Visibility="Visible" /> |
|
|
|
|
|
|
|
|
|
<DataTemplate x:Key="AssemblyListPaneTemplate"> |
|
|
|
|
<ContentControl Content="{StaticResource TreeView}" /> |
|
|
|
|
</DataTemplate> |
|
|
|
|
|
|
|
|
|
<local:DebugSteps x:Key="DebugSteps" /> |
|
|
|
|
|
|
|
|
|
<DataTemplate x:Key="DebugStepsPaneTemplate"> |
|
|
|
|
<ContentControl Content="{StaticResource DebugSteps}" /> |
|
|
|
|
</DataTemplate> |
|
|
|
|
|
|
|
|
|
<local:SearchPane x:Key="SearchPane" /> |
|
|
|
|
|
|
|
|
|
<DataTemplate x:Key="SearchPaneTemplate"> |
|
|
|
|
<ContentControl Content="{StaticResource SearchPane}" /> |
|
|
|
|
</DataTemplate> |
|
|
|
|
|
|
|
|
|
<analyzers:AnalyzerTreeView x:Key="AnalyzerTreeView" /> |
|
|
|
|
|
|
|
|
|
<DataTemplate x:Key="AnalyzerPaneTemplate"> |
|
|
|
|
<ContentControl Content="{StaticResource AnalyzerTreeView}" /> |
|
|
|
|
</DataTemplate> |
|
|
|
|
|
|
|
|
|
<ContentPresenter x:Key="MainPane" /> |
|
|
|
|
|
|
|
|
|
<DataTemplate x:Key="DecompilerTextViewTemplate"> |
|
|
|
|
<!-- decompilerTextView is inserted into the mainPane by code --> |
|
|
|
|
<ContentControl Content="{StaticResource MainPane}" /> |
|
|
|
|
</DataTemplate> |
|
|
|
|
</Window.Resources> |
|
|
|
|
|
|
|
|
|
<Window.CommandBindings> |
|
|
|
|
<CommandBinding |
|
|
|
|
Command="Open" |
|
|
|
@ -54,9 +96,9 @@
@@ -54,9 +96,9 @@
|
|
|
|
|
<MenuItem Header="{x:Static properties:Resources._File}" /> |
|
|
|
|
<!-- contents of file menu are added using MEF --> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources._View}"> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_publiconlyTypesMembers}" IsCheckable="True" IsChecked="{Binding FilterSettings.ApiVisPublicOnly}" /> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_internalTypesMembers}" IsCheckable="True" IsChecked="{Binding FilterSettings.ApiVisPublicAndInternal}" /> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_allTypesAndMembers}" IsCheckable="True" IsChecked="{Binding FilterSettings.ApiVisAll}" /> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_publiconlyTypesMembers}" IsCheckable="True" IsChecked="{Binding SessionSettings.FilterSettings.ApiVisPublicOnly}" /> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_internalTypesMembers}" IsCheckable="True" IsChecked="{Binding SessionSettings.FilterSettings.ApiVisPublicAndInternal}" /> |
|
|
|
|
<MenuItem Header="{x:Static properties:Resources.Show_allTypesAndMembers}" IsCheckable="True" IsChecked="{Binding SessionSettings.FilterSettings.ApiVisAll}" /> |
|
|
|
|
</MenuItem> |
|
|
|
|
</Menu> |
|
|
|
|
<!-- ToolBar --> |
|
|
|
@ -79,23 +121,23 @@
@@ -79,23 +121,23 @@
|
|
|
|
|
<Separator /> |
|
|
|
|
<!-- 'Open' toolbar category is inserted here --> |
|
|
|
|
<Separator /> |
|
|
|
|
<CheckBox IsChecked="{Binding FilterSettings.ApiVisPublicOnly}" ToolTip="{x:Static properties:Resources.ShowPublicOnlyTypesMembers}"> |
|
|
|
|
<CheckBox IsChecked="{Binding SessionSettings.FilterSettings.ApiVisPublicOnly}" ToolTip="{x:Static properties:Resources.ShowPublicOnlyTypesMembers}"> |
|
|
|
|
<Image Width="16" Height="16" Source="{controls:XamlResource Images/ShowPublicOnly}" /> |
|
|
|
|
</CheckBox> |
|
|
|
|
<CheckBox IsChecked="{Binding FilterSettings.ApiVisPublicAndInternal}" ToolTip="{x:Static properties:Resources.ShowInternalTypesMembers}"> |
|
|
|
|
<CheckBox IsChecked="{Binding SessionSettings.FilterSettings.ApiVisPublicAndInternal}" ToolTip="{x:Static properties:Resources.ShowInternalTypesMembers}"> |
|
|
|
|
<Image Width="16" Height="16" Source="{controls:XamlResource Images/ShowPrivateInternal}" /> |
|
|
|
|
</CheckBox> |
|
|
|
|
<CheckBox IsChecked="{Binding FilterSettings.ApiVisAll}" ToolTip="{x:Static properties:Resources.ShowAllTypesAndMembers}"> |
|
|
|
|
<CheckBox IsChecked="{Binding SessionSettings.FilterSettings.ApiVisAll}" ToolTip="{x:Static properties:Resources.ShowAllTypesAndMembers}"> |
|
|
|
|
<Image Width="16" Height="16" Source="{controls:XamlResource Images/ShowAll}" /> |
|
|
|
|
</CheckBox> |
|
|
|
|
<Separator /> |
|
|
|
|
<ComboBox Name="languageComboBox" DisplayMemberPath="Name" Width="100" MaxDropDownHeight="Auto" |
|
|
|
|
ItemsSource="{x:Static local:Languages.AllLanguages}" ToolTip="{x:Static properties:Resources.SelectLanguageDropdownTooltip}" |
|
|
|
|
SelectedItem="{Binding FilterSettings.Language}"/> |
|
|
|
|
SelectedItem="{Binding SessionSettings.FilterSettings.Language}"/> |
|
|
|
|
<ComboBox Name="languageVersionComboBox" DisplayMemberPath="DisplayName" Width="120" MaxDropDownHeight="Auto" ToolTip="{x:Static properties:Resources.SelectVersionDropdownTooltip}" |
|
|
|
|
Visibility="{Binding SelectedItem.HasLanguageVersions, ElementName=languageComboBox, Converter={StaticResource BooleanToVisibilityConverter}}" |
|
|
|
|
ItemsSource="{Binding SelectedItem.LanguageVersions, ElementName=languageComboBox, UpdateSourceTrigger=PropertyChanged}" |
|
|
|
|
SelectedItem="{Binding FilterSettings.LanguageVersion, UpdateSourceTrigger=PropertyChanged}"/> |
|
|
|
|
SelectedItem="{Binding SessionSettings.FilterSettings.LanguageVersion, UpdateSourceTrigger=PropertyChanged}"/> |
|
|
|
|
</ToolBar> |
|
|
|
|
<Border DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="1" Name="updatePanel" Visibility="Collapsed"> |
|
|
|
|
<DockPanel KeyboardNavigation.TabNavigation="Contained"> |
|
|
|
@ -116,41 +158,61 @@
@@ -116,41 +158,61 @@
|
|
|
|
|
Text="{x:Static properties:Resources.StandBy}"/> |
|
|
|
|
</StatusBarItem> |
|
|
|
|
</StatusBar> |
|
|
|
|
<!-- Main grid separating left pane (treeView) from main pane (textEditor) --> |
|
|
|
|
|
|
|
|
|
<avalondock:DockingManager x:Name="DockManager" |
|
|
|
|
AllowMixedOrientation="True" Grid.ColumnSpan="2"> |
|
|
|
|
|
|
|
|
|
<avalondock:LayoutRoot x:Name="LayoutRoot" > |
|
|
|
|
<avalondock:LayoutPanel Orientation="Vertical"> |
|
|
|
|
<avalondock:LayoutPanel Orientation="Horizontal"> |
|
|
|
|
<avalondock:LayoutAnchorablePaneGroup DockWidth="400" Orientation="Vertical"> |
|
|
|
|
<avalondock:LayoutAnchorablePane DockHeight="*"> |
|
|
|
|
<avalondock:LayoutAnchorable x:Name="Tree" Title="Assemblies" CanHide="False" CanClose="False"> |
|
|
|
|
<!-- Left pane: Tree View of assemblies and classes --> |
|
|
|
|
<tv:SharpTreeView |
|
|
|
|
Name="treeView" |
|
|
|
|
AutomationProperties.Name="Assemblies and Classes" |
|
|
|
|
SelectionChanged="TreeView_SelectionChanged" |
|
|
|
|
ShowRoot="False" |
|
|
|
|
AllowDropOrder="True" |
|
|
|
|
AllowDrop="True" |
|
|
|
|
BorderThickness="0,1,1,1" Visibility="Visible" /> |
|
|
|
|
</avalondock:LayoutAnchorable> |
|
|
|
|
</avalondock:LayoutAnchorablePane> |
|
|
|
|
</avalondock:LayoutAnchorablePaneGroup> |
|
|
|
|
DataContext="{Binding Workspace}" |
|
|
|
|
AnchorablesSource="{Binding ToolPanes}" |
|
|
|
|
DocumentsSource="{Binding Documents}" |
|
|
|
|
ActiveContent="{Binding ActiveDocument, Mode=Default, Converter={StaticResource ActiveDocumentConverter}}" |
|
|
|
|
AllowMixedOrientation="True"> |
|
|
|
|
|
|
|
|
|
<avalondock:LayoutDocumentPaneGroup DockWidth="*"> |
|
|
|
|
<avalondock:LayoutDocumentPane x:Name="adDocumentPane"> |
|
|
|
|
<avalondock:LayoutDocument Title="View" CanClose="False"> |
|
|
|
|
<!-- decompilerTextView is into the mainPane by code --> |
|
|
|
|
<ContentPresenter Name="mainPane" /> |
|
|
|
|
</avalondock:LayoutDocument> |
|
|
|
|
</avalondock:LayoutDocumentPane> |
|
|
|
|
</avalondock:LayoutDocumentPaneGroup> |
|
|
|
|
</avalondock:LayoutPanel> |
|
|
|
|
<avalondock:LayoutRoot> |
|
|
|
|
<avalondock:LayoutPanel Orientation="Vertical"> |
|
|
|
|
<avalondock:LayoutDocumentPane /> |
|
|
|
|
</avalondock:LayoutPanel> |
|
|
|
|
</avalondock:LayoutRoot> |
|
|
|
|
|
|
|
|
|
<avalondock:DockingManager.LayoutUpdateStrategy> |
|
|
|
|
<docking:LayoutUpdateStrategy /> |
|
|
|
|
</avalondock:DockingManager.LayoutUpdateStrategy> |
|
|
|
|
|
|
|
|
|
<avalondock:DockingManager.LayoutItemTemplateSelector> |
|
|
|
|
<docking:PaneTemplateSelector> |
|
|
|
|
<docking:PaneTemplateSelector.Mappings> |
|
|
|
|
<docking:TemplateMapping Type="{x:Type viewmodels:AssemblyListPaneModel}" Template="{StaticResource AssemblyListPaneTemplate}" /> |
|
|
|
|
<docking:TemplateMapping Type="{x:Type viewmodels:SearchPaneModel}" Template="{StaticResource SearchPaneTemplate}" /> |
|
|
|
|
<docking:TemplateMapping Type="{x:Type viewmodels:DebugStepsPaneModel}" Template="{StaticResource DebugStepsPaneTemplate}" /> |
|
|
|
|
<docking:TemplateMapping Type="{x:Type viewmodels:AnalyzerPaneModel}" Template="{StaticResource AnalyzerPaneTemplate}" /> |
|
|
|
|
<docking:TemplateMapping Type="{x:Type viewmodels:DocumentModel}" Template="{StaticResource DecompilerTextViewTemplate}" /> |
|
|
|
|
</docking:PaneTemplateSelector.Mappings> |
|
|
|
|
</docking:PaneTemplateSelector> |
|
|
|
|
</avalondock:DockingManager.LayoutItemTemplateSelector> |
|
|
|
|
|
|
|
|
|
<avalondock:DockingManager.LayoutItemContainerStyleSelector> |
|
|
|
|
<docking:PaneStyleSelector> |
|
|
|
|
<docking:PaneStyleSelector.ToolPaneStyle> |
|
|
|
|
<Style TargetType="{x:Type avalondock:LayoutAnchorableItem}"> |
|
|
|
|
<Setter Property="Title" Value="{Binding Model.Title}"/> |
|
|
|
|
<Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}"/> |
|
|
|
|
<Setter Property="ContentId" Value="{Binding Model.ContentId}"/> |
|
|
|
|
<Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}"/> |
|
|
|
|
<Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}"/> |
|
|
|
|
<Setter Property="CanClose" Value="{Binding Model.IsCloseable, Mode=TwoWay}" /> |
|
|
|
|
<Setter Property="CanHide" Value="{Binding Model.IsCloseable}" /> |
|
|
|
|
</Style> |
|
|
|
|
</docking:PaneStyleSelector.ToolPaneStyle> |
|
|
|
|
<docking:PaneStyleSelector.DocumentStyle> |
|
|
|
|
<Style TargetType="{x:Type avalondock:LayoutItem}"> |
|
|
|
|
<Setter Property="Title" Value="{Binding Model.Title}"/> |
|
|
|
|
<Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}"/> |
|
|
|
|
<Setter Property="ContentId" Value="{Binding Model.ContentId}"/> |
|
|
|
|
<Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}"/> |
|
|
|
|
<Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}"/> |
|
|
|
|
<Setter Property="CanClose" Value="{Binding Model.IsCloseable, Mode=TwoWay}" /> |
|
|
|
|
</Style> |
|
|
|
|
</docking:PaneStyleSelector.DocumentStyle> |
|
|
|
|
</docking:PaneStyleSelector> |
|
|
|
|
</avalondock:DockingManager.LayoutItemContainerStyleSelector> |
|
|
|
|
</avalondock:DockingManager> |
|
|
|
|
</DockPanel> |
|
|
|
|
</Window> |
|
|
|
|