protected override void UpdateEditorInternal(IEditableObject item, Control editor) { ListControl ddl = (ListControl) editor; ddl.Items.AddRange(GetListItems(item)); if (item[Name] != null) SetValue(ddl, GetValue(item)); }
public override bool UpdateItem(IEditableObject item, Control editor) { ListControl ddl = (ListControl)editor; object one = GetValue(ddl); object two = GetValue(item); if (one == null && two.ToString() == string.Empty) {//do nothing - this means the same as them being equal } else if (one == null && !IsRequired) { //the below case converting one to a ContentItem will error (and thus prevents the item from being saved), so set to null item[Name] = null; return true; } else if (one == null && IsRequired) { //throw a better error than the one which would be thrown throw (new Exception("This parameter (in the dropdownlist) is compulsory")); } else if (((ContentItem)one).ID.ToString() == two.ToString()) {//do nothing - this means the same as them being equal } else if (GetValue(ddl) != GetValue(item)) { item[Name] = GetValue(ddl); return true; } return false; }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { CheckBoxList cbl = (CheckBoxList) editor; cbl.Items.AddRange(GetListItems(item)); PropertyCollection dc = item.GetDetailCollection(Name, false); if (dc != null) { foreach (object detail in dc) { string value = GetValue(detail); ListItem li = cbl.Items.FindByValue(value); if (li != null) { li.Selected = true; } else { li = new ListItem(value); li.Selected = true; li.Attributes["style"] = "color:silver"; cbl.Items.Add(li); } } } }
public override bool UpdateItem(IEditableObject item, Control editor) { CompositeField placeHolder = (CompositeField)editor; DateField tb = (DateField)placeHolder.Items[0]; bool result = false; DateTime? currentDate = item[Name] as DateTime?; //this line was not storing a date if set to the original value - in the case of a date that original value might //be DateTime.Now!!! So put in a check if ((currentDate != null && (tb.SelectedDate.Date != currentDate.Value.Date || currentDate == DateTime.Now.Date)) || currentDate == null) { currentDate = tb.SelectedDate.Date.Add((currentDate ?? DateTime.Now).TimeOfDay); item[Name] = currentDate; result = true; } if (IncludeTime) { TimeField timeField = (TimeField) placeHolder.Items[1]; if ((currentDate != null && timeField.SelectedTime != currentDate.Value.TimeOfDay) || currentDate == null) { DateTime newDate = (currentDate ?? DateTime.Now).Date.Add(timeField.SelectedTime); item[Name] = newDate; result = true; } } return result; }
protected override ListItem[] GetListItems(IEditableObject contentItem) { List<ListItem> items = Enumerable.Range(_min, _max - _min + 1).Select(i => new ListItem(i.ToString())).ToList(); if (!Required) items.Insert(0, new ListItem(string.Empty)); return items.ToArray(); }
public override bool UpdateItem(IEditableObject item, Control editor) { CheckBoxList checkBoxList = (CheckBoxList)editor; Product product = (Product)item; // Clear any existing variation configurations. foreach (VariationConfiguration variationConfiguration in product.GetChildren<VariationConfiguration>().ToArray()) Context.Persister.Delete(variationConfiguration); foreach (ListItem listItem in checkBoxList.Items.Cast<ListItem>().Where(li => li.Selected)) { VariationPermutation variationPermutation = new VariationPermutation(); int[] variationIDs = listItem.Value.Split(',').Select(s => Convert.ToInt32(s)).ToArray(); foreach (int variationID in variationIDs) variationPermutation.Variations.Add(Context.Persister.Get(variationID)); VariationConfiguration variationConfiguration = new VariationConfiguration { Permutation = variationPermutation, Available = true }; variationConfiguration.AddTo(product); } return true; }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { TextBox tb = (TextBox)editor; tb.Text = string.Empty; foreach (ContentItem child in ((ContentItem)item).GetChildren()) tb.Text += child.Title + Environment.NewLine; }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { base.UpdateEditorInternal(item, editor); if (((CroppedImage)item).Data != null) { //check to see if the image is large enough... CroppedImage image = (CroppedImage)item; System.Drawing.Image imageForSize = System.Drawing.Image.FromStream(new MemoryStream(image.Data)); int ActualWidth = imageForSize.Width; int ActualHeight = imageForSize.Height; imageForSize.Dispose(); if (ActualWidth > image.FixedWidthValue && ActualHeight > image.FixedHeightValue) { string selected = System.Web.HttpContext.Current.Request.QueryString["selected"]; editor.Controls.AddAt(editor.Controls.Count, new LiteralControl("<div><p>Preview of how the image will look on the page</p><br/><p><a href=\"/admin/ImageCrop.aspx?id=" + image.ID + "&selected=" + selected + "\">Edit Crop</a></p><br/>")); editor.Controls.AddAt(editor.Controls.Count, new LiteralControl("<img src=\"" + ((CroppedImage)image).GetUrl(image.FixedWidthValue, image.FixedHeightValue, true, SoundInTheory.DynamicImage.DynamicImageFormat.Jpeg, false) + "?rand=" + new System.Random().Next(1000) + "\" /></div><br/><br/>")); } else { editor.Controls.AddAt(editor.Controls.Count, new LiteralControl("<div><p>Image is not large enough to be cropped - it is advised that you upload a larger image</p><br/>")); } } }
public override bool UpdateItem(IEditableObject item, Control editor) { PropertyCollection detailCollection = item.GetDetailCollection(Name, true); BaseDetailCollectionEditor detailCollectionEditor = (BaseDetailCollectionEditor) editor; List<PropertyData> propertyDataToDelete = new List<PropertyData>(); // First pass saves or creates items. for (int i = 0; i < detailCollectionEditor.Editors.Count; i++) { if (!detailCollectionEditor.DeletedIndexes.Contains(i)) { PropertyData existingDetail = (detailCollection.Count > i) ? detailCollection.Details[i] : null; object newDetail; CreateOrUpdateDetailCollectionItem((ContentItem) item, existingDetail, detailCollectionEditor.Editors[i], out newDetail); if (newDetail != null) if (existingDetail != null) existingDetail.Value = newDetail; else detailCollection.Add(newDetail); } else { propertyDataToDelete.Add(detailCollection.Details[i]); } } // Do a second pass to delete the items, this is so we don't mess with the indices on the first pass. foreach (PropertyData propertyData in propertyDataToDelete) detailCollection.Remove(propertyData); return detailCollectionEditor.DeletedIndexes.Count > 0 || detailCollectionEditor.AddedEditors; }
public override bool UpdateItem(IEditableObject item, Control editor) { //check if there's a value yet... if (item[Name] == null) return true; else { ListControl ddl = (ListControl)editor; string selectedInEditor = ""; foreach (ListItem listItem in ddl.Items) { if (listItem.Selected) selectedInEditor += "_" + listItem.Value; } System.Collections.Generic.List<int> orig_ddl = (System.Collections.Generic.List<int>)item[Name]; string selectedInObject = ""; foreach (int val in orig_ddl) { selectedInObject += "_" + val; } if (selectedInEditor != selectedInObject) { item[Name] = GetValue(ddl); return true; } } return false; }
protected override ListItem[] GetListItems(IEditableObject item) { return Zeus.Find.EnumerateAccessibleChildren(Zeus.Find.StartPage).NavigablePages() .ToList() .OrderBy(i => i.HierarchicalTitle) .Select(i => new ListItem { Value = i.ID.ToString(), Text = i.Parent.Title + " - " + i.Title }) .ToArray(); }
protected override ListItem[] GetListItems(IEditableObject item) { IQueryable<ContentItem> contentItems = Context.Current.Finder.QueryItems(); var tempContentItems = ((IQueryable) contentItems).OfType(TypeFilter).OfType<object>(); return tempContentItems.ToArray().Cast<ContentItem>() .Select(p => new ListItem(p.Title, p.ID.ToString())) .ToArray(); }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { BaseDetailCollectionEditor detailCollectionEditor = (BaseDetailCollectionEditor) editor; PropertyCollection detailCollection = item.GetDetailCollection(Name, true); PropertyData[] details = new PropertyData[detailCollection.Count]; detailCollection.CopyTo(details, 0); detailCollectionEditor.Initialize(details); }
public override bool UpdateItem(IEditableObject item, Control editor) { CheckBoxList cbl = (CheckBoxList) editor; IEnumerable selected = GetSelectedItems(cbl.Items.Cast<ListItem>().Where(li => li.Selected)); PropertyCollection dc = item.GetDetailCollection(Name, true); dc.Replace(selected); return true; }
public FeatureInteractor(ILayer layer, IFeature feature, VectorStyle vectorStyle, IEditableObject editableObject) { Layer = layer; SourceFeature = feature; VectorStyle = vectorStyle; FeatureRelationEditors = new List <IFeatureRelationInteractor>(); EditableObject = editableObject; CreateTrackers(); }
protected override void EndEditCore() { DataGridContext dataGridContext = DataGridControl.GetDataGridContext(this); base.EndEditCore(); DataGridCollectionViewBase dataGridCollectionViewBase = (dataGridContext == null) ? null : dataGridContext.ItemsSourceCollection as DataGridCollectionViewBase; try { if (dataGridCollectionViewBase != null) { if (dataGridCollectionViewBase.CurrentEditItem == this.DataContext) { dataGridCollectionViewBase.CommitEdit(); } } else { IEditableObject editableObject = this.EditableObject; // editableObject can be equal to this when the datarow is directly inserted as Items in the DataGridControl. if ((editableObject != null) && (editableObject != this)) { editableObject.EndEdit(); } } } catch (Exception exception) { // Note that we do not update the created cell's Content from the source in case the IEditableObject EndEdit implementation // throwed an exception. This is mainly due because we want to make sure that we do not lose all of the edited cells values. // This way, the end user will have the chance to correct the mistakes without loosing everything he typed. // If EndEdit throwed, call BeginEdit on the IEditableObject to make sure that it stays in edit mode. // We don't have to do this when bound to a DataGridCollectionView since it will take care of it. if (dataGridCollectionViewBase == null) { IEditableObject editableObject = this.EditableObject; // editableObject can be equal to this when the datarow is directly inserted as Items in the DataGridControl. if ((editableObject != null) && (editableObject != this)) { editableObject.BeginEdit(); } } // This method will set a validation error on the row and throw back a DataGridValidationException so that // the row stays in edition. Row.SetRowValidationErrorOnException(this, exception); } // Update the created cell's Content from the source in case the IEditableObject EndEdit implementation rectified // some values. this.UpdateCellsContentBindingTarget(); }
public void BeginEdit() { IEditableObject wrappedObject = _wrappedObject as IEditableObject; if (wrappedObject != null) { wrappedObject.BeginEdit(); } }
public void CancelEdit() { IEditableObject wrappedObject = _wrappedObject as IEditableObject; if (wrappedObject != null) { wrappedObject.CancelEdit(); } }
public void EndEdit() { IEditableObject wrappedObject = _wrappedObject as IEditableObject; if (wrappedObject != null) { wrappedObject.EndEdit(); } }
public void CanCreateADynamicMultiMockFromTwoInterfacesNonGeneric() { object o = MockRepository.MockMulti <IDemo>(new[] { typeof(IEditableObject) }); IDemo demo = o as IDemo; IEditableObject editable = o as IEditableObject; CanCreateADynamicMultiMockFromTwoInterfacesCommon(demo, editable); }
public FeatureInteractor(ILayer layer, IFeature feature, VectorStyle vectorStyle, IEditableObject editableObject) { Layer = layer; SourceFeature = feature; VectorStyle = vectorStyle; FeatureRelationEditors = new List<IFeatureRelationInteractor>(); EditableObject = editableObject; CreateTrackers(); }
public void CanCreateADynamicMultiMockFromTwoInterfacesGeneric() { IDemo demo = MockRepository.Mock <IDemo, IEditableObject>(); demo.SetUnexpectedBehavior(UnexpectedCallBehaviors.BaseOrDefault); IEditableObject editable = demo as IEditableObject; CanCreateADynamicMultiMockFromTwoInterfacesCommon(demo, editable); }
public FeatureEditor(ICoordinateConverter coordinateConverter, ILayer layer, IFeature feature, VectorStyle vectorStyle, IEditableObject editableObject) { CoordinateConverter = coordinateConverter; Layer = layer; SourceFeature = feature; VectorStyle = vectorStyle; TopologyRules = new List <IFeatureRelationEditor>(); EditableObject = editableObject; }
private void ControladorItemEndEdit(IEditableObject sender) { // Generar el evento ItemEndEdit de la colección por cada // evento ItemEndEdit generado por un item CTelefonoBO if (ItemEndEdit != null) { ItemEndEdit(sender); } }
public static void CancelEdit(IEditableObject model) { if (!_propertyValues.ContainsKey(model)) return; foreach (var item in _propertyValues[model]) { item.Key.SetValue(model, item.Value); } }
public void organization_ItemEndEdit(IEditableObject x) { OrganizationVM organization = (OrganizationVM)x; List <MemberVM> relatedMembers = MemberVM.FindByOrganizationId(Members, organization.Id); foreach (MemberVM member in relatedMembers) { member.OrganizationName = organization.OrganizationName; } }
public override bool UpdateItem(IEditableObject item, Control editor) { ListControl ddl = (ListControl) editor; if (GetValue(ddl) != GetValue(item)) { item[Name] = GetValue(ddl); return true; } return false; }
public void CanCreateADynamicMultiMockFromTwoInterfacesNonGeneric() { MockRepository mocks = new MockRepository(); object o = mocks.DynamicMultiMock(typeof(IDemo), typeof(IEditableObject)); IDemo demo = o as IDemo; IEditableObject editable = o as IEditableObject; CanCreateADynamicMultiMockFromTwoInterfacesCommon(mocks, demo, editable); }
public override bool UpdateItem(IEditableObject item, Control editor) { TimePicker range = (TimePicker) editor; if ((string) item[Name] != range.Text) { item[Name] = range.Text; return true; } return false; }
/// <include file='doc\PropertyManager.uex' path='docs/doc[@for="PropertyManager.EndCurrentEdit"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public override void EndCurrentEdit() { PullData(); IEditableObject obj = this.Current as IEditableObject; if (obj != null) { obj.EndEdit(); } }
/// <summary> /// HACK: fix this someday! /// For legacy reasons IsEditing can be false, even though there are nested edit actions waiting /// on the stack. This method is to determine if all nested edit actions are actually finished. /// </summary> /// <param name="obj"></param> /// <returns></returns> public static bool IsNestedEditingDone(this IEditableObject obj) { if (obj.IsEditing) { return(false); } var editableObjectUnique = obj as EditableObjectUnique <long>; return(editableObjectUnique == null || editableObjectUnique.IsNestedEditingDone()); }
public override void CancelCurrentEdit() { IEditableObject current = this.Current as IEditableObject; if (current != null) { current.CancelEdit(); } base.PushData(); }
public override void EndCurrentEdit() { PullData(out bool success); if (success) { IEditableObject obj = Current as IEditableObject; obj?.EndEdit(); } }
private static IEnumerable<PropertyInfo> GetOrCreatePropertyInfos(IEditableObject model) { var modelType = model.GetType(); if (_propertyInfos.ContainsKey(modelType)) return _propertyInfos[modelType]; else return from p in model.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public) where p.SetMethod != null select p; }
protected override object GetValue(IEditableObject item) { string [] result = new string [0]; var linkedItems = item[Name] as IList<int>; if (linkedItems != null) result = linkedItems.Select(p => p.ToString()).ToArray(); return result; }
/// <include file='doc\PropertyManager.uex' path='docs/doc[@for="PropertyManager.CancelCurrentEdit"]/*' /> public override void CancelCurrentEdit() { IEditableObject obj = this.Current as IEditableObject; if (obj != null) { obj.CancelEdit(); } PushData(); }
public override void OnApplyTemplate() { base.OnApplyTemplate(); if (DataContext is IEditableObject) { _context = (IEditableObject)DataContext; } var edit = (Button)GetTemplateChild("EditButton"); edit.Click += (s, e) => { if (_context != null) { _context.BeginEdit(); } _hostContent.ContentTemplate = EditTemplate; VisualStateManager.GoToState(this, "Edit", true); }; var cancelEdit = (Button)GetTemplateChild("CancelButton"); cancelEdit.Click += (s, e) => { if (_context != null) { _context.CancelEdit(); } _hostContent.ContentTemplate = ReadOnlyTemplate; VisualStateManager.GoToState(this, "ReadOnly", true); }; var saveButton = (Button)GetTemplateChild("SaveButton"); saveButton.Click += (s, e) => { if (_context != null) { if (_context is ICanSave) { if (((ICanSave)_context).CanSave()) { _context.EndEdit(); _hostContent.ContentTemplate = ReadOnlyTemplate; VisualStateManager.GoToState(this, "ReadOnly", true); } } } }; _hostContent = (ContentControl)GetTemplateChild("HostContent"); _hostContent.Content = DataContext; _hostContent.ContentTemplate = ReadOnlyTemplate; }
public void CanCreateADynamicMultiMockFromTwoInterfacesNonGeneric() { object o = MockRepository.MockMulti <IDemo>(new Type[] { typeof(IEditableObject) }); o.SetUnexpectedBehavior(UnexpectedCallBehaviors.BaseOrDefault); IDemo demo = o as IDemo; IEditableObject editable = o as IEditableObject; CanCreateADynamicMultiMockFromTwoInterfacesCommon(demo, editable); }
public override bool UpdateItem(IEditableObject item, Control editor) { object editorValue = ((NameEditor)editor).Text; object itemValue = item[Name]; if (!AreEqual(editorValue, itemValue)) { item[Name] = ((NameEditor)editor).Text; return true; } return false; }
public static void CancelEdit(IEditableObject model) { if (!_propertyValues.ContainsKey(model)) { return; } foreach (var item in _propertyValues[model]) { item.Key.SetValue(model, item.Value); } }
public override bool UpdateItem(IEditableObject item, Control editor) { ITextControl tb = editor as ITextControl; string value = (tb.Text == DefaultValue) ? null : tb.Text; if (!AreEqual(value, (item[Name] == null ? null : item[Name].ToString()))) { item[Name] = value; return true; } return false; }
public override bool UpdateItem(IEditableObject item, Control editor) { TimeRange range = editor as TimeRange; if ((string) item[Name] != range.From || (string) item[NameEndRange] != range.To) { item[Name] = range.From; item[NameEndRange] = range.To; return true; } return false; }
///<summary> /// Revert all changes and restore original values. ///</summary> public override void CancelChanges() { IEditableObject obj = (IEditableObject)this; obj.CancelEdit(); this.entityData = null; if (this._originalData != null) { this.entityData = this._originalData.Clone() as MotoreEntityData; } }
private void ItemEndEditHandler(IEditableObject sender) { EditableDeviceInfo8003 o = (EditableDeviceInfo8003)sender; if (o.Code != null) { _deviceInfo8003Service = new SCA.BusinessLib.BusinessLogic.DeviceService8003(); _deviceInfo8003Service.TheLoop = _loop; o.Loop = _loop; _deviceInfo8003Service.Update(o.ToDeviceInfo8003()); } }
public override void EndCurrentEdit() { PullData(); IEditableObject editable = data_source as IEditableObject; if (editable == null) { return; } editable.EndEdit(); }
public override void CancelCurrentEdit() { IEditableObject editable = data_source as IEditableObject; if (editable == null) { return; } editable.CancelEdit(); PushData(); }
private void ItemEndEditHandler(IEditableObject sender) { //if (ItemEndEdit != null) //{ // ItemEndEdit(sender); //} EditableManualControlBoard o = (EditableManualControlBoard)sender; o.Controller = _controller; o.ControllerID = _controller.ID; _manualControlBoardService.Update(o.ToManualControlBoard()); }
protected override ListItem[] GetListItems(IEditableObject contentItem) { Array values = Enum.GetValues(_enumType); ListItem[] items = new ListItem[values.Length]; for (int i = 0; i < values.Length; i++) { int value = (int) values.GetValue(i); string name = EnumHelper.GetEnumValueDescription(_enumType, Enum.GetName(_enumType, value)); items[i] = new ListItem(name, value.ToString()); } return items; }
protected internal virtual void SetColumnValueAtRow(CurrencyManager source, int rowNum, object value) { CheckValidDataSource(source); IEditableObject editable = source [rowNum] as IEditableObject; if (editable != null) { editable.BeginEdit(); } property_descriptor.SetValue(source [rowNum], value); }
public static void BeginEdit(IEditableObject model) { if (_propertyValues.ContainsKey(model)) _propertyValues.Remove(model); var values = new Dictionary<PropertyInfo, object>(); _propertyValues.Add(model, values); var props = GetOrCreatePropertyInfos(model); foreach (var prop in props) { values.Add(prop, prop.GetValue(model)); } }
private void OnItemEndEdit(IEditableObject sender, EventArgs e) { if (ItemEndEdit != null) { int cnt = ItemEndEdit.GetInvocationList().Length; if (cnt > 0) { System.Diagnostics.Debug.WriteLine($"There are {cnt} subscribers to this ViewProvider's ItemEndEdit event."); } } Interlocked.CompareExchange(ref ItemEndEdit, null, null)?.Invoke(sender, e); }
void ObjectsItemEndEdit(IEditableObject sender) { RecursoFactibleViewModel UIObject = sender as RecursoFactibleViewModel; try { RecursoFactibleDataAccess.UpdateRecursoFactible(UIObject.GetDataObject()); } catch (Exception ex) { log.Error(ex.StackTrace); } }
void ObjectsItemEndEdit(IEditableObject sender) { PeriodicBarraViewModel UIObject = sender as PeriodicBarraViewModel; try { PeriodicBarraDataAccess.UpdatePeriodicBarra(UIObject.GetDataObject()); } catch (Exception ex) { log.Error(ex.StackTrace); } }
public void AsyncLoadManagerSerializationTest() { Csla.Test.Basic.Children list = Csla.Test.Basic.Children.NewChildren(); list.Add("1"); list.Add("2"); IEditableObject item = list[1] as IEditableObject; int editLevel = (int)item.GetType().GetProperty("EditLevel", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.FlattenHierarchy).GetValue(item, null); object manager = item.GetType().GetProperty("LoadManager", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.FlattenHierarchy).GetValue(item, null); item.BeginEdit(); int newEditLevel = (int)item.GetType().GetProperty("EditLevel", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.FlattenHierarchy).GetValue(item, null); Assert.AreEqual(editLevel + 1, newEditLevel, "Edit level incorrect after begin edit"); }
void ObjectsItemEndEdit(IEditableObject sender) { CortePeriodoViewModel UIObject = sender as CortePeriodoViewModel; try { CortePeriodoDataAccess.UpdateCortePeriodo(UIObject.GetDataObject()); } catch (Exception ex) { log.Error(ex.StackTrace); } }
public override bool UpdateItem(IEditableObject item, Control editor) { ListControl ddl = (ListControl)editor; string selectedText = ""; if (!string.IsNullOrEmpty(ddl.SelectedValue)) selectedText = Enum.GetName(_enumType, Convert.ToInt32(ddl.SelectedValue)); if (selectedText != (item[Name] == null ? string.Empty : item[Name].ToString())) { item[Name] = GetValue(ddl); return true; } return false; }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { CompositeEditor ce = editor as CompositeEditor; File f = item as File; if (f.Size != null) { ce.Upload.Visible = false; ce.ChangeName.Text = f.Name; } else { ce.ChangeName.Visible = false; } }
public override bool UpdateItem(IEditableObject item, Control editor) { CheckBoxList cbl = editor as CheckBoxList; List<Items.Role> roles = new List<Items.Role>(); foreach (ListItem li in cbl.Items) if (li.Selected) { Items.Role role = Context.Current.Resolve<IWebSecurityManager>().GetRole(li.Value); roles.Add(role); } PropertyCollection dc = item.GetDetailCollection(Name, true); dc.Replace(roles); return true; }
protected override void UpdateEditorInternal(IEditableObject item, Control editor) { // Create editors for each of the possible permutations of variations. CheckBoxList checkBoxList = (CheckBoxList) editor; Product product = (Product) item; // Build possible permutations. IEnumerable<IEnumerable<Variation>> permutations = GetPermutations(product); if (permutations != null) foreach (IEnumerable<Variation> permutation in permutations) { ListItem listItem = new ListItem(permutation.Join(v => v.Title, ", "), permutation.Join(v => v.ID.ToString(), ",")); listItem.Selected = HasPermutation(product, permutation); checkBoxList.Items.Add(listItem); } }
public ContextMenu (Placeholder ph) { MenuItem item; editable = ph; this.widget = ph; item = LabelItem (ph); item.Sensitive = false; Add (item); item = new MenuItem (Catalog.GetString ("_Select")); item.Sensitive = false; Add (item); BuildContextMenu (Stetic.Wrapper.Container.LookupParent (ph), true, ph); }