private void SetEditorBounds(EditorContext context)
{
foreach (NodeControlInfo info in GetNodeControls(context.CurrentNode))
{
if (context.Owner == info.Control && info.Control is EditableControl)
{
Point p = info.Bounds.Location;
p.X += info.Control.LeftMargin;
p.X -= OffsetX;
p.Y -= (_rowLayout.GetRowBounds(FirstVisibleRow).Y - ColumnHeaderHeight);
int width = DisplayRectangle.Width - p.X;
if (UseColumns && info.Control.ParentColumn != null && Columns.Contains(info.Control.ParentColumn))
{
Rectangle rect = GetColumnBounds(info.Control.ParentColumn.Index);
width = rect.Right - OffsetX - p.X;
}
context.Bounds = new Rectangle(p.X, p.Y, width, info.Bounds.Height);
((EditableControl)info.Control).SetEditorBounds(context);
return;
}
}
}