diff options
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_Sys_Menu_Bar.H | 20 | ||||
| -rw-r--r-- | FL/mac.H | 20 |
2 files changed, 34 insertions, 6 deletions
diff --git a/FL/Fl_Sys_Menu_Bar.H b/FL/Fl_Sys_Menu_Bar.H index 79275c7a4..87a4db8e3 100644 --- a/FL/Fl_Sys_Menu_Bar.H +++ b/FL/Fl_Sys_Menu_Bar.H @@ -31,36 +31,48 @@ #include "Fl_Menu_Bar.H" #include "x.H" -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(FL_DOXYGEN) +/** + @brief A class to create, modify and delete menus that appear on Mac OS X in the menu bar at the top of the screen. + * + * On other than Mac OS X platforms, Fl_Sys_Menu_Bar is a synonym of class Fl_Menu_Bar. + */ class FL_EXPORT Fl_Sys_Menu_Bar : public Fl_Menu_Bar { protected: void draw(); public: + /** + @brief The constructor. + * + * On Mac OS X, all arguments are unused. On other platforms they are used as by Fl_Menu_Bar::Fl_Menu_Bar(). + */ Fl_Sys_Menu_Bar(int x,int y,int w,int h,const char *l=0) : Fl_Menu_Bar(x,y,w,h,l) { deactivate(); // don't let the old area take events fl_sys_menu_bar = this; } void menu(const Fl_Menu_Item *m); -#ifdef __APPLE_COCOA__ +#if defined(__APPLE_COCOA__) || defined(FL_DOXYGEN) int add(const char* label, int shortcut, Fl_Callback*, void *user_data=0, int flags=0); void remove(int n); void replace(int rank, const char *name); +#if ! defined(FL_DOXYGEN) enum menuOrItemOperation { itemAtIndex, setKeyEquivalent, setKeyEquivalentModifierMask, setState, initWithTitle, numberOfItems, setSubmenu, setEnabled, addSeparatorItem, setTitle, removeItem, addNewItem, renameItem }; // function doMenuOrItemOperation is in file Fl_cocoa.mm because it contains objective-c code static void *doMenuOrItemOperation( menuOrItemOperation operation, ...); #endif +#endif }; #else typedef Fl_Menu_Bar Fl_Sys_Menu_Bar; -#endif +#endif // defined(__APPLE__) || defined(FL_DOXYGEN) -#endif +#endif // Fl_Sys_Menu_Bar_H // // End of "$Id$". @@ -161,7 +161,6 @@ extern void MacUnmapWindow(Fl_Window*,void *); extern WindowRef MACwindowRef(Fl_Window *w); extern Fl_Region MacRectRegionIntersect(Fl_Region current, int x,int y,int w, int h); extern void MacCollapseWindow(Window w); -extern void fl_mac_set_about( Fl_Callback *cb, void *user_data, int shortcut = 0); #else extern void MacDestroyWindow(Fl_Window*,WindowPtr); extern void MacMapWindow(Fl_Window*,WindowPtr); @@ -169,7 +168,6 @@ extern void MacUnmapWindow(Fl_Window*,WindowPtr); #endif extern int MacUnlinkWindow(Fl_X*,Fl_X*start=0L); -extern void fl_open_callback(void (*cb)(const char *)); inline Window fl_xid(const Fl_Window*w) { @@ -205,6 +203,24 @@ extern void fl_open_callback(void (*cb)(const char *)); extern FL_EXPORT int fl_parse_color(const char* p, uchar& r, uchar& g, uchar& b); #endif // FL_DOXYGEN + +#if defined(__APPLE_COCOA__) || defined(FL_DOXYGEN) +/** \defgroup group_macosx Mac OS X-specific functions + @{ */ + +/** + * \brief Mac OS X: attaches a callback to the "About myprog" item of the system application menu. + * \note #include <FL/x.H> + * + * \param cb a callback that will be called by "About myprog" menu item + * with NULL 1st argument. + * \param user_data a pointer transmitted as 2nd argument to the callback. + * \param shortcut optional shortcut to attach to the "About myprog" menu item (e.g., FL_META+'a') + */ +extern void fl_mac_set_about( Fl_Callback *cb, void *user_data, int shortcut = 0); +/** @} */ +#endif + // // End of "$Id$". // |
