diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2009-12-12 18:06:49 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2009-12-12 18:06:49 +0000 |
| commit | 0d99b353a4785d932c56901a6bce5672bccd2bf9 (patch) | |
| tree | f5d1e7a978a9a0085e5df01036cef8ffe274e071 | |
| parent | a85efbce2612dde7942d3d2c3ad3b3d844b27427 (diff) | |
Sorted Xcode source files (somewhat). Added Manolos patches to fix the Sys_Menu widget pointer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6962 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj | 305 | ||||
| -rw-r--r-- | src/Fl_Sys_Menu_Bar.cxx | 89 | ||||
| -rw-r--r-- | src/Fl_cocoa.mm | 74 |
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]; |
