DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR Pending] Link: http://www.fltk.org/str.php?L2221 Version: 1.3-feature Fix Version: 1.3.0 (r6951) Hi Matt: could you, please, enter this last patch to file Fl_cocoa.mm (in its doCallback function) that makes radio items of fl_sys_menu_bar work correctly when series of items are separated by a divider line. Thanks. Manolo. svn diff Fl_cocoa.mm Index: Fl_cocoa.mm =================================================================== --- Fl_cocoa.mm (revision 6985) +++ Fl_cocoa.mm (working copy) @@ -2899,15 +2899,22 @@ } else if ( item->flags & FL_MENU_RADIO ) {// update the menu radio symbols int from = flRank; - while(from > 0 && items[from - 1].flags & FL_MENU_RADIO) from--; + while( from > 0 && items[from - 1].label() && (items[from - 1].flags & FL_MENU_RADIO) && + !(items[from - 1].flags & FL_MENU_DIVIDER) ) { + from--; + } int to = flRank; - while(items[to + 1].flags & FL_MENU_RADIO) to++; + while( !(items[to].flags & FL_MENU_DIVIDER) && items[to + 1].label() && + (items[to + 1].flags & FL_MENU_RADIO) ) { + to++; + } NSMenu *nsmenu = [self menu]; int nsrank = (int)[nsmenu indexOfItem:self]; for(int i = from - flRank + nsrank ; i <= to - flRank + nsrank; i++) { - [[nsmenu itemAtIndex:i] setState:NSOffState]; + NSMenuItem *nsitem = [nsmenu itemAtIndex:i]; + if(nsitem != self) [nsitem setState:NSOffState]; + else [nsitem setState:(item->value() ? NSOnState : NSOffState) ]; } - if(item->value()) [self setState:NSOnState]; } } } Link: http://www.fltk.org/str.php?L2221 Version: 1.3-feature Fix Version: 1.3.0 (r6951) _______________________________________________ fltk-dev mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-dev
