예제 #1
0
        public MainWindow()
        {
            InitializeComponent();

            guiViews = new GuiViews
            {
                TreeProject      = treeViewProject,
                EditorAssembly   = assemblerView,
                SourceView       = sourceView,
                RegisterList     = listViewRegisters,
                StackFrameView   = listViewStackFrame,
                CallStackView    = listViewCallStack,
                StackItemView    = treeViewStackItem,
                SourceScroller   = sourceScroller,
                AssemblyScroller = assemblyScroller,
                Main             = this
            };

            for (int i = 0; i < 256; ++i)
            {
                var item = new ListViewItem();
                item.Content = new RegisterBinding {
                    Name = "D" + i, Value = "<undefined>"
                };
                listViewRegisters.Items.Add(item);
            }
        }
예제 #2
0
        public Controller(IGuiEvents events, GuiViews _views, DelegateRouteSysMessages _routeSysMessages)
        {
            routeSysMessage             = _routeSysMessages;
            views                       = _views;
            events.EvFileNew           += OnFileNew;
            events.EvFileExit          += OnFileExit;
            events.EvFileClose         += OnFileClose;
            events.EvFileSave          += OnFileSave;
            events.EvFileOpen          += OnFileOpen;
            events.EvProjectAddFile    += OnProjectAddFile;
            events.EvProjectAddNewFile += OnProjectAddNewFile;
            events.EvDebugExecute      += OnDebugExecute;
            events.EvDebugStepInto     += OnStepInto;
            events.EvDebugStepOut      += OnStepOut;
            events.EvDebugStepOver     += OnStepOver;
            events.EvProjectCompile    += () =>
            {
                if (project != null)
                {
                    SetEmphasis(null);
                    project.Compile();
                }
            };

            views.TreeProject.SelectedItemChanged   += OnTreeView_SelectedItemChanged;
            views.StackFrameView.SelectionChanged   += OnStackView_SelectedItemChanged;
            views.CallStackView.SelectionChanged    += OnCallStackView_SelectionChanged;
            views.StackItemView.SelectedItemChanged += OnStackItemView_SelectionChanged;

            cpu.EvRegisterChanged += OnCPURegisterChanged;

            contextMenu = new ContextMenu();

            sourceViewPopulator = new SourceViewPopulator(views.SourceView, views.SourceScroller);
            assemblyPopulator   = new AssemblerPopulator(views.EditorAssembly, views.AssemblyScroller);
        }