protected virtual SizeF MeasureElementCore(RadElement element, SizeF availableSize) { IVirtualizedElement <T> virtualizedElement = (IVirtualizedElement <T>)element; SizeF fixedSize = ElementProvider.GetElementSize(virtualizedElement.Data); if (Orientation == System.Windows.Forms.Orientation.Vertical) { if (fixedSize.Height > 0) { availableSize.Height = fixedSize.Height; } if (!FitElementsToSize) { availableSize.Width = float.PositiveInfinity; } } else { availableSize.Width = fixedSize.Width; if (!FitElementsToSize) { availableSize.Height = float.PositiveInfinity; } } element.Measure(availableSize); return(element.DesiredSize); }
protected override SizeF ArrangeOverride(SizeF finalSize) { InitializeOffset(); foreach (RadElement element in this.Children) { if (this.orientation == Orientation.Vertical) { IVirtualizedElement <T> virtualizedElement = (IVirtualizedElement <T>)element; float width = FitElementsToSize /*|| element.StretchHorizontally*/ ? finalSize.Width : element.DesiredSize.Width; float height = ElementProvider.GetElementSize(virtualizedElement.Data).Height; RectangleF arrangeRect = new RectangleF(ScrollOffset.Width, offset, width, height); if (RightToLeft) { arrangeRect.X = finalSize.Width - width; } arrangeRect = ArrangeElementCore(element, finalSize, arrangeRect); offset += arrangeRect.Height + ItemSpacing; } else { float height = FitElementsToSize || element.StretchVertically ? finalSize.Height : element.DesiredSize.Height; RectangleF arrangeRect = ArrangeElementCore(element, finalSize, new RectangleF(offset, 0, element.DesiredSize.Width, height)); offset += arrangeRect.Width + ItemSpacing; } } return(finalSize); }
public DockContent() { _fixer = new FormHelper(this); _fixer.EnableBoundsTracking = false; ElementProvider.Install(new DockContentElementProvider(this)); }
protected virtual void RemoveElement(int position) { IVirtualizedElement <T> virtualizedElement = (IVirtualizedElement <T>) this.Children[position]; ElementProvider.CacheElement(virtualizedElement); this.BitState[InvalidateMeasureOnRemoveStateKey] = false; this.Children.RemoveAt(position); this.BitState[InvalidateMeasureOnRemoveStateKey] = true; virtualizedElement.Detach(); }
protected override IVirtualizedElement <ListViewDataItem> UpdateElement(int position, ListViewDataItem data) { IVirtualizedElement <ListViewDataItem> element = null; object elementContext = this.GetElementContext(); if (position < this.Children.Count) { element = (IVirtualizedElement <ListViewDataItem>) this.Children[position]; if (ElementProvider.ShouldUpdate(element, data, elementContext)) { if (position < this.Children.Count - 1) { IVirtualizedElement <ListViewDataItem> nextElement = (IVirtualizedElement <ListViewDataItem>) this.Children[position + 1]; if (nextElement.Data.Equals(data)) { this.Children.Move(position + 1, position); nextElement.Synchronize(); return(nextElement); } } if (ElementProvider.IsCompatible(element, data, elementContext)) { element.Detach(); element.Attach(data, elementContext); } else { int index = FindCompatibleElement(position, data); if (index > position) { this.Children.Move(index, position); element = (IVirtualizedElement <ListViewDataItem>) this.Children[position]; element.Detach(); element.Attach(data, elementContext); } else { position = Math.Min(position, this.Children.Count); element = ElementProvider.GetElement(data, elementContext); InsertElement(position, element, data); } } } } else { position = Math.Min(position, this.Children.Count); element = ElementProvider.GetElement(data, elementContext); InsertElement(position, element, data); } return(element); }
public LinkedList(IEnumerable <T> toCopy) { elements = new ElementProvider(); ListElement <T> building = elements.firstElement; foreach (T element in toCopy) { building.next = new ListElement <T>(element); building = building.next; } building.next = elements.lastElement; }
void OnClickTile(Vector3Int cell) { var hex = GetHexCoordinate(cell); if (ElementProvider == null) { RemoveElement(hex); } else { var element = ElementProvider.GetElement(); AddElement(element, hex); } }
public TextEditorControl() { ElementProvider.Install(new TextEditorElementProvider(this)); ActiveTextAreaControl.TextArea.DoProcessDialogKey += TextArea_DoProcessDialogKey; ActiveTextAreaControl.TextArea.GotFocus += TextArea_GotFocus; ActiveTextAreaControl.TextArea.LostFocus += TextArea_LostFocus; CommandMapper = new NiCommandMapper(); _commandTarget = new CommandTarget(CommandMapper); FindTarget = new FindTargetImpl(ActiveTextAreaControl); BuildCommands(); RemoveDefaultKeyBindings(); }
public virtual int GetScrollHeight(T item) { int height = 0; if (this.ElementProvider != null) { SizeF size = ElementProvider.GetElementSize(item); if (this.scrollbar.ScrollType == ScrollType.Vertical) { height = (int)size.Height; this.currentItemWidth = (int)size.Width; } else { height = (int)size.Width; this.currentItemWidth = (int)size.Height; } } return(height); }
protected override SizeF MeasureElementCore(RadElement element, SizeF availableSize) { TreeNodeElement virtualizedElement = (TreeNodeElement)element; float fixedHeight = ElementProvider.GetElementSize(virtualizedElement.Data).Height; float measureWidth = float.PositiveInfinity; if (TreeViewElement.AutoSizeItems || virtualizedElement.Editor != null) { fixedHeight = float.PositiveInfinity; } if (virtualizedElement.ContentElement.TextWrap) { measureWidth = availableSize.Width - this.ScrollOffset.Width; } element.Measure(new SizeF(measureWidth, fixedHeight)); virtualizedElement.ContentElement.FullDesiredSize = virtualizedElement.ContentElement.DesiredSize; element.Measure(new SizeF(availableSize.Width - this.ScrollOffset.Width, fixedHeight)); return(element.DesiredSize); }
public TreeNodeElementProvider(ElementProvider provider = null) { this.provider = provider ?? new ElementProvider(SameElement); }
// Creates a shallow copy of toCopy. public LinkedList(LinkedList <T> toCopy) { this.elements = toCopy.elements; considering = this.elements.firstElement; indexOn = -1; }
public LinkedList() { elements = new ElementProvider(); considering = elements.firstElement; indexOn = -1; }