public void SendApplicationsToUnknownPanel() { try { List <IHostedApplication> tabApps = new List <IHostedApplication>(); while (Items.Count > 0) { C1USDDockTabItem item = (C1USDDockTabItem)Items[0]; IHostedApplication tabApp = item.Tag as IHostedApplication; if (tabApp != null) { IDesktopFeatureAccess desktop = AifServiceContainer.Instance.GetService <IDesktopFeatureAccess>(); if (desktop != null) { desktop.SendApplicationToUnknownPanel(this, tabApp); } } if (Items.Count > 0) { Items.RemoveAt(0); } } } catch { } }
private C1USDDockTabItem AddApplicationToTabControl(object app) { //TabItem element = null; C1USDDockTabItem element = null; Image icon = new Image(); IHostedApplication application = app as IHostedApplication; if (application != null) { string applicationName = application.ApplicationName; if (VerifyGlobalManagerConnection()) { Entity thisApplication = CRMWindowRouter.LoadApplicationEntity(applicationName); try { if (thisApplication != null && thisApplication.Contains("mcs_displayname")) { string appNameTemp = CRMWindowRouter.ReplaceParametersInCurrentSession((string)thisApplication["mcs_displayname"]); if (!String.IsNullOrEmpty(appNameTemp) && Utility.IsAllReplacementValuesReplaced(appNameTemp)) { applicationName = appNameTemp; } } } catch { } } element = ShowApplication(app, applicationName); if (application == DesktopApplicationUIBase.AppWithFocus) { this.SelectedItem = element; } } else if (app is System.Windows.Forms.Control) { element = ShowApplication(app, ""); AutomationProperties.SetName(element, app.ToString() + " Tab Page"); } return(element); }
Object ShowApplicationOnUI(Object tabTag, UIElement child, string applicationName) { try { var controltest = (DynamicsBaseHostedControl)tabTag; if (this.DockMode == DockMode.Hidden) { this.DockMode = DockMode.Floating; } VerifyGlobalManagerConnection(); C1USDDockTabItem ti = new C1USDDockTabItem(); ti.Tag = tabTag; ti.Content = child; child.Visibility = System.Windows.Visibility.Visible; ti.Header = applicationName; Entity thisApplication = CRMWindowRouter.LoadApplicationEntity(applicationName); try { if (thisApplication != null && thisApplication.Contains("uii_usercanclose")) { var canClose = thisApplication.Attributes["uii_usercanclose"]; if ((bool)canClose) { ti.CanUserClose = true; } } if (thisApplication != null && thisApplication.Contains("uii_sortorder")) { for (int i = 0; i < Items.Count; i++) { if (!(((C1USDDockTabItem)Items[i]).Tag is IHostedApplication)) { continue; } string appname = (((C1USDDockTabItem)Items[i]).Tag as IHostedApplication).ApplicationName; Entity appconfig = CRMWindowRouter.LoadApplicationEntity(appname); if (appconfig != null && appconfig.Contains("uii_sortorder")) { if ((int)thisApplication["uii_sortorder"] < (int)appconfig["uii_sortorder"]) { Items.Insert(i, ti); return(ti); } } else { Items.Insert(i, ti); return(ti); } } } } catch { } //Items.Insert try { Items.Add(ti); } catch { } if (Items.Count == 1) { SelectedItem = ti; } return(ti); } finally { } }