/// <summary> /// Konstruktor s předáním jediné položky /// </summary> /// <param name="parent"></param> /// <param name="acceptZeroTime">Požadavek true = jako platný prvek lze akceptovat i prvek, jehož čas End == čas Begin; false = čas End musí být větší než Begin.</param> /// <param name="item"></param> public TimeGraphGroup(TimeGraph parent, bool acceptZeroTime, ITimeGraphItem item) : this(parent) { this._PrepareGControlItem(item); // Připravím GUI prvek pro jednotlivý prvek grafu za item, jeho parentem bude grafický prvek této grupy (=this.ControlBuffered) this._FirstItem = item; this._Items = new ITimeGraphItem[] { item }; bool canResize = item.BehaviorMode.HasFlag(GraphItemBehaviorMode.ResizeTime); if (!acceptZeroTime && (item.ImageBegin != null || item.ImageEnd != null)) { acceptZeroTime = true; } this._Store(item.Time.Begin, item.Time.End, acceptZeroTime, item.Height, canResize); }
/// <summary> /// Metoda vytvoří grafický control třídy <see cref="TimeGraphItem"/> (<see cref="ITimeGraphItem.VisualControl"/>) pro daný datový grafický prvek (item). /// </summary> /// <param name="item">Datový prvek grafu</param> private void _PrepareGControlItem(ITimeGraphItem item) { item.VisualControl = new TimeGraphItem(item, this.ControlBuffered, this, GraphControlPosition.Item); // GUI prvek (GTimeGraphItem) dostává data (=item) a dostává vizuálního parenta (this.ControlBuffered) this.ControlBuffered.AddGraphItem(item.VisualControl); // Náš hlavní GUI prvek (ten od grupy) si přidá další svůj Child prvek }