예제 #1
0
        public Control CreateControl()
        {
            var uiService  = services.RequireService <IDecompilerShellUiService>();
            var uiPrefsSvc = services.RequireService <IUiPreferencesService>();

            this.control      = new LowLevelView();
            this.Control.Font = uiPrefsSvc.DisassemblerFont ?? new Font("Lucida Console", 10F); //$TODO: use user preference
            this.Control.CurrentAddressChanged += LowLevelView_CurrentAddressChanged;

            this.Control.ImageMapView.SelectedAddressChanged += ImageMapView_SelectedAddressChanged;

            this.Control.MemoryView.SelectionChanged += MemoryView_SelectionChanged;
            this.Control.MemoryView.ContextMenu       = uiService.GetContextMenu(MenuIds.CtxMemoryControl);
            this.control.MemoryView.Services          = this.services;

            this.Control.DisassemblyView.SelectedObjectChanged += DisassemblyView_SelectedObjectChanged;
            this.Control.DisassemblyView.ContextMenu            = uiService.GetContextMenu(MenuIds.CtxDisassembler);
            this.Control.DisassemblyView.Navigate += DisassemblyControl_Navigate;

            this.Control.ToolBarGoButton.Click         += ToolBarGoButton_Click;
            this.Control.ToolBarAddressTextbox.KeyDown += ToolBarAddressTextbox_KeyDown;

            this.navInteractor = new NavigationInteractor();
            this.navInteractor.Attach(this.Control);

            typeMarker               = new TypeMarker(control.MemoryView);
            typeMarker.TextChanged  += typeMarker_FormatType;
            typeMarker.TextAccepted += typeMarker_TextAccepted;

            return(control);
        }
예제 #2
0
 public SearchResultView(ListView lv)
 {
     this.listView = lv;
     this.listView.Columns.Clear();
     this.typeMarker = new TypeMarker(listView);
 }