protected void UpdateIndicatorStretch(BaseWaitingBarIndicatorElement indicator) { if ((object)indicator.GetType() == (object)typeof(WaitingBarIndicatorElement)) { if (this.IsVertical()) { indicator.StretchHorizontally = true; indicator.StretchVertically = false; } else { indicator.StretchHorizontally = false; indicator.StretchVertically = true; } } else { indicator.StretchHorizontally = true; indicator.StretchVertically = true; } }
protected virtual void CreateIndicators() { if (this.ElementTree != null && this.ElementTree.Control != null && (this.ElementTree.Control is RadControl && (this.ElementTree.Control as RadControl).IsInitializing) && this.clearedDesignTimeItems) { return; } if (this.IsDesignMode) { IDesignerHost service = this.ElementTree.Control.Site.GetService(typeof(IDesignerHost)) as IDesignerHost; while (this.WaitingIndicators.Count > 0) { int count = this.WaitingIndicators.Count; BaseWaitingBarIndicatorElement waitingIndicator = this.WaitingIndicators[count - 1]; this.WaitingIndicators.RemoveAt(count - 1); service.DestroyComponent((IComponent)waitingIndicator); } switch (this.WaitingStyle) { case WaitingBarStyles.Indeterminate: case WaitingBarStyles.Throbber: case WaitingBarStyles.Dash: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(WaitingBarIndicatorElement)) as WaitingBarIndicatorElement)); this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(WaitingBarIndicatorElement)) as WaitingBarIndicatorElement)); int num1 = (int)this.WaitingIndicators[0].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)ElementVisibility.Visible); int num2 = (int)this.WaitingIndicators[1].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)ElementVisibility.Collapsed); break; case WaitingBarStyles.DotsLine: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(DotsLineWaitingBarIndicatorElement)) as DotsLineWaitingBarIndicatorElement)); break; case WaitingBarStyles.DotsSpinner: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(DotsSpinnerWaitingBarIndicatorElement)) as DotsSpinnerWaitingBarIndicatorElement)); break; case WaitingBarStyles.LineRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(LineRingWaitingBarIndicatorElement)) as LineRingWaitingBarIndicatorElement)); break; case WaitingBarStyles.SegmentedRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(SegmentedRingWaitingBarIndicatorElement)) as SegmentedRingWaitingBarIndicatorElement)); break; case WaitingBarStyles.DotsRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(DotsRingWaitingBarIndicatorElement)) as DotsRingWaitingBarIndicatorElement)); break; case WaitingBarStyles.FadingRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(FadingRingWaitingBarIndicatorElement)) as FadingRingWaitingBarIndicatorElement)); break; case WaitingBarStyles.RotatingRings: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement)(service.CreateComponent(typeof(RotatingRingsWaitingBarIndicatorElement)) as RotatingRingsWaitingBarIndicatorElement)); break; default: throw new NotImplementedException("WaitingStyle: " + this.WaitingStyle.ToString() + " is not implemented."); } } else { this.WaitingIndicators.Clear(); switch (this.WaitingStyle) { case WaitingBarStyles.Indeterminate: case WaitingBarStyles.Throbber: case WaitingBarStyles.Dash: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new WaitingBarIndicatorElement()); this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new WaitingBarIndicatorElement()); int num1 = (int)this.WaitingIndicators[0].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)ElementVisibility.Visible); int num2 = (int)this.WaitingIndicators[1].SetDefaultValueOverride(RadElement.VisibilityProperty, (object)ElementVisibility.Collapsed); break; case WaitingBarStyles.DotsLine: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new DotsLineWaitingBarIndicatorElement()); break; case WaitingBarStyles.DotsSpinner: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new DotsSpinnerWaitingBarIndicatorElement()); break; case WaitingBarStyles.LineRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new LineRingWaitingBarIndicatorElement()); break; case WaitingBarStyles.SegmentedRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new SegmentedRingWaitingBarIndicatorElement()); break; case WaitingBarStyles.DotsRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new DotsRingWaitingBarIndicatorElement()); break; case WaitingBarStyles.FadingRing: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new FadingRingWaitingBarIndicatorElement()); break; case WaitingBarStyles.RotatingRings: this.WaitingIndicators.Add((BaseWaitingBarIndicatorElement) new RotatingRingsWaitingBarIndicatorElement()); break; default: throw new NotImplementedException("WaitingStyle: " + this.WaitingStyle.ToString() + " is not implemented."); } } }
private void WaitingIndicators_CollectionChanged( object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add) { if (this.ElementTree == null || this.ElementTree.Control == null || this.ElementTree.Control is RadControl && (this.ElementTree.Control as RadControl).IsInitializing && !this.clearedDesignTimeItems) { this.clearedDesignTimeItems = true; List <BaseWaitingBarIndicatorElement> indicatorElementList = new List <BaseWaitingBarIndicatorElement>(); foreach (BaseWaitingBarIndicatorElement waitingIndicator in (Collection <BaseWaitingBarIndicatorElement>) this.WaitingIndicators) { if (!e.NewItems.Contains((object)waitingIndicator)) { indicatorElementList.Add(waitingIndicator); } } while (indicatorElementList.Count > 0) { BaseWaitingBarIndicatorElement indicatorElement = indicatorElementList[indicatorElementList.Count - 1]; this.WaitingIndicators.Remove(indicatorElement); indicatorElementList.Remove(indicatorElement); } } foreach (BaseWaitingBarIndicatorElement newItem in (IEnumerable)e.NewItems) { this.Children.Add((RadElement)newItem); if (newItem is WaitingBarIndicatorElement) { this.UpdateElementsState(newItem as WaitingBarIndicatorElement); } this.UpdateIndicatorStretch(newItem); } } else if (e.Action == NotifyCollectionChangedAction.Remove) { foreach (BaseWaitingBarIndicatorElement newItem in (IEnumerable)e.NewItems) { newItem.Invalidate(); if (this.Children.Contains((RadElement)newItem)) { this.Children.Remove((RadElement)newItem); } } } else { if (e.Action != NotifyCollectionChangedAction.Reset) { return; } foreach (BaseWaitingBarIndicatorElement oldItem in (IEnumerable)e.OldItems) { oldItem.Invalidate(); if (this.Children.Contains((RadElement)oldItem)) { this.Children.Remove((RadElement)oldItem); } } } }