//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> /// Removes the page from drawing. /// </summary> /// <param name="drawDocXDrawPages">The draw doc X draw pages.</param> /// <param name="xDrawPage">The x draw page.</param> public static void RemovePageFromDrawing(XDrawPages drawDocXDrawPages, XDrawPage xDrawPage) { if (drawDocXDrawPages != null && xDrawPage != null) { drawDocXDrawPages.remove(xDrawPage); } }
/// <summary> /// Removes the page at the given index from the drawing. /// </summary> /// <param name="drawDocXDrawPages">The draw doc X draw pages.</param> /// <param name="pageIndex">Index of the page.</param> public static void RemovePageFromDrawing(XDrawPages drawDocXDrawPages, int pageIndex) { var xDrawPage = GetDrawPageByIndex(drawDocXDrawPages, pageIndex); if (xDrawPage != null && drawDocXDrawPages != null) { drawDocXDrawPages.remove(xDrawPage); } }
/// <summary> /// Create a new page on a drawing at the given index position. /// </summary> /// <param name="drawDocXDrawPages">The draw doc X draw pages.</param> /// <param name="pageIndex">Index of the page.</param> /// <returns>the new page or null if not successful.</returns> public static XDrawPage InsertNewPageByIndex(XDrawPages drawDocXDrawPages, int pageIndex) { XDrawPage xDrawPage = drawDocXDrawPages != null ? drawDocXDrawPages.insertNewByIndex(pageIndex) : null; return xDrawPage; }
/// <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; }
/// <summary> /// Gets the count of draw pages. /// </summary> /// <param name="drawDocXDrawPages">The draw pages container.</param> /// <returns></returns> public static int GetNumDrawPages(XDrawPages drawDocXDrawPages) { return drawDocXDrawPages != null ? drawDocXDrawPages.getCount() : 0; }