Ejemplo n.º 1
0
        private BackTraceElement GetElement(int bpaddr)
        {
            BaseViewModel bvmodel = BreakPointManager.GetBVModel(bpaddr);

            if (bvmodel != null)
            {
                LadderNetworkViewModel lnvmodel = ifacade.ProjectModel.GetNetwork(bvmodel);
                if (lnvmodel == null)
                {
                    return(null);
                }
                LadderDiagramViewModel ldvmodel = lnvmodel.LDVModel;
                SimuBrpoElement        brpo     = new SimuBrpoElement();
                brpo.LDVModel = ldvmodel;
                brpo.LNVModel = lnvmodel;
                brpo.BVModel  = bvmodel;
                return(new BackTraceElement(BackTraceType.Diagram, brpo));
            }
            FuncBlock fblock = BreakPointManager.GetFBlock(bpaddr);

            if (fblock != null)
            {
                FuncBlockViewModel fbvmodel = ifacade.ProjectModel.GetFuncBlock(fblock);
                if (fbvmodel == null)
                {
                    return(null);
                }
                FuncBrpoElement brpo = new FuncBrpoElement();
                brpo.FBVModel = fbvmodel;
                brpo.FBlock   = fblock;
                return(new BackTraceElement(BackTraceType.FuncBlock, brpo));
            }
            return(new BackTraceElement(BackTraceType.External));
        }
Ejemplo n.º 2
0
 private void OnBreakpointPause(object sender, BreakpointPauseEventArgs e)
 {
     Dispatcher.Invoke(new Utility.Delegates.Execute(() =>
     {
         BaseViewModel bvmodel = BreakPointManager.GetBVModel(e.Address);
         if (bvmodel != null)
         {
             Breakpoint = bvmodel;
             ifacade.NavigateToNetwork(bvmodel);
             IEnumerable <SimuBrpoElement> fit = items.Where(
                 (_ele) => { return(_ele.BVModel == bvmodel); });
             if (fit.Count() > 0)
             {
                 SimuBrpoElement ele = fit.First();
                 int id = items.IndexOf(ele);
                 DG_Main.SelectedIndex = id;
             }
         }
     }));
 }