protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { //Checks that there are no generics if (EnclosingType != null && EnclosingType.HasGenericParameters) { return; } //Shows the member selection window var win = new SelectMemberWindow(MemberFilter, SelectableMembers, DestinationModule, EnclosingType); if (win.ShowDialog().GetValueOrDefault(false)) { //Selected member var member = win.SelectedMember; //Sets icon and text using an ILEditTreeNode var node = new ILEditTreeNode(member, true); ImgIcon.Source = (ImageSource)node.Icon; LblName.Text = node.Text.ToString(); //Updates the properties HasMember = true; SelectedMember = member; } }
private static StackPanel GetContentForComboBoxItem(IMetadataTokenProvider obj) { //Gets image and text var node = new ILEditTreeNode(obj, true); ImageSource img; var text = node.Text.ToString(); if (obj is GenericParameter) { img = new BitmapImage(new Uri("pack://application:,,,/ILEdit.Plugin;component/Images/GenericType.png")); } else { img = (ImageSource)node.Icon; } //Builds the stack panel var sp = new StackPanel() { Orientation = Orientation.Horizontal }; sp.Children.Add(new Image() { Source = img, Width = 16, Height = 16, VerticalAlignment = VerticalAlignment.Center }); sp.Children.Add(new TextBlock() { Text = text, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(5, 0, 0, 0) }); //Returns return(sp); }
public GenericResolutionWindow(IGenericParameterProvider generic, TypeDefinition context) { //Component initialization InitializeComponent(); originalGeneric = generic; //Sets icon and text var node = new ILEditTreeNode(generic, true); ImgIcon.Source = (ImageSource)node.Icon; LblName.Text = node.Text.ToString(); //Sets destination type LblDestinationType.Text = new ILEditTreeNode(context, true).Text.ToString(); //Populates the list LstParameters.ItemsSource = generic.GenericParameters .Select(p => { var row = new GenericParameterRowItem() { Name = p.Name, MemberFilter = Injection.MemberFilters.Types, DestinationModule = context.Module, EnclosingType = context }; row.HasSelectedParameter = false; row.Selected += Row_Selected; return(row); }).ToArray(); }
public GenericResolutionWindow(IGenericParameterProvider generic, TypeDefinition context) { //Component initialization InitializeComponent(); originalGeneric = generic; //Sets icon and text var node = new ILEditTreeNode(generic, true); ImgIcon.Source = (ImageSource)node.Icon; LblName.Text = node.Text.ToString(); //Sets destination type LblDestinationType.Text = new ILEditTreeNode(context, true).Text.ToString(); //Populates the list LstParameters.ItemsSource = generic.GenericParameters .Select(p => { var row = new GenericParameterRowItem() { Name = p.Name, MemberFilter = Injection.MemberFilters.Types, DestinationModule = context.Module, EnclosingType = context }; row.HasSelectedParameter = false; row.Selected += Row_Selected; return row; }).ToArray(); }
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { //Checks that there are no generics if (EnclosingType != null && EnclosingType.HasGenericParameters) return; //Shows the member selection window var win = new SelectMemberWindow(MemberFilter, SelectableMembers, DestinationModule, EnclosingType); if (win.ShowDialog().GetValueOrDefault(false)) { //Selected member var member = win.SelectedMember; //Sets icon and text using an ILEditTreeNode var node = new ILEditTreeNode(member, true); ImgIcon.Source = (ImageSource)node.Icon; LblName.Text = node.Text.ToString(); //Updates the properties HasMember = true; SelectedMember = member; } }
private static StackPanel GetContentForComboBoxItem(IMetadataTokenProvider obj) { //Gets image and text var node = new ILEditTreeNode(obj, true); ImageSource img; var text = node.Text.ToString(); if (obj is GenericParameter) img = new BitmapImage(new Uri("pack://application:,,,/ILEdit.Plugin;component/Images/GenericType.png")); else img = (ImageSource)node.Icon; //Builds the stack panel var sp = new StackPanel() { Orientation = Orientation.Horizontal }; sp.Children.Add(new Image() { Source = img, Width = 16, Height = 16, VerticalAlignment = VerticalAlignment.Center }); sp.Children.Add(new TextBlock() { Text = text, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(5, 0, 0, 0) }); //Returns return sp; }