private void initialize()
        {
            if (tud.mci.tangram.util.OO.ConnectToOO())
            {
                Logger.Instance.Log(LogPriority.MIDDLE, this, "[NOTICE] Connection to OpenOffice established");
                Observer = new OoObserver();
            }
            else
            {
                Logger.Instance.Log(LogPriority.IMPORTANT, this, "[FATAL ERROR] Connection to OpenOffice could not been established");
                Logger.Instance.Log(LogPriority.IMPORTANT, this, "[NOTIFICATION] Start connection task");

                Task ts = new Task(
                    () =>
                    {
                        while (!tud.mci.tangram.util.OO.ConnectToOO() && run)
                        { 
                            Thread.Sleep(5000); 
                        }
                        if(run){ Observer = new OoObserver(); }
                    }
                    );
                ts.Start();

            }
        }
Example #2
0
        private void initialize()
        {
            if (tud.mci.tangram.util.OO.ConnectToOO())
            {
                Logger.Instance.Log(LogPriority.MIDDLE, this, "[NOTICE] Connection to OpenOffice established");
                Observer = new OoObserver();
            }
            else
            {
                Logger.Instance.Log(LogPriority.IMPORTANT, this, "[FATAL ERROR] Connection to OpenOffice could not been established");
                Logger.Instance.Log(LogPriority.IMPORTANT, this, "[NOTIFICATION] Start connection task");

                Task ts = new Task(
                    () =>
                {
                    while (!tud.mci.tangram.util.OO.ConnectToOO() && run)
                    {
                        Thread.Sleep(5000);
                    }
                    if (run)
                    {
                        Observer = new OoObserver();
                    }
                }
                    );
                ts.Start();
            }
        }
Example #3
0
 /// <summary>
 /// Resets the observer.
 /// </summary>
 public void ResetObserver()
 {
     if (Observer != null)
     {
         Observer.Reset();
     }
     else
     {
         Observer = new OoObserver();
     }
 }
        /// <summary>
        /// Try to get the active OpenOffice document window.
        /// Check the ScreenObserver for his window otherwise uses the first
        /// of all observed documents.
        /// </summary>
        /// <returns></returns>
        public OoAccessibleDocWnd GetActiveDocument()
        {
            // check the screen observer
            // return the document that is currently observed and therefor shown on the output device.
            if (WindowManager.Instance != null)
            {
                ScreenObserver so = WindowManager.Instance.ScreenObserver;
                if (so != null)
                {
                    IntPtr whndl = so.Whnd;
                    if (whndl != null && whndl != IntPtr.Zero)
                    {
                        OoObserver obs = OoConnector.Instance.Observer;
                        if (obs != null)
                        {
                            OoAccessibleDocWnd doc = obs.ObservesWHndl(whndl.ToInt32());
                            if (doc != null)
                            {
                                return(doc);
                            }
                        }
                    }
                }
            }
            else
            {
                Logger.Instance.Log(LogPriority.IMPORTANT, this, "[FATAL ERROR] An instance of the WindowManager singleton could not been achieved!");
            }

            // get all observed documents -- choose the first
            var docs = OoDrawAccessibilityObserver.Instance.GetDrawDocs();

            if (docs.Count > 0)
            {
                if (docs.Count == 1)
                {
                    return(docs[0]);
                }
                else
                {
                    // can not decide which one is the one to use ...
                    //foreach (var doc in docs)
                    //{
                    //    Debug.GetAllInterfacesOfObject(doc.DocumentWindow);
                    //    var set = tud.mci.tangram.Accessibility.OoAccessibility.GetAccessibleStates(doc.MainWondow.getAccessibleContext().getAccessibleStateSet());
                    //}

                    return(docs[0]);
                }
            }
            return(null);
        }
 /// <summary>
 /// Resets the observer.
 /// </summary>
 public void ResetObserver()
 {
     if(Observer != null) Observer.Reset();
     else Observer = new OoObserver();
 }