Exemple #1
0
        public DnHexBox()
        {
            SetBinding(Control.FontFamilyProperty, new Binding("FontFamily")
            {
                Source = HexSettings.Instance
            });
            SetBinding(Control.FontSizeProperty, new Binding("FontSize")
            {
                Source = HexSettings.Instance
            });
            SetResourceReference(Control.BackgroundProperty, HexBoxThemeHelper.GetBackgroundResourceKey(ColorType.HexText));
            SetResourceReference(Control.ForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexText));
            SetResourceReference(HexBox.OffsetForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexOffset));
            SetResourceReference(HexBox.Byte0ForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexByte0));
            SetResourceReference(HexBox.Byte1ForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexByte1));
            SetResourceReference(HexBox.ByteErrorForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexByteError));
            SetResourceReference(HexBox.AsciiForegroundProperty, HexBoxThemeHelper.GetForegroundResourceKey(ColorType.HexAscii));
            SetResourceReference(HexBox.CaretForegroundProperty, HexBoxThemeHelper.GetBackgroundResourceKey(ColorType.HexCaret));
            SetResourceReference(HexBox.InactiveCaretForegroundProperty, HexBoxThemeHelper.GetBackgroundResourceKey(ColorType.HexInactiveCaret));
            SetResourceReference(HexBox.SelectionBackgroundProperty, HexBoxThemeHelper.GetBackgroundResourceKey(ColorType.HexSelection));
            SetResourceReference(Control.FontStyleProperty, HexBoxThemeHelper.GetFontStyleResourceKey(ColorType.HexText));
            SetResourceReference(Control.FontWeightProperty, HexBoxThemeHelper.GetFontWeightResourceKey(ColorType.HexText));

            ContextMenuProvider.Add(this);

            BytesGroupCount = null;
            BytesPerLine    = null;
            UseHexPrefix    = null;
            ShowAscii       = null;
            LowerCaseHex    = null;
            AsciiEncoding   = null;

            InstallBindings();
        }
 private AnalyzerTreeView()
 {
     this.ShowRoot = false;
     this.Root     = new AnalyzerRootNode {
         Language = MainWindow.Instance.CurrentLanguage
     };
     this.BorderThickness = new Thickness(0);
     ContextMenuProvider.Add(this);
     MainWindow.Instance.CurrentAssemblyListChanged += MainWindow_Instance_CurrentAssemblyListChanged;
 }
Exemple #3
0
        public DecompileTabState(Language language)
        {
            var view = TextView;

            view.Tag      = this;
            this.language = language;
            ContextMenuProvider.Add(view);
            view.DragOver += view_DragOver;
            view.OnThemeUpdated();
            InstallMouseWheelZoomHandler(TextView.TextEditor.TextArea);
        }
Exemple #4
0
 public AnalyzerTreeView()
 {
     this.ShowRoot = false;
     this.Root     = new AnalyzerRootNode {
         Language = MainWindow.Instance.CurrentLanguage
     };
     this.BorderThickness = new Thickness(0);
     ContextMenuProvider.Add(this);
     MainWindow.Instance.CurrentAssemblyListChanged += MainWindow_Instance_CurrentAssemblyListChanged;
     MainWindow.Instance.SessionSettings.FilterSettings.PropertyChanged += FilterSettings_PropertyChanged;
 }
        private void App_OnStartup(object sender, StartupEventArgs e)
        {
            WcfMutexSingleInstanceRunner instanceRunner = new WcfMutexSingleInstanceRunner("8E756836-F0DE-490E-AEA5-EDAADF9C5FF8");

            if (!instanceRunner.Run(e))
            {
                instanceRunner.Dispose();
                Shutdown(0);
            }
            m_dispatcher = new DispatcherWrapper(Dispatcher.CurrentDispatcher);
            instanceRunner.SecondInstanceStarted += CreateSettingsWindow;


            #region Upgrade settings
            if (!HandMeAFile.Properties.Settings.Default.Updated)
            {
                HandMeAFile.Properties.Settings.Default.Updated = true;
                HandMeAFile.Properties.Settings.Default.Upgrade();
                HandMeAFile.Properties.Settings.Default.Save();
            }
            #endregion

            IClipboard clipboard = new ClipboardWrapper();
            m_packsRepository = new ClipboardFilesRepository(new ClipboardNotifier(), clipboard);
            m_settings        = new SettingsStorage(m_packsRepository, new FilePackSerializer(new XDocumentProvider()));
            m_packsRepository.Init(m_settings.FilePacks.Select(p => p.SetCount((p.ClipboardCount + 1) / 2)).ToArray());


            IProvideContextMenu contextMenuProvider = new ContextMenuProvider();

            IContextMenu     contextMenu      = contextMenuProvider.Provide(new IMenuItem[0]);
            IProvideMenuItem menuItemProvider = new MenuItemProvider();
            IMenuItem        settingsMenuItem = menuItemProvider.Provide("Settings");
            IMenuItem        exitMenuItem     = menuItemProvider.Provide("Exit");
            contextMenu.Add(menuItemProvider.Provide("-"));
            contextMenu.Add(settingsMenuItem);
            contextMenu.Add(exitMenuItem);
            settingsMenuItem.Click += CreateSettingsWindow;
            exitMenuItem.Click     += (senderObj, args) => Shutdown(0);
            m_contextUpdater        = new ContextMenuUpdater(m_packsRepository, contextMenu, menuItemProvider, clipboard);


            IRunTheTrayApp trayApplication = new TrayApplication(contextMenu,
                                                                 new ApplicationWrapper(this),
                                                                 new NotifyIconProvider(),
                                                                 new StaticIconProvider(new IconWrapper(HandMeAFile.Properties.Resources.HandMeAFile)),
                                                                 doubleClickAction: CreateSettingsWindow);
            trayApplication.Run();
        }
Exemple #6
0
        TabManager <TState> CreateTabManager(int insertIndex)
        {
            var tabControl = new TabControl();

            tabControl.Style = App.Current.FindResource("TabStateTabControl") as Style;
            var tabManager = new TabManager <TState>(this, tabControl, onSelectionChanged, onAddRemoveTabState);

            tabManagers.Insert(insertIndex, tabManager);
            ContextMenuProvider.Add(tabManager.TabControl);
            if (OnTabGroupAdded != null)
            {
                OnTabGroupAdded(this, TabGroupEventArgs.Empty);
            }
            return(tabManager);
        }
Exemple #7
0
        public static DataGrid PrepareDataGrid(TabPageModel tabPage, ILSpyTreeNode selectedNode)
        {
            if (!(tabPage.Content is DataGrid view && view.Name == "MetadataView"))
            {
                view = new MetaDataGrid()
                {
                    Name = "MetadataView",
                    GridLinesVisibility        = DataGridGridLinesVisibility.None,
                    CanUserAddRows             = false,
                    CanUserDeleteRows          = false,
                    CanUserReorderColumns      = false,
                    RowHeaderWidth             = 0,
                    EnableColumnVirtualization = true,
                    EnableRowVirtualization    = true,
                    IsReadOnly       = true,
                    SelectionMode    = DataGridSelectionMode.Single,
                    SelectionUnit    = DataGridSelectionUnit.CellOrRowHeader,
                    SelectedTreeNode = selectedNode,
                    CellStyle        = new Style {
                        Setters =
                        {
                            new Setter {
                                Property = Control.BorderThicknessProperty,
                                Value    = new Thickness(0)
                            }
                        }
                    }
                };
                ContextMenuProvider.Add(view);
                ScrollViewer.SetIsDeferredScrollingEnabled(view, true);
                DataGridFilter.SetIsAutoFilterEnabled(view, true);
                DataGridFilter.SetContentFilterFactory(view, new RegexContentFilterFactory());
            }
            view.RowDetailsTemplateSelector       = null;
            view.RowDetailsVisibilityMode         = DataGridRowDetailsVisibilityMode.Collapsed;
            ((MetaDataGrid)view).SelectedTreeNode = selectedNode;
            if (!view.AutoGenerateColumns)
            {
                view.Columns.Clear();
            }
            view.AutoGenerateColumns = true;

            view.AutoGeneratingColumn += View_AutoGeneratingColumn;
            view.AutoGeneratedColumns += View_AutoGeneratedColumns;

            return(view);
        }
        public void Initialize(DependencyObject d)
        {
            var fwe = d as FrameworkElement;

            if (fwe == null)
            {
                return;
            }

            if (fwe is ListBox)
            {
                ContextMenuProvider.Add(fwe, ListBoxIgnore);
            }
            else
            {
                ContextMenuProvider.Add(fwe);
            }
        }
Exemple #9
0
        public TreeEditorView()
        {
            InitializeComponent();
            contextMenuProvider          = new ContextMenuProvider();
            this.xmlTreeView.ContextMenu = new ContextMenu();
            this.DataContextChanged     += new DependencyPropertyChangedEventHandler(TreeEditorView_DataContextChanged);
            List <SchemaModel> schemas = SchemaList.GetSchemas();

            comboSchemas.ItemsSource = schemas;
            if (schemas.Count > 0)
            {
                comboSchemas.SelectedIndex = 0;
            }
            else
            {
                stackValidation.Visibility = System.Windows.Visibility.Collapsed;
            }
        }
Exemple #10
0
        public HexTabState()
        {
            this.HexBox     = new HexBox();
            this.HexBox.Tag = this;
            var scroller = new ScrollViewer();

            scroller.Content          = HexBox;
            scroller.CanContentScroll = true;
            scroller.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
            scroller.VerticalScrollBarVisibility   = ScrollBarVisibility.Auto;
            this.TabItem.Content = scroller;

            this.HexBox.SetBinding(Control.FontFamilyProperty, new Binding("FontFamily")
            {
                Source = HexSettings.Instance
            });
            this.HexBox.SetBinding(Control.FontSizeProperty, new Binding("FontSize")
            {
                Source = HexSettings.Instance
            });
            this.HexBox.SetResourceReference(Control.BackgroundProperty, GetBackgroundResourceKey(ColorType.HexText));
            this.HexBox.SetResourceReference(Control.ForegroundProperty, GetForegroundResourceKey(ColorType.HexText));
            this.HexBox.SetResourceReference(HexBox.OffsetForegroundProperty, GetForegroundResourceKey(ColorType.HexOffset));
            this.HexBox.SetResourceReference(HexBox.Byte0ForegroundProperty, GetForegroundResourceKey(ColorType.HexByte0));
            this.HexBox.SetResourceReference(HexBox.Byte1ForegroundProperty, GetForegroundResourceKey(ColorType.HexByte1));
            this.HexBox.SetResourceReference(HexBox.ByteErrorForegroundProperty, GetForegroundResourceKey(ColorType.HexByteError));
            this.HexBox.SetResourceReference(HexBox.AsciiForegroundProperty, GetForegroundResourceKey(ColorType.HexAscii));
            this.HexBox.SetResourceReference(HexBox.CaretForegroundProperty, GetBackgroundResourceKey(ColorType.HexCaret));
            this.HexBox.SetResourceReference(HexBox.InactiveCaretForegroundProperty, GetBackgroundResourceKey(ColorType.HexInactiveCaret));
            this.HexBox.SetResourceReference(HexBox.SelectionBackgroundProperty, GetBackgroundResourceKey(ColorType.HexSelection));
            this.HexBox.SetResourceReference(Control.FontStyleProperty, GetFontStyleResourceKey(ColorType.HexText));
            this.HexBox.SetResourceReference(Control.FontWeightProperty, GetFontWeightResourceKey(ColorType.HexText));

            ContextMenuProvider.Add(this.HexBox);

            InstallMouseWheelZoomHandler(HexBox);

            BytesGroupCount = null;
            BytesPerLine    = null;
            UseHexPrefix    = null;
            ShowAscii       = null;
            LowerCaseHex    = null;
            AsciiEncoding   = null;
        }
Exemple #11
0
        public static DataGrid PrepareDataGrid(TabPageModel tabPage, ILSpyTreeNode selectedNode)
        {
            if (!(tabPage.Content is DataGrid view && view.Name == "MetadataView"))
            {
                view = new MetaDataGrid()
                {
                    Name = "MetadataView",
                    GridLinesVisibility        = DataGridGridLinesVisibility.None,
                    CanUserAddRows             = false,
                    CanUserDeleteRows          = false,
                    CanUserReorderColumns      = false,
                    HeadersVisibility          = DataGridHeadersVisibility.Column,
                    EnableColumnVirtualization = true,
                    EnableRowVirtualization    = true,
                    RowHeight        = 20,
                    IsReadOnly       = true,
                    SelectionMode    = DataGridSelectionMode.Single,
                    SelectionUnit    = DataGridSelectionUnit.FullRow,
                    SelectedTreeNode = selectedNode,
                    CellStyle        = (Style)MetadataTableViews.Instance["DataGridCellStyle"],
                };
                ContextMenuProvider.Add(view);
                DataGridFilter.SetIsAutoFilterEnabled(view, true);
                DataGridFilter.SetContentFilterFactory(view, new RegexContentFilterFactory());
            }
            DataGridFilter.GetFilter(view).Clear();
            view.RowDetailsTemplateSelector       = null;
            view.RowDetailsVisibilityMode         = DataGridRowDetailsVisibilityMode.Collapsed;
            view.EnableColumnVirtualization       = true;
            view.EnableRowVirtualization          = true;
            ((MetaDataGrid)view).SelectedTreeNode = selectedNode;
            if (!view.AutoGenerateColumns)
            {
                view.Columns.Clear();
            }
            view.AutoGenerateColumns = true;

            view.AutoGeneratingColumn += View_AutoGeneratingColumn;
            view.AutoGeneratedColumns += View_AutoGeneratedColumns;

            return(view);
        }
Exemple #12
0
        private SearchPane()
        {
            InitializeComponent();
            searchModeComboBox.Items = new[] {
                new { Image = Images.Library, Name = "Types and Members" },
                new { Image = Images.Class, Name = "Type" },
                new { Image = Images.Property, Name = "Member" },
                new { Image = Images.Method, Name = "Method" },
                new { Image = Images.Field, Name = "Field" },
                new { Image = Images.Property, Name = "Property" },
                new { Image = Images.Event, Name = "Event" },
                new { Image = Images.Literal, Name = "Constant" },
                new { Image = Images.Library, Name = "Metadata Token" }
            };

            searchModeComboBox.SelectedIndex     = (int)MainWindow.Instance.SessionSettings.SelectedSearchMode;
            searchModeComboBox.SelectionChanged += (sender, e) => MainWindow.Instance.SessionSettings.SelectedSearchMode = (Search.SearchMode)searchModeComboBox.SelectedIndex;
            ContextMenuProvider.Add(listBox);

            MainWindow.Instance.CurrentAssemblyListChanged += MainWindow_Instance_CurrentAssemblyListChanged;
        }
Exemple #13
0
        /// <summary>
        ///  Initialize a new instance of the VisualContextMenu class.
        /// </summary>
        /// <param name="provider">Original source of provider details</param>
        /// <param name="items">Enabled state of the context menu.</param>
        /// <param name="keyboardActivated">Was the context menu activate by a keyboard action.</param>
        public VisualContextMenu(IContextMenuProvider provider,
                                 KryptonContextMenuCollection items,
                                 bool keyboardActivated)
            : base(true)
        {
            Redirector = provider.ProviderRedirector;

            // Create the view manager instance with root element
            ViewManager = new ViewContextMenuManager(this, new ViewLayoutNull());

            // Set the initial resolved palette to the appropriate setting
            SetPalette(provider.ProviderPalette ?? KryptonManager.GetPaletteForMode(provider.ProviderPaletteMode));

            // Set of context menu columns
            _viewColumns = new ViewLayoutStack(true);

            // Create provider instance
            _provider          = new ContextMenuProvider(provider, (ViewContextMenuManager)ViewManager, _viewColumns, NeedPaintDelegate);
            _provider.Closing += OnProviderClosing;
            _provider.Close   += OnProviderClose;
            _provider.Dispose += OnProviderClose;

            Construct(items, keyboardActivated);
        }
 public virtual IContextMenu GetContextMenu(Point location, Village village)
 {
     return(ContextMenuProvider.DefaultProvider(_map, location, village));
 }