/// <summary> /// Build the EditInterface for the given type. /// </summary> /// <param name="name">The name to use.</param> /// <param name="target">The target object.</param> /// <param name="validateCallback">Validate callback.</param> /// <returns>An EditInterface for the specific object.</returns> private static EditInterface buildInterface(String name, Validate validateCallback) { EditInterface createdInterface = new EditInterface(name, null, null, validateCallback); EditablePropertyInfo propertyInfo = new EditablePropertyInfo(); propertyInfo.addColumn(new EditablePropertyColumn("Name", true)); propertyInfo.addColumn(new EditablePropertyColumn("Value", false)); createdInterface.setPropertyInfo(propertyInfo); return(createdInterface); }
private void init(ListlikeAbstractor <T> list, String name, Func <T> createNewCallback, Action <T> removedCallback, Validate validateCallback, MemberScanner memberScanner) { this.list = list; this.createNewCallback = createNewCallback; this.removedCallback = removedCallback; this.validateCallback = validateCallback; //If no member scanner passed, set it to the default one if (memberScanner == null) { memberScanner = ReflectedEditInterface.DefaultScanner; } this.memberScanner = memberScanner; EditablePropertyInfo propertyInfo = new EditablePropertyInfo(); foreach (var item in this.memberScanner.getMatchingMembers(typeof(T))) { propertyInfo.addColumn(new EditablePropertyColumn(item.getWrappedName(), false)); } addPropertyCallback = add; removePropertyCallback = remove; setPropertyInfo(propertyInfo); for (int i = 0; i < list.Count; ++i) { addProperty(i); } }
/// <summary> /// Constructor. /// </summary> /// <param name="name">A name for this interface.</param> /// <param name="collection">The collection that has the elements this interface will hold.</param> /// <param name="scanner">A MemberScanner to discover the properties of T with.</param> public ReflectedCollectionEditInterface(String name, IEnumerable <T> collection, MemberScanner scanner) { this.memberScanner = scanner; this.name = name; IEnumerable <MemberWrapper> matches = memberScanner.getMatchingMembers(typeof(T)); foreach (MemberWrapper wrapper in matches) { if (ReflectedVariable.canCreateVariable(wrapper.getWrappedType())) { propertyInfo.addColumn(new EditablePropertyColumn(wrapper.getWrappedName(), false)); } } foreach (T item in collection) { addItem(item); } }
private void init(ListlikeAbstractor <T> list, String name, Validate validateCallback, Func <EditUICallback, Browser> getBrowser) { this.list = list; this.getBrowser = getBrowser; EditablePropertyInfo propertyInfo = new EditablePropertyInfo(); propertyInfo.addColumn(new EditablePropertyColumn("Value", false)); this.addPropertyCallback = add; this.removePropertyCallback = remove; this.validateCallback = validateCallback; setPropertyInfo(propertyInfo); for (int i = 0; i < list.Count; ++i) { addProperty(i); } }