Have class Fl_Sys_Menu_Bar and function fl_mac_set_about appear in Doxygen doc.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7276 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2010-03-16 14:47:40 +00:00
parent b20ef0bdeb
commit b5e2d38b2f
4 changed files with 49 additions and 35 deletions

View File

@ -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$".

View File

@ -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$".
//

View File

@ -42,7 +42,7 @@
* - Shortcut Characters should be English alphanumeric only, no modifiers yet
* - no disable main menus
* - changes to menubar in run-time don't update!
* (disable, etc. - toggle and readio button do!)
* (disable, etc. - toggle and radio button do!)
*
* No care was taken to clean up the menu bar after destruction!
* ::menu(bar) should only be called once!
@ -52,7 +52,7 @@
* a bundle for the System Menu Bar (and maybe other features) to work!
*/
#if defined(__APPLE__)
#if defined(__APPLE__) || defined(FL_DOXYGEN)
#include <FL/x.H>
#include <FL/Fl.H>
@ -69,7 +69,7 @@
typedef const Fl_Menu_Item *pFl_Menu_Item;
/**
/*
* copy the text of a menuitem into a buffer.
* Skip all '&' which would mark the shortcut in FLTK
* Skip all Mac control characters ('(', '<', ';', '^', '!' )
@ -91,7 +91,7 @@ typedef const Fl_Menu_Item *pFl_Menu_Item;
*dst = 0;
}
/**
/*
* append a marker to identify the menu font style
* <B, I, U, O, and S
*/
@ -120,7 +120,7 @@ static void catMenuFont( const Fl_Menu_Item *m, char *dst )
; // not supported
}
/**
/*
* append a marker to identify the menu shortcut
* <B, I, U, O, and S
enum {
@ -206,9 +206,9 @@ static void setMenuFlags( MenuHandle mh, int miCnt, const Fl_Menu_Item *m )
}
#ifdef __APPLE_COCOA__
#if defined(__APPLE_COCOA__) || defined(FL_DOXYGEN)
/**
/*
* create a sub menu for a specific menu handle
*/
static void createSubMenu( void * mh, pFl_Menu_Item &mm )
@ -288,7 +288,7 @@ static void convertToMenuBar(const Fl_Menu_Item *mm)
}
/**
* create a system menu bar using the given list of menu structs
* @brief create a system menu bar using the given list of menu structs
*
* \author Matthias Melcher
*
@ -302,7 +302,9 @@ void Fl_Sys_Menu_Bar::menu(const Fl_Menu_Item *m)
}
/**
* Adds to the system menu bar a new menu item, with a title string, shortcut int,
* @brief add to the system menu bar a new menu item
*
* add to the system menu bar a new menu item, with a title string, shortcut int,
* callback, argument to the callback, and flags.
*
* @see Fl_Menu_::add(const char* label, int shortcut, Fl_Callback *cb, void *user_data, int flags)
@ -316,7 +318,7 @@ int Fl_Sys_Menu_Bar::add(const char* label, int shortcut, Fl_Callback *cb, void
}
/**
* remove an item from the system menu bar
* @brief remove an item from the system menu bar
*
* @param rank the rank of the item to remove
*/
@ -328,7 +330,7 @@ void Fl_Sys_Menu_Bar::remove(int rank)
/**
* rename an item from the system menu bar
* @brief rename an item from the system menu bar
*
* @param rank the rank of the item to rename
* @param name the new item name as a UTF8 string
@ -349,7 +351,7 @@ static void catMenuFlags( const Fl_Menu_Item *m, char *dst )
strcat( dst, "(" );
}
/**
/*
* create a sub menu for a specific menu handle
*/
static void createSubMenu( MenuHandle mh, int &cnt, pFl_Menu_Item &mm )
@ -396,7 +398,7 @@ static void createSubMenu( MenuHandle mh, int &cnt, pFl_Menu_Item &mm )
}
/**
/*
* create a system menu bar using the given list of menu structs
*
* \author Matthias Melcher

View File

@ -78,10 +78,6 @@
*/
// we don't need the following definition because we deliver only
// true mouse moves. On very slow systems however, this flag may
// still be useful.
#ifndef FL_DOXYGEN
#define CONSOLIDATE_MOTION 0
@ -3118,18 +3114,6 @@ static void createAppleMenu(void)
}
@end
/**
* Mac OS: attaches a callback to the "About myprog" item of the system application menu.
* \note #include <FL/x.H>
*
* \author Manolo Gouy
*
* \param[in] cb a callback that will be called by "About myprog" menu item
* with NULL 1st argument.
* \param[in] user_data a pointer transmitted as 2nd argument to the callback.
* \param[in] shortcut optional shortcut to attach to the "About myprog" menu item (e.g., FL_META+'a')
*/
void fl_mac_set_about( Fl_Callback *cb, void *user_data, int shortcut)
{
NSAutoreleasePool *localPool;