// ============================================================================
// implementation
// ============================================================================
// ============================================================================
// implementation
// ============================================================================
// otherwise we can accept focus either if we have no children at all
// (in this case we're probably not used as a container) or only when
// at least one child will accept focus
// otherwise we can accept focus either if we have no children at all
// (in this case we're probably not used as a container) or only when
// at least one child will accept focus
// we should start from the first/last control and not from the one which
// had focus the last time if we're propagating the event downwards because
// we should start from the first/last control and not from the one which
// had focus the last time if we're propagating the event downwards because