public LayoutPartPlansViewModel(LayoutPartPlansProperties properties) { Title = "Планы"; IconSource = LayoutPartDescription.IconPath + "CMap.png"; _properties = properties ?? new LayoutPartPlansProperties { DeviceZoom = 30 }; UpdateLayoutPart(); }
public PlansViewModel(List<IPlanPresenter<Plan, XStateClass>> planPresenters, LayoutPartPlansProperties properties) { _properties = properties ?? new LayoutPartPlansProperties { Type = LayoutPartPlansType.All }; PlanPresenters = planPresenters; ServiceFactory.Events.GetEvent<NavigateToPlanElementEvent>().Subscribe(OnNavigate); ServiceFactory.Events.GetEvent<ShowElementEvent>().Subscribe(OnShowElement); ServiceFactory.Events.GetEvent<FindElementEvent>().Subscribe(OnFindElementEvent); ServiceFactory.Events.GetEvent<SelectPlanEvent>().Subscribe(OnSelectPlan); ServiceFactory.Events.GetEvent<ChangePlanPropertiesEvent>().Unsubscribe(OnChangePlanProperties); ServiceFactory.Events.GetEvent<ChangePlanPropertiesEvent>().Subscribe(OnChangePlanProperties); ServiceFactory.Events.GetEvent<ControlPlanEvent>().Unsubscribe(OnControlPlan); ServiceFactory.Events.GetEvent<ControlPlanEvent>().Subscribe(OnControlPlan); _initialized = false; if (_properties.Type != LayoutPartPlansType.Single) { PlanTreeViewModel = new PlanTreeViewModel(this, _properties.Type == LayoutPartPlansType.Selected ? _properties.Plans : null, _properties.Type == LayoutPartPlansType.All); PlanTreeViewModel.SelectedPlanChanged += SelectedPlanChanged; var planNavigationWidth = RegistrySettingsHelper.GetDouble("Monitor.Plans.SplitterDistance"); if (planNavigationWidth == 0) planNavigationWidth = 100; PlanNavigationWidth = new GridLength(planNavigationWidth, GridUnitType.Pixel); ApplicationService.ShuttingDown += () => { RegistrySettingsHelper.SetDouble("Monitor.Plans.SplitterDistance", PlanNavigationWidth.Value); }; } else PlanNavigationWidth = GridLength.Auto; PlanDesignerViewModel = new PlanDesignerViewModel(this, properties); }
public PlanDesignerViewModel(PlansViewModel plansViewModel, LayoutPartPlansProperties properties) { _plansViewModel = plansViewModel; DesignerCanvas = new PresenterCanvas(); _flushAdorner = new FlushAdorner(DesignerCanvas); ShowZoomSliders = properties.ShowZoomSliders; DeviceZoom = properties.DeviceZoom; AllowChangePlanZoom = properties.AllowChangePlanZoom; }