//TODO: unfinished private OoShapeObserver searchUnregisteredShapeByAccessible(string accName, XAccessibleContext cont) { Update(); var obs = searchRegisterdSapeObserverByAccessibleName(accName, cont, false); if (obs != null) { return(obs); } XDrawPages pages = PagesSupplier.getDrawPages(); if (pages != null) { try { for (int i = 0; i < pages.getCount(); i++) { var anyPage = pages.getByIndex(i); if (anyPage.hasValue()) { var page = anyPage.Value; if (page != null && page is XShapes) { for (int j = 0; j < ((XShapes)page).getCount(); j++) { var anyShape = ((XShapes)page).getByIndex(j); if (anyShape.hasValue()) { var shape = anyShape.Value; string name = OoUtils.GetStringProperty(shape, "Name"); string UIname = OoUtils.GetStringProperty(shape, "UINameSingular"); string Title = OoUtils.GetStringProperty(shape, "Title"); //if (accName.Equals(UIname)) //{ //} //else if (accName.Equals(name)) //{ //} //else if (accName.Equals(name + " " + Title)) //{ //} //else //{ //} } } } } } } catch (System.Exception) { } } return(null); }
/// <summary> /// Obtain a page from a drawing. /// </summary> /// <param name="drawDocXDrawPages">The draw doc X draw pages.</param> /// <param name="pageIndex">Index of the page.</param> /// <returns>the XDrawPage at the given index or null if not successful.</returns> public static XDrawPage GetDrawPageByIndex(XDrawPages drawDocXDrawPages, int pageIndex) { // Now ask the XIndexAccess interface to the drawPages object to get a certain page. Object drawPage = drawDocXDrawPages != null ? drawDocXDrawPages.getByIndex(pageIndex) : new Object(); // Get the right interface to the page. var drawPageXDrawPage = drawPage as XDrawPage; return drawPageXDrawPage; }