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