summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2010-03-16 14:47:40 +0000
committerManolo Gouy <Manolo>2010-03-16 14:47:40 +0000
commitb5e2d38b2fbabcf37637cd857fc70d8567978b17 (patch)
treefe547af80bda351e7ae0f14e1389a5bfc2d7cd68
parentb20ef0bdeb4f9b98d67c189005c98cbed2b6ebb6 (diff)
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
-rw-r--r--FL/Fl_Sys_Menu_Bar.H20
-rw-r--r--FL/mac.H20
-rw-r--r--src/Fl_Sys_Menu_Bar.cxx28
-rw-r--r--src/Fl_cocoa.mm16
4 files changed, 49 insertions, 35 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$".
diff --git a/FL/mac.H b/FL/mac.H
index 05366c23a..6b204db2c 100644
--- a/FL/mac.H
+++ b/FL/mac.H
@@ -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$".
//
diff --git a/src/Fl_Sys_Menu_Bar.cxx b/src/Fl_Sys_Menu_Bar.cxx
index 48920ef83..515f724eb 100644
--- a/src/Fl_Sys_Menu_Bar.cxx
+++ b/src/Fl_Sys_Menu_Bar.cxx
@@ -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
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 69d7eb47e..136926f07 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -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;