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(); } }
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(); } }
/// <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(); }