summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Sys_Menu_Bar.H11
-rw-r--r--src/Fl_Sys_Menu_Bar.mm7
2 files changed, 12 insertions, 6 deletions
diff --git a/FL/Fl_Sys_Menu_Bar.H b/FL/Fl_Sys_Menu_Bar.H
index e1dd7bb52..cf01c55b7 100644
--- a/FL/Fl_Sys_Menu_Bar.H
+++ b/FL/Fl_Sys_Menu_Bar.H
@@ -48,14 +48,13 @@ public:
int insert(int index, const char* label, int shortcut, Fl_Callback *cb, void *user_data=0, int flags=0);
void remove(int n);
void replace(int rank, const char *name);
+#ifdef __APPLE__
+ void update();
+#else
+ void update() {}
+#endif
void clear();
int clear_submenu(int index);
-#if ! defined(FL_DOXYGEN)
- enum menuOrItemOperation { itemAtIndex, setKeyEquivalent, setKeyEquivalentModifierMask, setState, initWithTitle,
- numberOfItems, setSubmenu, setEnabled, addSeparatorItem, setTitle, removeItem, addNewItem };
- // function doMenuOrItemOperation is in file Fl_cocoa.mm because it contains objective-c code
- static void *doMenuOrItemOperation( menuOrItemOperation operation, ...);
-#endif
};
#else
diff --git a/src/Fl_Sys_Menu_Bar.mm b/src/Fl_Sys_Menu_Bar.mm
index 30dfe5feb..695562911 100644
--- a/src/Fl_Sys_Menu_Bar.mm
+++ b/src/Fl_Sys_Menu_Bar.mm
@@ -415,6 +415,13 @@ void Fl_Sys_Menu_Bar::replace(int rank, const char *name)
convertToMenuBar(Fl_Menu_::menu());
}
+/** Updates the system menu.
+ Useful after changes in the menu items, e.g., item activation/deactivation.
+ */
+void Fl_Sys_Menu_Bar::update()
+{
+ convertToMenuBar(Fl_Menu_::menu());
+}
/*
* Draw the menu bar.