object GetOwner() { EntityTypeCustomTypeDescriptor typeDescriptor = Context.Instance as EntityTypeCustomTypeDescriptor; if (typeDescriptor != null) { return(typeDescriptor.EntityType); } EntityCustomTypeDescriptor entityDescriptor = Context.Instance as EntityCustomTypeDescriptor; if (entityDescriptor != null) { return(entityDescriptor.Entity); } return(Context.Instance); }
private List <object> ListGridItemValues(GridItem gridItem) { List <object> list = new List <object>(); try { FieldInfo field = gridItem.GetType().GetField("objs", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (field != null) { object[] objs = (object[])field.GetValue(gridItem); for (int i = 0; i < objs.Length; i++) { object obj = objs[i]; EntityCustomTypeDescriptor entityCustomTypeDescriptor = obj as EntityCustomTypeDescriptor; if (entityCustomTypeDescriptor != null) { obj = entityCustomTypeDescriptor.Entity; } list.Add(obj); } } } catch { } if (list.Count == 0) { EntityPropertyDescriptor entityPropertyDescriptor = gridItem.PropertyDescriptor as EntityPropertyDescriptor; if (entityPropertyDescriptor != null) { list.Add(entityPropertyDescriptor.Entity); } } if (list.Count == 0) { object value = gridItem.Parent.Value; if (!(value is System.Collections.ICollection)) { list.Add(gridItem.Parent.Value); } } return(list); }
private void EntitiesForm_NodeSelectChanged(TreeNode nodeNew, TreeNode nodeOld, bool changed) { PropertiesForm.ReadOnly = false; if (nodeNew == null) { UpdatePropertiesView(null); return; } Entity entity = nodeNew.Tag as Entity; if (entity != null) { EntityCustomTypeDescriptor customTypeDescriptor = new EntityCustomTypeDescriptor(entity); UpdatePropertiesView(customTypeDescriptor); return; } UpdatePropertiesView(); }