void MCButton::SetShowBorder(MCExecContext& ctxt, bool setting) { MCControl::SetShowBorder(ctxt, setting); if (MCaqua && menumode == WM_PULLDOWN) { freemenu(False); findmenu(true); } Redraw(); }
void MCButton::SetMenuName(MCExecContext& ctxt, MCNameRef p_name) { freemenu(False); MCValueAssign(menuname, p_name); if (opened) { if (findmenu(true) && menu != nil) menu->installaccels(getstack()); } }
void MCButton::UpdateIconAndMenus(void) { reseticon(); freemenu(False); findmenu(true); if (parent != NULL && parent->gettype() == CT_GROUP) { parent->setstate(True, CS_NEED_UPDATE); if ((parent == MCmenubar || parent == MCdefaultmenubar) && !MClockmenus) MCscreen->updatemenubar(True); } Redraw(); }
void MCButton::SetMenuLines(MCExecContext& ctxt, uinteger_t* p_lines) { if (p_lines != nil) { menulines = *p_lines; flags |= F_MENU_LINES; } else { flags &= ~F_MENU_LINES; menulines = DEFAULT_MENU_LINES; } freemenu(False); }
void MCButton::SetMenuMode(MCExecContext& ctxt, intenum_t p_mode) { if (entry != nil) deleteentry(); else freemenu(False); setmenumode((uint1)p_mode); if (p_mode == WM_COMBO) createentry(); else if (p_mode == WM_TOP_LEVEL) { if (getstyleint(flags) == F_MENU) { MCValueRelease(tabs); /* UNCHECKED */ MCStringSplit(menustring, MCSTR("\n"), nil, kMCStringOptionCompareExact, tabs); } } Redraw(); }
void freedc(DC *dc) { if(dc->info) { XFree(dc->info); } if(dc->font.xft_font) XftFontClose(dc->dpy, dc->font.xft_font); if(dc->font.set) XFreeFontSet(dc->dpy, dc->font.set); if(dc->font.xfont) XFreeFont(dc->dpy, dc->font.xfont); if(dc->menus){ for(int i=0; i<dc->scrcount; ++i){ freemenu(dc, &dc->menus[i]); } free(dc->menus); } if(dc->gc) XFreeGC(dc->dpy, dc->gc); if(dc->dpy) XCloseDisplay(dc->dpy); if(dc) free(dc); }