public WpfBrowser(string applicationName)
 {
     try
     {
         ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
         thisApplication      = CRMWindowRouter.LoadApplicationEntity(applicationName);
         this.ApplicationName = applicationName;
         System.Windows.Controls.WebBrowser newbrowser = new System.Windows.Controls.WebBrowser();
         lock (activeBrowsers)
         {
             if (!activeBrowsers.Contains(newbrowser))
             {
                 activeBrowsers.Add(newbrowser);
             }
             Trace.WriteLine("ActiveBrowsers (Browser Added) = " + activeBrowsers.Count.ToString());
         }
         _webBrowser  = newbrowser;
         this.Content = newbrowser;
         this._WebBrowserEventSink = new WebBrowserEventSink(this);
     }
     catch (Exception ex)
     {
         Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace);
     }
 }
        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);
        }
Beispiel #3
0
 public void Reset(string applicationName)
 {
     try
     {
         dataCaptured = false;
         ICRMWindowRouter CRMWindowRouter = AifServiceContainer.Instance.GetService <ICRMWindowRouter>();
         thisApplication      = CRMWindowRouter.LoadApplicationEntity(applicationName);
         this.ApplicationName = applicationName;
         //HideScriptErrors(true);
         initialUrl = String.Empty;
     }
     catch (Exception ex)
     {
         Trace.WriteLine("WpfBrowser: " + ex.Message + "\r\n" + ex.StackTrace);
     }
 }
        Object ShowApplicationOnUI(Object tabTag, UIElement child, string applicationName)
        {
            VerifyGlobalManagerConnection();
            Window appwindow = new Window();

            appwindow.Style = (System.Windows.Style)FindResource("FloatingWindow");
            appwindow.Resources.MergedDictionaries.Clear();
            foreach (ResourceDictionary dict in ((System.Windows.Application)System.Windows.Application.Current).MainWindow.Resources.MergedDictionaries)
            {
                appwindow.Resources.MergedDictionaries.Add(dict);
            }
            appwindow.Content = child;
            appwindow.Title   = applicationName;
            //appwindow.Owner = ((System.Windows.Application)System.Windows.Application.Current).MainWindow;
            appwindow.Tag     = tabTag;
            appwindow.Closed += new EventHandler(appwindow_Closed);
            floatingWindows.Add(appwindow);
            Entity appEntity = CRMWindowRouter.LoadApplicationEntity(applicationName);

            appwindow.Show();
            if (appEntity != null)
            {
                if (appEntity.Contains("uii_isappdynamic") &&
                    (bool)appEntity["uii_isappdynamic"] == false)
                {
                    HwndSource hwndSource = PresentationSource.FromVisual(appwindow) as HwndSource;
                    if (hwndSource != null)
                    {
                        IntPtr hMenu = GetSystemMenu(hwndSource.Handle, false);
                        if (hMenu != IntPtr.Zero)
                        {
                            EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
                        }
                        hwndSource.AddHook(new HwndSourceHook(this.hwndSourceHook));
                    }
                }
            }
            return(appwindow);
        }