Пример #1
0
        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;
            }
        }
Пример #2
0
        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();
        }
Пример #5
0
        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;
            }
        }
Пример #6
0
        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;
        }