static void OnFormAdded(object sender, EventArgs args)
{
Form f = (Form)sender;
if (formProviders.ContainsKey(f))
{
return;
}
FormProvider provider = (FormProvider)
ProviderFactory.GetProvider(f, true);
// NOTE: Form Provider Releasing is done by FormProvider
// Pass false in last argument so that InitializeChildControlStructure
// isn't called when the provider is created. We'll do
// that manually after alerting the bridge to the presence
// of the new form.
formProviders [f] = provider;
if (f.Owner == null) //For example is not MessageBox, f.ShowDialog or XXXXXDialog
//Initialize navigation to let children use it
{
provider.Navigation = NavigationFactory.CreateNavigation(provider);
provider.Navigation.Initialize();
// TODO: Fill in rest of eventargs
Helper.RaiseStructureChangedEvent(StructureChangeType.ChildAdded,
provider);
provider.InitializeChildControlStructure();
}
else
{
FormProvider ownerProvider
= (FormProvider)ProviderFactory.FindProvider(f.Owner);
ownerProvider.AddChildProvider(provider);
}
}