summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj305
-rw-r--r--src/Fl_Sys_Menu_Bar.cxx89
-rw-r--r--src/Fl_cocoa.mm74
3 files changed, 241 insertions, 227 deletions
diff --git a/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj b/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
index a018dd3be..d5448ea1c 100644
--- a/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
+++ b/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
@@ -4034,17 +4034,63 @@
C9A3E9590DD6338B00486E4F /* Library Sources */ = {
isa = PBXGroup;
children = (
- C9B4E2AA10CC273400DA2F05 /* Fl_Table_Row.cxx */,
- C9B4E2AB10CC273400DA2F05 /* Fl_Table.cxx */,
- C9B4E2AC10CC273400DA2F05 /* Fl_Tree_Item_Array.cxx */,
- C9B4E2AD10CC273400DA2F05 /* Fl_Tree_Item.cxx */,
- C9B4E2AE10CC273400DA2F05 /* Fl_Tree_Prefs.cxx */,
- C9B4E2AF10CC273400DA2F05 /* Fl_Tree.cxx */,
+ C99E1E980E7861E600AECCF6 /* case.c */,
+ C9A3EB0D0DD634CC00486E4F /* cmap.cxx */,
+ C9A3EB550DD634CC00486E4F /* dump_compose.c */,
+ C9A3EB1C0DD634CC00486E4F /* filename_absolute.cxx */,
+ C9A3EB1B0DD634CC00486E4F /* filename_expand.cxx */,
+ C9A3EB5E0DD634CC00486E4F /* filename_isdir.cxx */,
+ C9A3EB2A0DD634CC00486E4F /* filename_list.cxx */,
+ C9A3EB5F0DD634CC00486E4F /* filename_match.cxx */,
+ C9A3EB830DD634CC00486E4F /* filename_setext.cxx */,
+ C9A3EB4D0DD634CC00486E4F /* filename_ext.cxx */,
+ C9A3EB230DD634CC00486E4F /* Fl.cxx */,
+ C9A3EB520DD634CC00486E4F /* Fl_abort.cxx */,
+ C9A3EB460DD634CC00486E4F /* Fl_Adjuster.cxx */,
+ C9A3EB4C0DD634CC00486E4F /* fl_arc.cxx */,
+ C9A3EB0C0DD634CC00486E4F /* Fl_arg.cxx */,
+ C9A3EB670DD634CC00486E4F /* Fl_add_idle.cxx */,
+ C9A3EB820DD634CC00486E4F /* fl_arci.cxx */,
+ C9A3EB850DD634CC00486E4F /* fl_ask.cxx */,
+ C9A3EB2E0DD634CC00486E4F /* Fl_Button.cxx */,
+ C9A3EB2B0DD634CC00486E4F /* Fl_Browser.cxx */,
+ C9A3EB5D0DD634CC00486E4F /* Fl_Bitmap.cxx */,
+ C9A3EB620DD634CC00486E4F /* Fl_Browser_load.cxx */,
+ C9A3EB6B0DD634CC00486E4F /* Fl_Browser_.cxx */,
+ C9A3EB720DD634CC00486E4F /* Fl_Box.cxx */,
+ C9A3EB860DD634CC00486E4F /* fl_boxtype.cxx */,
+ C9A3EB8A0DD634CC00486E4F /* Fl_BMP_Image.cxx */,
+ C9A3EAEB0DD634CC00486E4F /* Fl_Check_Button.cxx */,
+ C9A3EB010DD634CC00486E4F /* Fl_Choice.cxx */,
+ C9A3EB250DD634CC00486E4F /* fl_curve.cxx */,
+ C9A3EB5A0DD634CC00486E4F /* fl_cursor.cxx */,
+ C9A3EB5B0DD634CC00486E4F /* Fl_Counter.cxx */,
+ C9A3EB5C0DD634CC00486E4F /* Fl_Check_Browser.cxx */,
+ C9A3EB750DD634CC00486E4F /* fl_call_main.c */,
+ C9A3EB7C0DD634CC00486E4F /* Fl_Chart.cxx */,
+ C9A3EB7F0DD634CC00486E4F /* fl_color_mac.cxx */,
+ C9A3EB800DD634CC00486E4F /* Fl_Color_Chooser.cxx */,
+ C9A3EB810DD634CC00486E4F /* fl_color.cxx */,
+ C9A3EB840DD634CC00486E4F /* Fl_Clock.cxx */,
+ C9A3EB880DD634CC00486E4F /* Fl_compose.cxx */,
+ C9A3EB890DD634CC00486E4F /* fl_color_win32.cxx */,
7FFE8BBF10C907B600A11F75 /* Fl_cocoa.mm */,
- C9A3EAD80DD634CC00486E4F /* Fl_get_key_mac.cxx */,
- C9A3EAD70DD634CC00486E4F /* Fl_get_key_win32.cxx */,
- C9A3EAD60DD634CC00486E4F /* Fl_get_system_colors.cxx */,
- C9A3EAD90DD634CC00486E4F /* Fl_get_key.cxx */,
+ C9A3EB240DD634CC00486E4F /* Fl_Dial.cxx */,
+ C9A3EB3D0DD634CC00486E4F /* fl_dnd_x.cxx */,
+ C9A3EB3C0DD634CC00486E4F /* Fl_Double_Window.cxx */,
+ C9A3EB3B0DD634CC00486E4F /* fl_draw.cxx */,
+ C9A3EB610DD634CC00486E4F /* fl_draw_image.cxx */,
+ C9A3EB730DD634CC00486E4F /* fl_dnd_win32.cxx */,
+ C9A3EB740DD634CC00486E4F /* fl_dnd_mac.cxx */,
+ C9A3EAE80DD634CC00486E4F /* fl_draw_pixmap.cxx */,
+ C9A3EAE90DD634CC00486E4F /* fl_draw_image_win32.cxx */,
+ C9A3EAEA0DD634CC00486E4F /* fl_draw_image_mac.cxx */,
+ C9A3EAEC0DD634CC00486E4F /* fl_dnd.cxx */,
+ C9A3EAED0DD634CC00486E4F /* Fl_display.cxx */,
+ C9A3EAEE0DD634CC00486E4F /* fl_diamond_box.cxx */,
+ C9A3EAE60DD634CC00486E4F /* fl_engraved_label.cxx */,
+ C9A3EB7B0DD634CC00486E4F /* fl_encoding_latin1.cxx */,
+ C9A3EAE70DD634CC00486E4F /* fl_encoding_mac_roman.cxx */,
C9A3EADA0DD634CC00486E4F /* fl_font_xft.cxx */,
C9A3EADB0DD634CC00486E4F /* fl_font_x.cxx */,
C9A3EADC0DD634CC00486E4F /* fl_font_win32.cxx */,
@@ -4057,177 +4103,131 @@
C9A3EAE30DD634CC00486E4F /* Fl_File_Chooser2.cxx */,
C9A3EAE40DD634CC00486E4F /* Fl_File_Chooser.cxx */,
C9A3EAE50DD634CC00486E4F /* Fl_File_Browser.cxx */,
- C9A3EAE60DD634CC00486E4F /* fl_engraved_label.cxx */,
- C9A3EAE70DD634CC00486E4F /* fl_encoding_mac_roman.cxx */,
- C9A3EAE80DD634CC00486E4F /* fl_draw_pixmap.cxx */,
- C9A3EAE90DD634CC00486E4F /* fl_draw_image_win32.cxx */,
- C9A3EAEA0DD634CC00486E4F /* fl_draw_image_mac.cxx */,
- C9A3EAEB0DD634CC00486E4F /* Fl_Check_Button.cxx */,
- C9A3EAEC0DD634CC00486E4F /* fl_dnd.cxx */,
- C9A3EAED0DD634CC00486E4F /* Fl_display.cxx */,
- C9A3EAEE0DD634CC00486E4F /* fl_diamond_box.cxx */,
- C9A3EAEF0DD634CC00486E4F /* fl_set_fonts_xft.cxx */,
- C9A3EAF00DD634CC00486E4F /* fl_set_fonts_x.cxx */,
- C9A3EAF10DD634CC00486E4F /* fl_set_fonts_win32.cxx */,
- C9A3EAF20DD634CC00486E4F /* fl_set_fonts_mac.cxx */,
- C9A3EAF30DD634CC00486E4F /* fl_set_fonts.cxx */,
- C9A3EAF40DD634CC00486E4F /* Fl_Window_fullscreen.cxx */,
- C9A3EAF50DD634CC00486E4F /* Fl_Window.cxx */,
- C9A3EAF60DD634CC00486E4F /* Fl_win32.cxx */,
- C9A3EAF70DD634CC00486E4F /* Fl_Widget.cxx */,
- C9A3EAF80DD634CC00486E4F /* Fl_visual.cxx */,
- C9A3EAF90DD634CC00486E4F /* fl_vertex.cxx */,
- C9A3EAFA0DD634CC00486E4F /* forms_pixmap.cxx */,
- C9A3EAFB0DD634CC00486E4F /* Fl_Round_Button.cxx */,
- C9A3EAFC0DD634CC00486E4F /* Fl_Tooltip.cxx */,
- C9A3EAFD0DD634CC00486E4F /* Fl_Window_iconize.cxx */,
- C9A3EAFE0DD634CC00486E4F /* Fl_Window_hotspot.cxx */,
- C9A3EAFF0DD634CC00486E4F /* Fl_Text_Display.cxx */,
- C9A3EB000DD634CC00486E4F /* Fl_Scroll.cxx */,
- C9A3EB010DD634CC00486E4F /* Fl_Choice.cxx */,
+ C9A3EAD80DD634CC00486E4F /* Fl_get_key_mac.cxx */,
+ C9A3EAD70DD634CC00486E4F /* Fl_get_key_win32.cxx */,
+ C9A3EAD60DD634CC00486E4F /* Fl_get_system_colors.cxx */,
+ C9A3EAD90DD634CC00486E4F /* Fl_get_key.cxx */,
+ C9A3EB450DD634CC00486E4F /* Fl_GIF_Image.cxx */,
C9A3EB020DD634CC00486E4F /* Fl_Group.cxx */,
- C9A3EB030DD634CC00486E4F /* fl_rounded_box.cxx */,
- C9A3EB040DD634CC00486E4F /* fl_overlay_visual.cxx */,
- C9A3EB050DD634CC00486E4F /* fl_shortcut.cxx */,
- C9A3EB060DD634CC00486E4F /* Fl_Shared_Image.cxx */,
- C9A3EB070DD634CC00486E4F /* Fl_Help_Dialog.cxx */,
- C9A3EB080DD634CC00486E4F /* flstring.c */,
- C9A3EB090DD634CC00486E4F /* Fl_PNG_Image.cxx */,
- C9A3EB0A0DD634CC00486E4F /* Fl_grab.cxx */,
C9A3EB0B0DD634CC00486E4F /* Fl_Gl_Window.cxx */,
- C9A3EB0C0DD634CC00486E4F /* Fl_arg.cxx */,
- C9A3EB0D0DD634CC00486E4F /* cmap.cxx */,
- C9A3EB0E0DD634CC00486E4F /* Fl_XPM_Image.cxx */,
+ C9A3EB340DD634CC00486E4F /* Fl_Gl_Overlay.cxx */,
+ C9A3EB370DD634CC00486E4F /* Fl_Gl_Choice.cxx */,
+ C9A3EB0A0DD634CC00486E4F /* Fl_grab.cxx */,
+ C9A3EB870DD634CC00486E4F /* fl_gtk.cxx */,
+ C9A3EB070DD634CC00486E4F /* Fl_Help_Dialog.cxx */,
+ C9A3EB410DD634CC00486E4F /* Fl_Help_View.cxx */,
C9A3EB0F0DD634CC00486E4F /* fl_images_core.cxx */,
C9A3EB100DD634CC00486E4F /* Fl_Image.cxx */,
- C9A3EB110DD634CC00486E4F /* freeglut_geometry.cxx */,
- C9A3EB120DD634CC00486E4F /* forms_timer.cxx */,
C9A3EB130DD634CC00486E4F /* Fl_Input.cxx */,
- C9A3EB140DD634CC00486E4F /* fl_scroll_area.cxx */,
- C9A3EB150DD634CC00486E4F /* Fl_Tiled_Image.cxx */,
- C9A3EB160DD634CC00486E4F /* Fl_Tile.cxx */,
- C9A3EB170DD634CC00486E4F /* Fl_Text_Editor.cxx */,
- C9A3EB180DD634CC00486E4F /* freeglut_teapot.cxx */,
- C9A3EB190DD634CC00486E4F /* Fl_Overlay_Window.cxx */,
- C9A3EB1A0DD634CC00486E4F /* Fl_own_colormap.cxx */,
- C9A3EB1B0DD634CC00486E4F /* filename_expand.cxx */,
- C9A3EB1C0DD634CC00486E4F /* filename_absolute.cxx */,
+ C9A3EB430DD634CC00486E4F /* Fl_Input_.cxx */,
+ C9A3EB3A0DD634CC00486E4F /* Fl_JPEG_Image.cxx */,
+ C9A3EB380DD634CC00486E4F /* Fl_Light_Button.cxx */,
+ C9A3EB390DD634CC00486E4F /* fl_labeltype.cxx */,
+ C9A3EB440DD634CC00486E4F /* fl_line_style.cxx */,
+ C9A3EB590DD634CC00486E4F /* Fl_lock.cxx */,
C9A3EB1D0DD634CC00486E4F /* Fl_Menu_.cxx */,
C9A3EB1E0DD634CC00486E4F /* Fl_Menu.cxx */,
- C9A3EB1F0DD634CC00486E4F /* freeglut_stroke_roman.cxx */,
- C9A3EB200DD634CC00486E4F /* freeglut_stroke_mono_roman.cxx */,
C9A3EB210DD634CC00486E4F /* Fl_Multi_Label.cxx */,
C9A3EB220DD634CC00486E4F /* Fl_Menu_Window.cxx */,
- C9A3EB230DD634CC00486E4F /* Fl.cxx */,
- C9A3EB240DD634CC00486E4F /* Fl_Dial.cxx */,
- C9A3EB250DD634CC00486E4F /* fl_curve.cxx */,
C9A3EB260DD634CC00486E4F /* Fl_Menu_global.cxx */,
C9A3EB270DD634CC00486E4F /* Fl_Menu_Button.cxx */,
C9A3EB280DD634CC00486E4F /* Fl_Menu_Bar.cxx */,
C9A3EB290DD634CC00486E4F /* Fl_Menu_add.cxx */,
- C9A3EB2A0DD634CC00486E4F /* filename_list.cxx */,
- C9A3EB2B0DD634CC00486E4F /* Fl_Browser.cxx */,
- C9A3EB2C0DD634CC00486E4F /* Fl_Value_Input.cxx */,
- C9A3EB2D0DD634CC00486E4F /* Fl_Valuator.cxx */,
- C9A3EB2E0DD634CC00486E4F /* Fl_Button.cxx */,
- C9A3EB2F0DD634CC00486E4F /* fl_read_image.cxx */,
+ C9A3EB580DD634CC00486E4F /* Fl_mac.cxx */,
+ C9A3EB040DD634CC00486E4F /* fl_overlay_visual.cxx */,
+ C9A3EB190DD634CC00486E4F /* Fl_Overlay_Window.cxx */,
+ C9A3EB1A0DD634CC00486E4F /* Fl_own_colormap.cxx */,
+ C9A3EB420DD634CC00486E4F /* fl_open_uri.cxx */,
+ C9A3EB530DD634CC00486E4F /* fl_overlay.cxx */,
+ C9A3EB540DD634CC00486E4F /* fl_oval_box.cxx */,
+ C9A3EB330DD634CC00486E4F /* Fl_PNM_Image.cxx */,
+ C9A3EB090DD634CC00486E4F /* Fl_PNG_Image.cxx */,
C9A3EB300DD634CC00486E4F /* Fl_Progress.cxx */,
C9A3EB310DD634CC00486E4F /* Fl_Preferences.cxx */,
C9A3EB320DD634CC00486E4F /* Fl_Positioner.cxx */,
- C9A3EB330DD634CC00486E4F /* Fl_PNM_Image.cxx */,
- C9A3EB340DD634CC00486E4F /* Fl_Gl_Overlay.cxx */,
- C9A3EB350DD634CC00486E4F /* Fl_Sys_Menu_Bar.cxx */,
- C9A3EB360DD634CC00486E4F /* fl_symbols.cxx */,
- C9A3EB370DD634CC00486E4F /* Fl_Gl_Choice.cxx */,
- C9A3EB380DD634CC00486E4F /* Fl_Light_Button.cxx */,
- C9A3EB390DD634CC00486E4F /* fl_labeltype.cxx */,
- C9A3EB3A0DD634CC00486E4F /* Fl_JPEG_Image.cxx */,
- C9A3EB3B0DD634CC00486E4F /* fl_draw.cxx */,
- C9A3EB3C0DD634CC00486E4F /* Fl_Double_Window.cxx */,
- C9A3EB3D0DD634CC00486E4F /* fl_dnd_x.cxx */,
- C9A3EB3E0DD634CC00486E4F /* Fl_XBM_Image.cxx */,
- C9A3EB3F0DD634CC00486E4F /* Fl_x.cxx */,
- C9A3EB400DD634CC00486E4F /* Fl_Wizard.cxx */,
- C9A3EB410DD634CC00486E4F /* Fl_Help_View.cxx */,
- C9A3EB420DD634CC00486E4F /* fl_open_uri.cxx */,
- C9A3EB430DD634CC00486E4F /* Fl_Input_.cxx */,
- C9A3EB440DD634CC00486E4F /* fl_line_style.cxx */,
- C9A3EB450DD634CC00486E4F /* Fl_GIF_Image.cxx */,
- C9A3EB460DD634CC00486E4F /* Fl_Adjuster.cxx */,
+ C9A3EB680DD634CC00486E4F /* fl_plastic.cxx */,
+ C9A3EB690DD634CC00486E4F /* Fl_Pixmap.cxx */,
+ C9A3EB6A0DD634CC00486E4F /* Fl_Pack.cxx */,
+ C9A3EB2F0DD634CC00486E4F /* fl_read_image.cxx */,
+ C9A3EAFB0DD634CC00486E4F /* Fl_Round_Button.cxx */,
+ C9A3EB030DD634CC00486E4F /* fl_rounded_box.cxx */,
C9A3EB470DD634CC00486E4F /* fl_rect.cxx */,
C9A3EB480DD634CC00486E4F /* fl_read_image_win32.cxx */,
C9A3EB490DD634CC00486E4F /* fl_read_image_mac.cxx */,
- C9A3EB4A0DD634CC00486E4F /* forms_fselect.cxx */,
- C9A3EB4B0DD634CC00486E4F /* forms_free.cxx */,
- C9A3EB4C0DD634CC00486E4F /* fl_arc.cxx */,
- C9A3EB4D0DD634CC00486E4F /* filename_ext.cxx */,
- C9A3EB4E0DD634CC00486E4F /* fl_set_font.cxx */,
- C9A3EB4F0DD634CC00486E4F /* Fl_Scrollbar.cxx */,
- C9A3EB500DD634CC00486E4F /* forms_compatability.cxx */,
- C9A3EB510DD634CC00486E4F /* forms_bitmap.cxx */,
- C9A3EB520DD634CC00486E4F /* Fl_abort.cxx */,
- C9A3EB530DD634CC00486E4F /* fl_overlay.cxx */,
- C9A3EB540DD634CC00486E4F /* fl_oval_box.cxx */,
- C9A3EB550DD634CC00486E4F /* dump_compose.c */,
- C9A3EB560DD634CC00486E4F /* Fl_Text_Buffer.cxx */,
- C9A3EB570DD634CC00486E4F /* Fl_Tabs.cxx */,
- C9A3EB580DD634CC00486E4F /* Fl_mac.cxx */,
- C9A3EB590DD634CC00486E4F /* Fl_lock.cxx */,
- C9A3EB5A0DD634CC00486E4F /* fl_cursor.cxx */,
- C9A3EB5B0DD634CC00486E4F /* Fl_Counter.cxx */,
- C9A3EB5C0DD634CC00486E4F /* Fl_Check_Browser.cxx */,
- C9A3EB5D0DD634CC00486E4F /* Fl_Bitmap.cxx */,
- C9A3EB5E0DD634CC00486E4F /* filename_isdir.cxx */,
- C9A3EB5F0DD634CC00486E4F /* filename_match.cxx */,
- C9A3EB600DD634CC00486E4F /* Fl_Slider.cxx */,
- C9A3EB610DD634CC00486E4F /* fl_draw_image.cxx */,
- C9A3EB620DD634CC00486E4F /* Fl_Browser_load.cxx */,
C9A3EB630DD634CC00486E4F /* fl_round_box.cxx */,
C9A3EB640DD634CC00486E4F /* Fl_Roller.cxx */,
C9A3EB650DD634CC00486E4F /* Fl_Return_Button.cxx */,
C9A3EB660DD634CC00486E4F /* Fl_Repeat_Button.cxx */,
- C9A3EB670DD634CC00486E4F /* Fl_add_idle.cxx */,
- C9A3EB680DD634CC00486E4F /* fl_plastic.cxx */,
- C9A3EB690DD634CC00486E4F /* Fl_Pixmap.cxx */,
- C9A3EB6A0DD634CC00486E4F /* Fl_Pack.cxx */,
- C9A3EB6B0DD634CC00486E4F /* Fl_Browser_.cxx */,
- C9A3EB6C0DD634CC00486E4F /* glut_font.cxx */,
- C9A3EB6D0DD634CC00486E4F /* glut_compatability.cxx */,
- C9A3EB6E0DD634CC00486E4F /* gl_start.cxx */,
- C9A3EB6F0DD634CC00486E4F /* gl_draw.cxx */,
- C9A3EB700DD634CC00486E4F /* scandir.c */,
- C9A3EB710DD634CC00486E4F /* numericsort.c */,
- C9A3EB720DD634CC00486E4F /* Fl_Box.cxx */,
- C9A3EB730DD634CC00486E4F /* fl_dnd_win32.cxx */,
- C9A3EB740DD634CC00486E4F /* fl_dnd_mac.cxx */,
- C9A3EB750DD634CC00486E4F /* fl_call_main.c */,
- C9A3EB760DD634CC00486E4F /* vsnprintf.c */,
- C9A3EB770DD634CC00486E4F /* screen_xywh.cxx */,
- C9A3EB780DD634CC00486E4F /* scandir_win32.c */,
+ C9A3EAEF0DD634CC00486E4F /* fl_set_fonts_xft.cxx */,
+ C9A3EAF00DD634CC00486E4F /* fl_set_fonts_x.cxx */,
+ C9A3EAF10DD634CC00486E4F /* fl_set_fonts_win32.cxx */,
+ C9A3EAF20DD634CC00486E4F /* fl_set_fonts_mac.cxx */,
+ C9A3EAF30DD634CC00486E4F /* fl_set_fonts.cxx */,
+ C9A3EB000DD634CC00486E4F /* Fl_Scroll.cxx */,
+ C9A3EB050DD634CC00486E4F /* fl_shortcut.cxx */,
+ C9A3EB060DD634CC00486E4F /* Fl_Shared_Image.cxx */,
+ C9A3EB140DD634CC00486E4F /* fl_scroll_area.cxx */,
+ C9A3EB350DD634CC00486E4F /* Fl_Sys_Menu_Bar.cxx */,
+ C9A3EB360DD634CC00486E4F /* fl_symbols.cxx */,
+ C9A3EB4E0DD634CC00486E4F /* fl_set_font.cxx */,
+ C9A3EB4F0DD634CC00486E4F /* Fl_Scrollbar.cxx */,
+ C9A3EB600DD634CC00486E4F /* Fl_Slider.cxx */,
C9A3EB790DD634CC00486E4F /* Fl_Single_Window.cxx */,
C9A3EB7A0DD634CC00486E4F /* fl_show_colormap.cxx */,
- C9A3EB7B0DD634CC00486E4F /* fl_encoding_latin1.cxx */,
- C9A3EB7C0DD634CC00486E4F /* Fl_Chart.cxx */,
- C9A3EB7D0DD634CC00486E4F /* Fl_Value_Slider.cxx */,
- C9A3EB7E0DD634CC00486E4F /* Fl_Value_Output.cxx */,
- C9A3EB7F0DD634CC00486E4F /* fl_color_mac.cxx */,
- C9A3EB800DD634CC00486E4F /* Fl_Color_Chooser.cxx */,
- C9A3EB810DD634CC00486E4F /* fl_color.cxx */,
- C9A3EB820DD634CC00486E4F /* fl_arci.cxx */,
- C9A3EB830DD634CC00486E4F /* filename_setext.cxx */,
- C9A3EB840DD634CC00486E4F /* Fl_Clock.cxx */,
- C9A3EB850DD634CC00486E4F /* fl_ask.cxx */,
- C9A3EB860DD634CC00486E4F /* fl_boxtype.cxx */,
- C9A3EB870DD634CC00486E4F /* fl_gtk.cxx */,
- C9A3EB880DD634CC00486E4F /* Fl_compose.cxx */,
- C9A3EB890DD634CC00486E4F /* fl_color_win32.cxx */,
- C9A3EB8A0DD634CC00486E4F /* Fl_BMP_Image.cxx */,
C9A3EB8B0DD634CC00486E4F /* fl_shadow_box.cxx */,
+ C9A3EAFC0DD634CC00486E4F /* Fl_Tooltip.cxx */,
+ C9A3EAFF0DD634CC00486E4F /* Fl_Text_Display.cxx */,
+ C9A3EB150DD634CC00486E4F /* Fl_Tiled_Image.cxx */,
+ C9A3EB160DD634CC00486E4F /* Fl_Tile.cxx */,
+ C9A3EB170DD634CC00486E4F /* Fl_Text_Editor.cxx */,
+ C9B4E2AA10CC273400DA2F05 /* Fl_Table_Row.cxx */,
+ C9B4E2AB10CC273400DA2F05 /* Fl_Table.cxx */,
+ C9B4E2AC10CC273400DA2F05 /* Fl_Tree_Item_Array.cxx */,
+ C9B4E2AD10CC273400DA2F05 /* Fl_Tree_Item.cxx */,
+ C9B4E2AE10CC273400DA2F05 /* Fl_Tree_Prefs.cxx */,
+ C9B4E2AF10CC273400DA2F05 /* Fl_Tree.cxx */,
+ C9A3EB560DD634CC00486E4F /* Fl_Text_Buffer.cxx */,
+ C9A3EB570DD634CC00486E4F /* Fl_Tabs.cxx */,
C94A76390E76CF5B00AAA38E /* fl_utf.c */,
C94A763A0E76CF6200AAA38E /* fl_utf8.cxx */,
- C99E1E980E7861E600AECCF6 /* case.c */,
+ C9A3EAF80DD634CC00486E4F /* Fl_visual.cxx */,
+ C9A3EAF90DD634CC00486E4F /* fl_vertex.cxx */,
+ C9A3EB2C0DD634CC00486E4F /* Fl_Value_Input.cxx */,
+ C9A3EB2D0DD634CC00486E4F /* Fl_Valuator.cxx */,
+ C9A3EB7E0DD634CC00486E4F /* Fl_Value_Output.cxx */,
+ C9A3EB7D0DD634CC00486E4F /* Fl_Value_Slider.cxx */,
+ C9A3EAF40DD634CC00486E4F /* Fl_Window_fullscreen.cxx */,
+ C9A3EAF50DD634CC00486E4F /* Fl_Window.cxx */,
+ C9A3EAF60DD634CC00486E4F /* Fl_win32.cxx */,
+ C9A3EAF70DD634CC00486E4F /* Fl_Widget.cxx */,
+ C9A3EAFD0DD634CC00486E4F /* Fl_Window_iconize.cxx */,
+ C9A3EAFE0DD634CC00486E4F /* Fl_Window_hotspot.cxx */,
+ C9A3EB400DD634CC00486E4F /* Fl_Wizard.cxx */,
+ C9A3EB3E0DD634CC00486E4F /* Fl_XBM_Image.cxx */,
+ C9A3EB0E0DD634CC00486E4F /* Fl_XPM_Image.cxx */,
+ C9A3EB3F0DD634CC00486E4F /* Fl_x.cxx */,
+ C9A3EB080DD634CC00486E4F /* flstring.c */,
+ C9A3EB510DD634CC00486E4F /* forms_bitmap.cxx */,
+ C9A3EB500DD634CC00486E4F /* forms_compatability.cxx */,
+ C9A3EB4B0DD634CC00486E4F /* forms_free.cxx */,
+ C9A3EB4A0DD634CC00486E4F /* forms_fselect.cxx */,
+ C9A3EB120DD634CC00486E4F /* forms_timer.cxx */,
+ C9A3EAFA0DD634CC00486E4F /* forms_pixmap.cxx */,
+ C9A3EB110DD634CC00486E4F /* freeglut_geometry.cxx */,
+ C9A3EB1F0DD634CC00486E4F /* freeglut_stroke_roman.cxx */,
+ C9A3EB200DD634CC00486E4F /* freeglut_stroke_mono_roman.cxx */,
+ C9A3EB180DD634CC00486E4F /* freeglut_teapot.cxx */,
+ C9A3EB6F0DD634CC00486E4F /* gl_draw.cxx */,
+ C9A3EB6E0DD634CC00486E4F /* gl_start.cxx */,
+ C9A3EB6D0DD634CC00486E4F /* glut_compatability.cxx */,
+ C9A3EB6C0DD634CC00486E4F /* glut_font.cxx */,
C99E1E990E7861EF00AECCF6 /* is_right2left.c */,
C99E1E9A0E7861F400AECCF6 /* is_spacing.c */,
+ C9A3EB710DD634CC00486E4F /* numericsort.c */,
+ C9A3EB700DD634CC00486E4F /* scandir.c */,
+ C9A3EB780DD634CC00486E4F /* scandir_win32.c */,
+ C9A3EB770DD634CC00486E4F /* screen_xywh.cxx */,
+ C9A3EB760DD634CC00486E4F /* vsnprintf.c */,
);
name = "Library Sources";
sourceTree = "<group>";
@@ -14226,7 +14226,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)";
- ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64";
+ ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 x86_64";
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PFE_FILE_C_DIALECTS = "c c++";
@@ -14236,6 +14236,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.3;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
USER_HEADER_SEARCH_PATHS = ../../jpeg;
+ VALID_ARCHS = "i386 ppc x86_64";
WARNING_CFLAGS = "";
};
name = Release;
diff --git a/src/Fl_Sys_Menu_Bar.cxx b/src/Fl_Sys_Menu_Bar.cxx
index da0451582..59ca6d4f8 100644
--- a/src/Fl_Sys_Menu_Bar.cxx
+++ b/src/Fl_Sys_Menu_Bar.cxx
@@ -77,7 +77,7 @@ typedef const Fl_Menu_Item *pFl_Menu_Item;
*/
#ifndef __APPLE_COCOA__
- static void catMenuText( const char *src, char *dst )
+static void catMenuText( const char *src, char *dst )
{
char c;
while ( *dst )
@@ -103,7 +103,7 @@ static void catMenuFont( const Fl_Menu_Item *m, char *dst )
return;
while ( *dst )
dst++;
-
+
if ( m->labelfont_ & FL_BOLD )
strcat( dst, "<B" );
if ( m->labelfont_ & FL_ITALIC )
@@ -112,28 +112,28 @@ static void catMenuFont( const Fl_Menu_Item *m, char *dst )
// strcat( dst, "<U" );
if ( m->labeltype_ == FL_EMBOSSED_LABEL )
- strcat( dst, "<U" );
+ strcat( dst, "<U" );
else if ( m->labeltype_ == FL_ENGRAVED_LABEL )
- strcat( dst, "<O" );
+ strcat( dst, "<O" );
else if ( m->labeltype_ == FL_SHADOW_LABEL )
- strcat( dst, "<S" );
+ strcat( dst, "<S" );
//else if ( m->labeltype_ == FL_SYMBOL_LABEL )
- ; // not supported
+ ; // not supported
}
/**
* append a marker to identify the menu shortcut
* <B, I, U, O, and S
-enum {
- kMenuNoModifiers = 0,
- kMenuShiftModifier = (1 << 0),
- kMenuOptionModifier = (1 << 1),
- kMenuControlModifier = (1 << 2),
- kMenuNoCommandModifier = (1 << 3)
-};
-*/
+ enum {
+ kMenuNoModifiers = 0,
+ kMenuShiftModifier = (1 << 0),
+ kMenuOptionModifier = (1 << 1),
+ kMenuControlModifier = (1 << 2),
+ kMenuNoCommandModifier = (1 << 3)
+ };
+ */
#endif
-
+
static void setMenuShortcut( MenuHandle mh, int miCnt, const Fl_Menu_Item *m )
{
if ( !m->shortcut_ )
@@ -190,15 +190,15 @@ static void setMenuFlags( MenuHandle mh, int miCnt, const Fl_Menu_Item *m )
if ( m->flags & FL_MENU_TOGGLE )
{
#ifdef __APPLE_COCOA__
- void *menuItem = MACMenuOrItemOperation("itemAtIndex", mh, miCnt);
- MACMenuOrItemOperation("setState", menuItem, m->flags & FL_MENU_VALUE );
+ void *menuItem = MACMenuOrItemOperation("itemAtIndex", mh, miCnt);
+ MACMenuOrItemOperation("setState", menuItem, m->flags & FL_MENU_VALUE );
#else
- SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x12 : 0 );
+ SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x12 : 0 );
#endif
}
else if ( m->flags & FL_MENU_RADIO ) {
#ifndef __APPLE_COCOA__
- SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x13 : 0 );
+ SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x13 : 0 );
#endif
}
}
@@ -222,20 +222,20 @@ static void createSubMenu( void * mh, pFl_Menu_Item &mm )
menuItem = MACMenuOrItemOperation("itemAtIndex", mh, cnt);
MACMenuOrItemOperation("setSubmenu", menuItem, submenu);
if ( mm->flags & FL_MENU_INACTIVE ) {
- MACMenuOrItemOperation("setEnabled", menuItem, 0);
+ MACMenuOrItemOperation("setEnabled", menuItem, 0);
}
mm++;
while ( mm->text )
{
- MACMenuOrItemOperation("addNewItem", submenu, mm->text, mm->callback_, mm->user_data_, &miCnt);
+ MACMenuOrItemOperation("addNewItem", submenu, mm, &miCnt);
setMenuFlags( submenu, miCnt, mm );
setMenuShortcut( submenu, miCnt, mm );
- if ( mm->flags & FL_MENU_INACTIVE ) {
- void *item = MACMenuOrItemOperation("itemAtIndex", submenu, miCnt);
- MACMenuOrItemOperation("setEnabled", item, 0);
- }
- flags = mm->flags;
+ if ( mm->flags & FL_MENU_INACTIVE ) {
+ void *item = MACMenuOrItemOperation("itemAtIndex", submenu, miCnt);
+ MACMenuOrItemOperation("setEnabled", item, 0);
+ }
+ flags = mm->flags;
if ( mm->flags & FL_SUBMENU )
{
createSubMenu( submenu, mm );
@@ -246,12 +246,12 @@ static void createSubMenu( void * mh, pFl_Menu_Item &mm )
createSubMenu( submenu, smm );
}
if ( flags & FL_MENU_DIVIDER ) {
- MACMenuOrItemOperation("addSeparatorItem", submenu);
- }
+ MACMenuOrItemOperation("addSeparatorItem", submenu);
+ }
mm++;
}
}
-
+
/**
* create a system menu bar using the given list of menu structs
@@ -266,16 +266,15 @@ void Fl_Sys_Menu_Bar::menu(const Fl_Menu_Item *m)
fl_open_display();
Fl_Menu_Bar::menu( m );
fl_sys_menu_bar = this;
-
-
+
+
const Fl_Menu_Item *mm = m;
for (;;)
{
if ( !mm || !mm->text )
break;
char visible = mm->visible() ? 1 : 0;
- MACMenuOrItemOperation("addNewItem", MACmainMenu(), mm->text, NULL, NULL, NULL);
-
+ MACMenuOrItemOperation("addNewItem", MACmainMenu(), mm, NULL);
if ( mm->flags & FL_SUBMENU )
createSubMenu( MACmainMenu(), mm );
else if ( mm->flags & FL_SUBMENU_POINTER ) {
@@ -283,7 +282,7 @@ void Fl_Sys_Menu_Bar::menu(const Fl_Menu_Item *m)
createSubMenu( MACmainMenu(), smm );
}
if ( visible ) {
-// InsertMenu( mh, 0 );
+ // InsertMenu( mh, 0 );
}
mm++;
}
@@ -395,17 +394,17 @@ void Fl_Sys_Menu_Bar::menu(const Fl_Menu_Item *m)
#endif //__APPLE_COCOA__
/*
-const Fl_Menu_Item* Fl_Sys_Menu_Bar::picked(const Fl_Menu_Item* v) {
- Fl_menu_Item *ret = Fl_Menu_Bar::picked( v );
-
- if ( m->flags & FL_MENU_TOGGLE )
- {
- SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x12 : 0 );
- }
-
- return ret;
-}
-*/
+ const Fl_Menu_Item* Fl_Sys_Menu_Bar::picked(const Fl_Menu_Item* v) {
+ Fl_menu_Item *ret = Fl_Menu_Bar::picked( v );
+
+ if ( m->flags & FL_MENU_TOGGLE )
+ {
+ SetItemMark( mh, miCnt, ( m->flags & FL_MENU_VALUE ) ? 0x12 : 0 );
+ }
+
+ return ret;
+ }
+ */
void Fl_Sys_Menu_Bar::draw() {
}
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 4b869cc1d..40c1b99b5 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -123,6 +123,7 @@ static int got_events = 0;
static Fl_Window* resize_from_system;
static NSView *viewWithLockedFocus = nil;
static SInt32 MACsystemVersion;
+void *MACMenuOrItemOperation(const char *operation, ...);
#if CONSOLIDATE_MOTION
static Fl_Window* send_motion;
@@ -2824,27 +2825,33 @@ static void createAppleMenu(void)
}
@interface FLMenuItem : NSMenuItem {
- Fl_Callback *cb;
- void *data;
+ const Fl_Menu_Item *item;
}
-- (FLMenuItem*) putData:(Fl_Callback*)callback pter:(void*)d;
-- (void) doCallback:(id)obj;
-- (void*)getItemData;
-@end
+- (void) setFlMenuItem:(const Fl_Menu_Item*)flItem;
+- (void) doCallback:(id)unused;
+- (void) directCallback:(id)unused;
+- (Fl_Menu_Item*)getFlMenuItem;@end
@implementation FLMenuItem
-- (FLMenuItem*) putData:(Fl_Callback*)callback pter:(void*)d
+- (void) setFlMenuItem:(const Fl_Menu_Item*)flItem
{
- cb = callback;
- data = d;
- return self;
+ item = flItem;
}
-- (void) doCallback:(id)obj
+- (void) doCallback:(id)unused
{
- if (cb) cb((Fl_Widget*)obj, data);
+ if(item) {
+ fl_sys_menu_bar->picked(item);
+ if ( item->flags & FL_MENU_TOGGLE ) {// update the menu toggle symbol
+ [(NSMenuItem*)unused setState:(item->value() ? NSOnState : NSOffState)];
+ }
+ }
}
-- (void*)getItemData
+- (void) directCallback:(id)unused
{
- return data;
+ if( item && item->callback() ) item->do_callback(NULL);
+}
+- (const Fl_Menu_Item*)getFlMenuItem
+{
+ return item;
}
@end
@@ -2873,16 +2880,26 @@ void *MACcreateMenu(const char *name)
return (void *)mymenu;
}
-void MACsetAboutMenu( Fl_Callback *cb, void *data )
-// attaches a callback to the "About myprog" item of the application menu
+void fl_mac_set_about( Fl_Menu_Item *flItem )
+/**
+ * Mac OS: attaches an Fl_Menu_Item to the "About myprog" item of the system application menu.
+ * \note Only the shortcut_, callback_ and user_data_ fields of the Fl_Menu_Item* \p flItem are used.
+ *
+ * \author Manolo Gouy
+ *
+ * \param[in] flItem is a const Fl_Menu_Item*
+ */
{
fl_open_display();
CFStringRef cfname = CFStringCreateCopy(NULL, (CFStringRef)[[appleMenu itemAtIndex:0] title]);
[appleMenu removeItemAtIndex:0];
FLMenuItem *item = [[FLMenuItem alloc] autorelease];
- [item initWithTitle:(NSString*)cfname action:@selector(doCallback:) keyEquivalent:@""];
- [item putData:cb pter:data];
- [appleMenu insertItem:item atIndex:0];
+ [item initWithTitle:(NSString*)cfname action:@selector(directCallback:) keyEquivalent:@""];
+ if(flItem->shortcut()) {
+ MACMenuOrItemOperation("setKeyEquivalent", item, flItem->shortcut() & 0xff);
+ MACMenuOrItemOperation("setKeyEquivalentModifierMask", item, flItem->shortcut() );
+ }
+ [item setFlMenuItem:flItem]; [appleMenu insertItem:item atIndex:0];
CFRelease(cfname);
[item setTarget:item];
}
@@ -2991,27 +3008,24 @@ void *MACMenuOrItemOperation(const char *operation, ...)
value = va_arg(ap, int);
[menu removeItem:[menu itemAtIndex:value]];
}
- else if(strcmp(operation, "getItemData") == 0) {//arguments: NSMenu*, int. Returns the item's data
- //items can have a callback and a data pointer attached to them. This returns the data pointer
- menu = va_arg(ap, NSMenu*);
+ else if(strcmp(operation, "getFlMenuItem") == 0) {//arguments: NSMenu*, int. Returns the item's Fl_Menu_Item* menu = va_arg(ap, NSMenu*);
value = va_arg(ap, int);
- retval = [(FLMenuItem *)[menu itemAtIndex:value] getItemData];
+ retval = [(FLMenuItem *)[menu itemAtIndex:value] getFlMenuItem];
}
else if(strcmp(operation, "addNewItem") == 0) {
- //arguments: NSMenu *menu, const char *name, Fl_Callback *cb, void *data, int *prank
- //creates a new menu item named 'name' at the end of 'menu'
- //attaches callback 'cb' and data pointer 'data' to it
+ //arguments: NSMenu *menu, const Fl_Menu_Item* flItem, int *prank
+ //creates a new menu item at the end of 'menu'
+ //attaches the Fl_Menu_Item *flItem to it
//upon return, puts the rank of the new item in *prank unless prank is NULL
menu = va_arg(ap, NSMenu*);
- char *name = remove_ampersand(va_arg(ap, const char*));
- Fl_Callback *cb = va_arg(ap, Fl_Callback*);
- pter = va_arg(ap, void *);
+ const Fl_Menu_Item *flItem = va_arg(ap, const Fl_Menu_Item*);
+ char *name = remove_ampersand(flItem->label());
int *prank = va_arg(ap, int*);
CFStringRef cfname = CFStringCreateWithCString(NULL, name, kCFStringEncodingUTF8);
free(name);
FLMenuItem *item = [FLMenuItem alloc];
[item initWithTitle:(NSString*)cfname action:@selector(doCallback:) keyEquivalent:@""];
- [item putData:cb pter:pter];
+ [item setFlMenuItem:flItem];
[menu addItem:item];
CFRelease(cfname);
[item setTarget:item];