void XFE_AttachmentMenu::update() { Widget *kids; int nkids; XtVaGetValues (m_submenu, XmNchildren, &kids, XmNnumChildren, &nkids, 0); XtUnrealizeWidget(m_submenu); if (nkids) { kids = &(kids[m_firstslot]); nkids -= m_firstslot; XtUnmanageChildren (kids, nkids); fe_DestroyWidgetTree(kids, nkids); } add_attachment_menu_items(m_submenu); XtRealizeWidget(m_submenu); XtRemoveCallback(m_cascade, XmNcascadingCallback, update_cb, this); }
/* virtual */ void XFE_BookmarkMenu::reallyUpdateRoot() { WidgetList children; Cardinal numChildren; BM_Entry * root = getMenuFolder(); // Ignore the root header (ie, "Joe's Bookmarks") if (root && BM_IsHeader(root)) { root = BM_GetChildren(root); } XfeChildrenGet(_subMenu,&children,&numChildren); // XtUnrealizeWidget(m_subMenu); // Get rid of the previous items we created if (children && numChildren) { children += _firstSlot; numChildren -= _firstSlot; if (children && numChildren) { XtUnmanageChildren(children,numChildren); fe_DestroyWidgetTree(children,numChildren); } } // Create the entries if any if (root) { createItemTree(_subMenu,root); } }