protected virtual void GenerateControlsDesignTime( int currentColumn, KeyValuePair <string, Control> pair, Size propertyItemControlSize, Point propertyItemControlLocation) { DataLayoutControlItem component = (DataLayoutControlItem)this.designerHost.CreateComponent(typeof(DataLayoutControlItem)); this.changeService.OnComponentChanging((object)component, (MemberDescriptor)null); component.Text = pair.Key; if (component.MinSize.Height != propertyItemControlSize.Height) { component.MinSize = new Size(component.MinSize.Width, propertyItemControlSize.Height); } this.changeService.OnComponentChanged((object)component, (MemberDescriptor)null, (object)null, (object)null); this.changeService.OnComponentChanging((object)this.DataLayoutControl.Site.Component, (MemberDescriptor)null); DataLayoutItemInitializingEventArgs e = new DataLayoutItemInitializingEventArgs((LayoutControlItem)component); this.OnItemInitializing((object)this, e); if (e.Cancel) { return; } Control index = pair.Value; component.AssociatedControl = index; component.Bounds = new Rectangle(propertyItemControlLocation, propertyItemControlSize); this.DataLayoutControl.LayoutControl.Items.Add((RadItem)component); this.OnItemInitialized((object)this, new DataLayoutItemInitializedEventArgs((LayoutControlItem)component)); this.changeService.OnComponentChanged((object)this.DataLayoutControl.LayoutControl.Site.Component, (MemberDescriptor)null, (object)null, (object)null); this.alreadyGeneratedProperties.Add(pair.Key, pair.Value); this.validationInfoForEachEditor[index].Item = component; }
public void Clear() { if (this.designerHost != null) { foreach (IComponent component in new List <RadItem>((IEnumerable <RadItem>) this.DataLayoutControl.LayoutControl.Items)) { this.designerHost.DestroyComponent(component); } } RadLayoutControl layoutControl = this.DataLayoutControl.LayoutControl; IList <LayoutControlItemBase> layoutControlItemBaseList = (IList <LayoutControlItemBase>) new List <LayoutControlItemBase>(layoutControl.GetAllItems()); while (layoutControlItemBaseList.Count > 0) { DataLayoutControlItem layoutControlItem = layoutControlItemBaseList[0] as DataLayoutControlItem; layoutControl.RemoveItem(layoutControlItemBaseList[0]); layoutControlItemBaseList.RemoveAt(0); if (layoutControlItem != null && layoutControlItem.AssociatedControl != null) { layoutControlItem.AssociatedControl.Validating -= new CancelEventHandler(this.control_Validating); layoutControlItem.AssociatedControl.Validated -= new EventHandler(this.control_Validated); layoutControl.Controls.Remove(layoutControlItem.AssociatedControl); } } this.editableProperties.Clear(); this.alreadyGeneratedProperties.Clear(); this.validationInfoForEachEditor.Clear(); }
public DataLayoutItemValidatedEventArgs( DataLayoutControlItem item, ErrorProvider errorProvider, RadRangeAttribute rangeAttribute) { this.item = item; this.errorProvider = errorProvider; this.rangeAttribute = rangeAttribute; }
public DataLayoutValidationInfo( DataLayoutControlItem item, ErrorProvider errorProvider, RadRangeAttribute rangeAttribute) { this.item = item; this.errorProvider = errorProvider; this.rangeAttribute = rangeAttribute; }
protected virtual void ArrangeLabels() { if (!this.AutoSizeLabels) { return; } Dictionary <int, List <DataLayoutControlItem> > dictionary = new Dictionary <int, List <DataLayoutControlItem> >(); foreach (LayoutControlItemBase layoutControlItemBase in (RadItemCollection)this.DataLayoutControl.LayoutControl.Items) { DataLayoutControlItem layoutControlItem = layoutControlItemBase as DataLayoutControlItem; if (layoutControlItem != null) { if (!dictionary.ContainsKey(layoutControlItem.Bounds.X)) { dictionary.Add(layoutControlItem.Bounds.X, new List <DataLayoutControlItem>()); } dictionary[layoutControlItem.Bounds.X].Add(layoutControlItem); } } foreach (KeyValuePair <int, List <DataLayoutControlItem> > keyValuePair in dictionary) { float num = 0.0f; MeasurementGraphics measurementGraphics = MeasurementGraphics.CreateMeasurementGraphics(); foreach (DataLayoutControlItem layoutControlItem in keyValuePair.Value) { SizeF sizeF = measurementGraphics.Graphics.MeasureString(layoutControlItem.Text, layoutControlItem.Font); if ((double)sizeF.Width > (double)num) { num = (float)((double)sizeF.Width + (double)layoutControlItem.Padding.Horizontal + 2.0); } } foreach (DataLayoutControlItem layoutControlItem in keyValuePair.Value) { if (this.changeService != null) { this.changeService.OnComponentChanging((object)layoutControlItem, (MemberDescriptor)null); } layoutControlItem.TextSizeMode = LayoutItemTextSizeMode.Fixed; layoutControlItem.TextFixedSize = (int)num; if (this.changeService != null) { this.changeService.OnComponentChanged((object)layoutControlItem, (MemberDescriptor)null, (object)null, (object)null); } } } }
public void SubscribeControl(DataLayoutControlItem item, PropertyDescriptor property) { if (item == null || item.AssociatedControl == null) { return; } RadRangeAttribute radRangeAttribute = (RadRangeAttribute)null; foreach (Attribute attribute in property.Attributes) { if (attribute is RadRangeAttribute) { radRangeAttribute = attribute as RadRangeAttribute; } } Control associatedControl = item.AssociatedControl; associatedControl.Validating -= new CancelEventHandler(this.control_Validating); associatedControl.Validated -= new EventHandler(this.control_Validated); associatedControl.Validating += new CancelEventHandler(this.control_Validating); associatedControl.Validated += new EventHandler(this.control_Validated); ErrorProvider errorProvider = new ErrorProvider(); errorProvider.SetIconAlignment(associatedControl, ErrorIconAlignment.MiddleRight); errorProvider.SetIconPadding(associatedControl, 2); errorProvider.BlinkStyle = ErrorBlinkStyle.BlinkIfDifferentError; DataLayoutValidationInfo layoutValidationInfo = new DataLayoutValidationInfo(); layoutValidationInfo.RangeAttribute = radRangeAttribute; layoutValidationInfo.ErrorProvider = errorProvider; layoutValidationInfo.Item = item; if (this.validationInfoForEachEditor.ContainsKey(associatedControl)) { this.validationInfoForEachEditor[associatedControl].ErrorProvider.Dispose(); this.validationInfoForEachEditor.Remove(associatedControl); } if (this.validationInfoForEachEditor.ContainsKey(associatedControl)) { return; } this.validationInfoForEachEditor.Add(associatedControl, layoutValidationInfo); }
private void TrySubscribeControls() { foreach (LayoutControlItemBase allItem in this.LayoutControl.GetAllItems(true)) { DataLayoutControlItem layoutControlItem = allItem as DataLayoutControlItem; if (layoutControlItem != null && layoutControlItem.AssociatedControl != null && (layoutControlItem.AssociatedControl.DataBindings.Count > 0 && layoutControlItem.AssociatedControl.DataBindings[0].DataSource == this.DataSource)) { PropertyDescriptor property = (PropertyDescriptor)null; foreach (PropertyDescriptor itemProperty in layoutControlItem.AssociatedControl.DataBindings[0].BindingManagerBase.GetItemProperties()) { if (itemProperty.Name == layoutControlItem.AssociatedControl.DataBindings[0].BindingMemberInfo.BindingMember) { property = itemProperty; } } if (property != null) { this.DataLayoutElement.SubscribeControl(layoutControlItem, property); } } } }
protected virtual void GenerateControlsRunTime( int currentColumn, KeyValuePair <string, Control> pair, Size propertyItemControlSize, Point propertyItemControlLocation) { DataLayoutControlItem layoutControlItem = new DataLayoutControlItem(); layoutControlItem.Text = pair.Key; Control index = pair.Value; if (index is RadControl) { (index as RadControl).ThemeName = this.DataLayoutControl.ThemeName; } layoutControlItem.AssociatedControl = index; if (layoutControlItem.MinSize.Height != propertyItemControlSize.Height) { layoutControlItem.MinSize = new Size(layoutControlItem.MinSize.Width, propertyItemControlSize.Height); } if (layoutControlItem.MinSize.Width > propertyItemControlSize.Width) { layoutControlItem.MinSize = new Size(propertyItemControlSize.Width, layoutControlItem.MinSize.Height); } layoutControlItem.Bounds = new Rectangle(propertyItemControlLocation, propertyItemControlSize); DataLayoutItemInitializingEventArgs e = new DataLayoutItemInitializingEventArgs((LayoutControlItem)layoutControlItem); this.OnItemInitializing((object)this, e); if (e.Cancel) { return; } this.DataLayoutControl.LayoutControl.Items.Add((RadItem)layoutControlItem); this.OnItemInitialized((object)this, new DataLayoutItemInitializedEventArgs((LayoutControlItem)layoutControlItem)); this.alreadyGeneratedProperties.Add(pair.Key, index); this.validationInfoForEachEditor[index].Item = layoutControlItem; }