| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | using System;using System.Collections.Generic;using System.Text;using FastReport.Utils;namespace FastReport{  /// <summary>  /// Implement this interface if your object can contain list of child objects.  /// </summary>  public interface IParent  {    /// <summary>    /// Gets a value indicating that this object can contain the specified child object.    /// </summary>    /// <param name="child">Child object.</param>    /// <returns><b>true</b> if this object can contain the specified child object; otherwise, <b>false</b>.</returns>    bool CanContain(Base child);    /// <summary>    /// Gets a list of child objects.    /// </summary>    /// <param name="list">List to fill with values.</param>    void GetChildObjects(ObjectCollection list);        /// <summary>    /// Adds a child object to this object's childs.    /// </summary>    /// <param name="child">Object to add.</param>    void AddChild(Base child);        /// <summary>    /// Removes a specified object from this object's childs.    /// </summary>    /// <param name="child"></param>    void RemoveChild(Base child);        /// <summary>    /// Returns z-order of the specified child object.    /// </summary>    /// <param name="child">Child object.</param>    /// <returns>Z-order of the specified object.</returns>    /// <remarks>    /// This method must return the index of a specified child object in the internal child list.    /// </remarks>    int GetChildOrder(Base child);        /// <summary>    /// Sets the z-order of the specified object.    /// </summary>    /// <param name="child">Child object.</param>    /// <param name="order">New Z-order.</param>    /// <remarks>    /// This method must place the specified child object at the specified position in the internal child list.    /// </remarks>    void SetChildOrder(Base child, int order);    /// <summary>    /// Updates the children layout when the size of this object is changed by dx, dy values.    /// </summary>    /// <param name="dx">X delta.</param>    /// <param name="dy">Y delta.</param>    /// <remarks>    /// This method must update positions/sizes of child objects whose <b>Dock</b> or <b>Anchor</b> properties    /// are set to non-default values.    /// </remarks>    void UpdateLayout(float dx, float dy);  }}
 |