private void OnFasenChanged(FasenChangedMessage message) { var sfc = SelectedFaseCyclus; Fasen.Clear(); foreach (var fcm in _Controller.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } if (sfc != null && Fasen.Count > 0) { foreach (var fc in Fasen) { if (fc.Naam == sfc.Naam) { SelectedFaseCyclus = sfc; } } } else if (Fasen.Count > 0) { SelectedFaseCyclus = Fasen[0]; } Fasen.BubbleSort(); }
void AddNewFaseCommand_Executed(object prm) { var fcm = new FaseCyclusModel(); string newname; var inext = 0; foreach (var fcvm in Fasen) { if (int.TryParse(fcvm.Naam, out int inewname)) { inext = inewname > inext ? inewname : inext; } } do { inext++; newname = (inext < 10 ? "0" : "") + inext; }while (!TLCGenModelManager.Default.IsElementIdentifierUnique(TLCGenObjectTypeEnum.Fase, newname)); fcm.Naam = newname; fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); var fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
void AddNewFaseCommand_Executed(object prm) { var fcm = new FaseCyclusModel(); var newname = "01"; foreach (var fcvm in Fasen) { if (Regex.IsMatch(fcvm.Naam, @"[0-9]+")) { var m = Regex.Match(fcvm.Naam, @"[0-9]+"); var next = m.Value; if (int.TryParse(next, out int inewname)) { IsElementIdentifierUniqueRequest message; do { inewname++; newname = (inewname < 10 ? "0" : "") + inewname; message = new IsElementIdentifierUniqueRequest(newname, ElementIdentifierType.Naam); Messenger.Default.Send(message); }while (!message.IsUnique); } } break; } fcm.Naam = newname; fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); var fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
public FaseCyclusTemplateViewModel(TLCGenTemplateModel <FaseCyclusModel> template) { _Template = template; foreach (var fc in template.Items) { Fasen.Add(fc); } Fasen.CollectionChanged += Fasen_CollectionChanged; if (Fasen.Any()) { SelectedFaseCyclus = Fasen.First(); } FaseCyclusTypeOpties.Clear(); var fdescs = Enum.GetValues(typeof(FaseTypeEnum)); foreach (FaseTypeEnum d in fdescs) { FaseCyclusTypeOpties.Add(d.GetDescription()); } DetectorTypeOpties.Clear(); var descs = Enum.GetValues(typeof(DetectorTypeEnum)); foreach (DetectorTypeEnum d in descs) { DetectorTypeOpties.Add(d.GetDescription()); } }
private void AddFaseCommand_Executed(object prm) { FaseCyclusModel fc = new FaseCyclusModel(); fc.Naam = "fase" + (Fasen.Count + 1); Fasen.Add(fc); }
private void UpdateFasenEnDetectoren() { Fasen.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { var fc = new RoBuGroverTabFaseViewModel(fcm.Naam); Fasen.Add(fc); } SelectedConflictGroep = SelectedConflictGroep; _ControllerRGVFileDetectoren = new Dictionary <string, string>(); _ControllerRGVHiaatDetectoren = new Dictionary <string, string>(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { foreach (DetectorModel dm in fcm.Detectoren) { if (dm.Type == Models.Enumerations.DetectorTypeEnum.Kop) { _ControllerRGVFileDetectoren.Add(dm.Naam, fcm.Naam); } if (dm.Type == Models.Enumerations.DetectorTypeEnum.Lang) { _ControllerRGVHiaatDetectoren.Add(dm.Naam, fcm.Naam); } } } }
void AddNewFaseCommand_Executed(object prm) { FaseCyclusModel fcm = new FaseCyclusModel(); string newname = "01"; int inewname = 1; foreach (FaseCyclusViewModel fcvm in Fasen) { if (Regex.IsMatch(fcvm.Naam, @"[0-9]+")) { Match m = Regex.Match(fcvm.Naam, @"[0-9]+"); string next = m.Value; if (Int32.TryParse(next, out inewname)) { inewname++; newname = (inewname < 10 ? "0" : "") + inewname.ToString(); while (!Integrity.IntegrityChecker.IsElementNaamUnique(newname)) { inewname++; newname = (inewname < 10 ? "0" : "") + inewname.ToString(); } } } } fcm.Naam = newname; fcm.Define = SettingsProvider.Instance.GetFaseCyclusDefinePrefix() + newname; SettingsProvider.Instance.ApplyDefaultFaseCyclusSettings(fcm, fcm.Define); FaseCyclusViewModel fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
public void AddFromTemplate(List <FaseCyclusModel> items) { try { foreach (FaseCyclusModel fcm in items) { if (Integrity.IntegrityChecker.IsElementDefineUnique(fcm.Define) && Integrity.IntegrityChecker.IsElementNaamUnique(fcm.Naam)) { bool IsOK = true; foreach (DetectorModel dm in fcm.Detectoren) { if (!(Integrity.IntegrityChecker.IsElementDefineUnique(dm.Define) && Integrity.IntegrityChecker.IsElementNaamUnique(dm.Naam))) { IsOK = false; break; } } if (IsOK) { FaseCyclusViewModel fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); } } } } catch { throw new NotImplementedException(); } }
private void OnFasenChanged(FasenChangedMessage message) { Fasen.Clear(); foreach (FaseCyclusModel fcm in message.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } }
public ModulesTabFasenLijstViewModel(ModulesTabViewModel modulestabvm) { foreach (FaseCyclusModel fcm in modulestabvm.Controller.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } MessageManager.Instance.Subscribe(this, new Action <FasenChangedMessage>(OnFasenChanged)); }
public FasenTabViewModel(ControllerModel controller) : base(controller) { _MaxGroentijdenLijstVM = new GroentijdenSetsLijstViewModel(_Controller); foreach (FaseCyclusModel fcm in _Controller.Fasen) { Fasen.Add(new FaseCyclusViewModel(fcm)); } Fasen.CollectionChanged += Fasen_CollectionChanged; MessageManager.Instance.Subscribe(this, new Action <GroentijdenTypeChangedMessage>(OnGroentijdenTypeChanged)); }
public override void OnSelected() { Fasen.Clear(); AlleDetectoren.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { Fasen.Add(fcm.Naam); foreach (DetectorModel dm in fcm.Detectoren) { AlleDetectoren.Add(dm.Naam); } } }
public override void OnSelected() { var sel = SelectedFaseCyclus; Fasen.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { var fcvm = new FaseCyclusViewModel(fcm); if (sel != null && fcvm.Naam == sel.Naam) { SelectedFaseCyclus = fcvm; } Fasen.Add(fcvm); } }
private void BuildFasenList() { Fasen.Clear(); foreach (FaseCyclusModel m in _Controller.Fasen) { if (m.Naam != _HDIngreep.FaseCyclus && m.HDIngreep && !(_HDIngreep.MeerealiserendeFaseCycli.Where(x => x.FaseCyclus == m.Naam).Count() > 0)) { Fasen.Add(m.Naam); } } if (Fasen.Count > 0) { SelectedFase = Fasen[0]; } }
public void InsertItemsFromTemplate(List <FaseCyclusModel> items) { if (_Controller == null) { return; } foreach (var fc in items) { if (!(TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, fc.Naam, TLCGenObjectTypeEnum.Fase) && (fc.Detectoren.Count == 0 || fc.Detectoren.All(x => TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, x.Naam, TLCGenObjectTypeEnum.Detector) != false)))) { MessageBox.Show("Error bij toevoegen van fase met naam " + fc.Naam + ".\nFase en/of bijbehorende detectie is niet uniek in de regeling.", "Error bij toepassen template"); return; } } foreach (var fc in items) { Fasen.Add(new FaseCyclusViewModel(fc)); } }
public override void OnSelected() { var temp = SelectedFaseCyclus; Fasen.Clear(); SelectedFaseCyclus = null; foreach (var fcm in _Controller.Fasen) { var fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); if (temp == null || fcvm.Naam != temp.Naam) { continue; } SelectedFaseCyclus = fcvm; temp = null; } if (SelectedFaseCyclus == null && Fasen.Count > 0) { SelectedFaseCyclus = Fasen[0]; } }
void RemoveFaseCommand_Executed(object prm) { bool changed = false; List <FaseCyclusModel> remfcs = new List <FaseCyclusModel>(); if (SelectedFaseCycli != null && SelectedFaseCycli.Count > 0) { changed = true; foreach (FaseCyclusViewModel fcvm in SelectedFaseCycli) { TLCGenControllerModifier.Default.RemoveSignalGroupFromController(fcvm.Naam); remfcs.Add(fcvm.FaseCyclus); } SelectedFaseCycli = null; } else if (SelectedFaseCyclus != null) { changed = true; remfcs.Add(SelectedFaseCyclus.FaseCyclus); TLCGenControllerModifier.Default.RemoveSignalGroupFromController(SelectedFaseCyclus.Naam); SelectedFaseCyclus = null; } if (changed) { Fasen.CollectionChanged -= Fasen_CollectionChanged; Fasen.Clear(); foreach (var fc in _Controller.Fasen) { Fasen.Add(new FaseCyclusViewModel(fc)); } Fasen.CollectionChanged += Fasen_CollectionChanged; Messenger.Default.Send(new FasenChangedMessage(null, remfcs)); } }
private void CollectAllIO() { Fasen.Clear(); Detectoren.Clear(); OverigeUitgangen.Clear(); OverigeIngangen.Clear(); bool[] done = new bool[20]; for (int d = 0; d < 20; ++d) { done[d] = false; } foreach (var per in _Controller.PeriodenData.Perioden) { switch (per.Type) { case PeriodeTypeEnum.Groentijden: case PeriodeTypeEnum.Overig: per.BitmapDataRelevant = true; per.BitmapNaam = per.Naam; break; default: per.BitmapDataRelevant = false; break; } } foreach (var i in GetAllIOElements(_Controller)) { switch (i.IOType) { case BitmappedItemTypeEnum.Fase: Fasen.Add(i); break; case BitmappedItemTypeEnum.Detector: Detectoren.Add(i); break; case BitmappedItemTypeEnum.Uitgang: OverigeUitgangen.Add(i); break; case BitmappedItemTypeEnum.Ingang: OverigeIngangen.Add(i); break; } } // IO from plugins foreach (var v in TLCGenPluginManager.Default.ApplicationPlugins) { if ((v.Item1 & TLCGenPluginElems.IOElementProvider) == TLCGenPluginElems.IOElementProvider) { var pl = v.Item2 as ITLCGenElementProvider; var initems = pl.GetInputItems(); var outitems = pl.GetOutputItems(); foreach (var i in initems) { OverigeIngangen.Add(new BitmappedItemViewModel(i, i.Naam, BitmappedItemTypeEnum.Ingang)); } foreach (var o in outitems) { OverigeUitgangen.Add(new BitmappedItemViewModel(o, o.Naam, BitmappedItemTypeEnum.Uitgang)); } } } foreach (var v in TLCGenPluginManager.Default.ApplicationParts) { if ((v.Item1 & TLCGenPluginElems.IOElementProvider) == TLCGenPluginElems.IOElementProvider) { var pl = v.Item2 as ITLCGenElementProvider; var initems = pl.GetInputItems(); var outitems = pl.GetOutputItems(); foreach (var i in initems) { OverigeIngangen.Add(new BitmappedItemViewModel(i, i.Naam, BitmappedItemTypeEnum.Ingang)); } foreach (var o in outitems) { OverigeUitgangen.Add(new BitmappedItemViewModel(o, o.Naam, BitmappedItemTypeEnum.Uitgang)); } } } }
public ControllerViewModel(MainWindowViewModel mainwindowvm, ControllerModel controller) { _MainWindowVM = mainwindowvm; _Controller = controller; // Add data from the Model to the ViewModel structure foreach (FaseCyclusModel fcm in _Controller.Fasen) { FaseCyclusViewModel fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); } foreach (DetectorModel dm in _Controller.Detectoren) { DetectorViewModel dvm = new DetectorViewModel(dm); Detectoren.Add(dvm); } foreach (GroentijdenSetModel mgm in _Controller.GroentijdenSets) { GroentijdenSetViewModel mgvm = new GroentijdenSetViewModel(mgm); MaxGroentijdenSets.Add(mgvm); } MessageManager.Instance.Subscribe(this, new Action <ControllerDataChangedMessage>(OnControllerDataChanged)); MessageManager.Instance.Subscribe(this, new Action <NameChangedMessage>(OnNameChanged)); MessageManager.Instance.Subscribe(this, new Action <DefineChangedMessage>(OnDefineChanged)); MessageManager.Instance.Subscribe(this, new Action <UpdateTabsEnabledMessage>(OnUpdateTabsEnabled)); MessageManager.Instance.Subscribe(this, new Action <GetDetectorListReqeust <List <DetectorModel>, object> >(OnDetectorListRequested)); // Connect CollectionChanged event handlers MaxGroentijdenSets.CollectionChanged += MaxGroentijdenSets_CollectionChanged; if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == AlgemeenTabVM.DisplayName).Any()) { TabItems.Add(AlgemeenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == FasenTabVM.DisplayName).Any()) { TabItems.Add(FasenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == DetectorenTabVM.DisplayName).Any()) { TabItems.Add(DetectorenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == CoordinatiesTabVM.DisplayName).Any()) { TabItems.Add(CoordinatiesTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == ModulesTabVM.DisplayName).Any()) { TabItems.Add(ModulesTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == BitmapTabVM.DisplayName).Any()) { TabItems.Add(BitmapTabVM as ITLCGenTabItem); } foreach (ITLCGenTabItem item in _MainWindowVM.TabItems) { if (!TabItems.Contains(item)) { TabItems.Add(item); } } SelectedTab = AlgemeenTabVM as ITLCGenTabItem; SelectedTabIndex = 0; }