/// <summary> /// Ask AppModelControl if objModel exists. Return true if objModel exists(and vv) and, if objModel exists, it assign objModel via /// ref parameter to the existing object (objModel = existingObject) /// </summary> /// <param name="sender"></param> /// <param name="objModel"></param> /// <returns></returns> public static bool AskForObjModel(ref object sender, ref object objModel) { ModelControlEventArgs e = new ModelControlEventArgs(ref objModel); if (!_MsgDict.ContainsKey(sender)) { _MsgDict.Add(sender, null); } ObjModelAskedEvent(ref sender, e); if (_MsgDict[sender] == null) { _MsgDict.Remove(sender); AddModel(ref objModel); return(false); } objModel = _MsgDict[sender]; _MsgDict.Remove(sender); return(true); /*bool ret =(_MsgDict[sender] == null ? false : (bool)_MsgDict[sender]); * _MsgDict.Remove(sender); * return ret;*/ }
/// <summary> /// Add object Model to the corresponding dictionary, WITHOUT checking if owners exists. The model have to be asked first with /// AppModelControlMessenger.AskForModel /// </summary> /// <param name="objModel"></param> internal static void AddModel(ref object objModel) { ModelControlEventArgs e = new ModelControlEventArgs(ref objModel); ModelAddedEvent(null, e); }