public void CreateDefaultView(string view_name) { JArray ja_views = ElementJson ["Views"] as JArray; JObject jo_view = new JObject(); jo_view.Add("Name", view_name); jo_view.Add("Type", ""); jo_view.Add("Desc", ""); JObject jo_view_members = new JObject(); JArray ja_members = ElementJson ["Member"] as JArray; for (int i = 0; i < ja_members.Count; i++) { JObject jo_member = ja_members [i] as JObject; string member_name = jo_member ["Name"].Value <string> (); string member_rxtype = jo_member ["RxType"].Value <string> (); RxType member_RxType = (RxType)Enum.Parse(typeof(RxType), member_rxtype); JObject jo_view_member_value = new JObject(); jo_view_member_value.Add("Bind", CreateDefaultBindJObject(member_RxType)); jo_view_members.Add(member_name, jo_view_member_value); } jo_view.Add("Members", jo_view_members); ja_views.Add(jo_view); }
public string GetVMPropertyRefCode(JObject jo) { StringBuilder sb = new StringBuilder(); string ws_name = jo ["Workspace"].Value <string> (); JArray ja_members = jo ["Member"] as JArray; for (int i = 0; i < ja_members.Count; i++) { JObject jo_member = ja_members [i] as JObject; RxType rt = (RxType)Enum.Parse(typeof(RxType), jo_member ["RxType"].Value <string> ()); if (rt == RxType.Property) { string member_name = jo_member ["Name"].Value <string> (); string member_type = jo_member ["Type"].Value <string> (); DocType?dt = PGFrameTools.GetDocTypeByWorkspaceAndType(ws_name, member_type); if (dt.HasValue && dt.Value == DocType.Element) { string element_name = member_type.ConvertToElementName(); sb.AppendFormat(@" if (_{0}View != null) {{ if (_{0}View.GetViewModel () == null) {{ _{0}View.CreateViewModel (); }} ViewModelBase _{0}ViewModel = _{0}View.GetViewModel (); if (_{0}ViewModel != null) {{ VM.{0} = _{0}View.GetViewModel () as {1}ViewModel; }} }}" , member_name, element_name); } } } return(sb.ToString()); }
public string GetVMPropertyViewCode(JObject jo) { StringBuilder sb = new StringBuilder(); string ws_name = jo ["Workspace"].Value <string> (); JArray ja_members = jo ["Member"] as JArray; for (int i = 0; i < ja_members.Count; i++) { JObject jo_member = ja_members [i] as JObject; RxType rt = (RxType)Enum.Parse(typeof(RxType), jo_member ["RxType"].Value <string> ()); if (rt == RxType.Property) { string member_name = jo_member ["Name"].Value <string> (); string member_type = jo_member ["Type"].Value <string> (); DocType?dt = PGFrameTools.GetDocTypeByWorkspaceAndType(ws_name, member_type); if (dt.HasValue && dt.Value == DocType.Element) { string[] element_splited_type = PGFrameTools.SplitWorkspaceAndTypeName(string.Empty, member_type); string element_ws = element_splited_type [0]; string element_type = element_splited_type [1]; string element_name = element_type.ConvertToElementName(); sb.AppendFormat(@" {2}I{1}View {0}View {{ get; set; }}" , member_name, element_name, string.IsNullOrEmpty(element_ws) ? "" : element_ws + "."); } } } return(sb.ToString()); }
public void CreateDefaultMember(RxType rt, string member_name) { JArray ja_views = ElementJson ["Views"] as JArray; for (int i = 0; i < ja_views.Count; i++) { JObject jo_view = ja_views [i] as JObject; JObject jo_view_members = jo_view ["Members"] as JObject; JObject jo_member = new JObject(); jo_member.Add("Bind", CreateDefaultBindJObject(rt)); jo_view_members.Add(member_name, jo_member); } }
public JObject CreateDefaultBindJObject(RxType rt) { JObject jo = new JObject(); switch (rt) { case RxType.Property: jo.Add("Changed", false); jo.Add("PairChanged", false); break; case RxType.Collection: jo.Add("Add", false); jo.Add("CountChanged", false); jo.Add("Move", false); jo.Add("Remove", false); jo.Add("Replace", false); jo.Add("Reset", false); break; case RxType.Dictionary: jo.Add("Add", false); jo.Add("CountChanged", false); jo.Add("Remove", false); jo.Add("Replace", false); jo.Add("Reset", false); break; case RxType.Command: jo.Add("Executed", false); break; case RxType.FSM: jo.Add("Changed", false); jo.Add("PairChanged", false); break; default: break; } return(jo); }
void GenericElementMenuOnAddCallback(object obj) { ElementViewTools evtools = new ElementViewTools(SelectedJsonElement.jo); JArray ja_members = SelectedJsonElement.jo ["Member"] as JArray; // JArray ja_views = SelectedJsonElement.jo ["Views"] as JArray; RxType selected = (RxType)obj; string default_name = string.Format("Default{0}", selected.ToString()); string default_name_with_suffix = default_name; int suffix_number = 0; while (ja_members.FirstOrDefault(_ => (_ as JObject) ["Name"].Value <string> () == default_name_with_suffix) != null) { suffix_number++; default_name_with_suffix = default_name + suffix_number; } JObject jo_member = new JObject(); jo_member.Add("RxType", selected.ToString()); jo_member.Add("Name", default_name_with_suffix); if (selected != RxType.Command) { if (selected == RxType.Dictionary) { jo_member.Add("Type", "object,object"); } else { jo_member.Add("Type", "object"); } } jo_member.Add("Desc", ""); ja_members.Add(jo_member); evtools.CreateDefaultMember(selected, default_name_with_suffix); }
public static string[] GenerateCode(JObject jo_member, JObject jo_view) { string[] result = new string[2]; RxType rx_type = (RxType)Enum.Parse(typeof(RxType), jo_member ["RxType"].Value <string> ()); switch (rx_type) { case RxType.Property: result [0] = GenBindCodeReactiveMemberProperty(jo_member, jo_view); result [1] = GenFuncCodeReactiveMemberProperty(jo_member, jo_view); break; case RxType.Collection: result [0] = GenBindCodeReactiveMemberCollection(jo_member, jo_view); result [1] = GenFuncCodeReactiveMemberCollection(jo_member, jo_view); break; case RxType.Dictionary: result [0] = GenBindCodeReactiveMemberDictionary(jo_member, jo_view); result [1] = GenFuncCodeReactiveMemberDictionary(jo_member, jo_view); break; case RxType.Command: result [0] = GenBindCodeReactiveMemberCommand(jo_member, jo_view); result [1] = GenFuncCodeReactiveMemberCommand(jo_member, jo_view); break; case RxType.FSM: result [0] = GenBindCodeFSMMemberProperty(jo_member, jo_view); result [1] = GenFuncCodeFSMMemberProperty(jo_member, jo_view); break; default: break; } return(result); }
public void SetRxCallback(RxType theFunc) { Debug("Set callback"); }
// set callback public void SetRxCallback(RxType theFunc) { rxFunc = theFunc; }