FLTK: Fl_Sys_Menu_Bar.H Source File

FLTK

Fl_Sys_Menu_Bar.H
1 //
2 // "$Id$"
3 //
4 // MacOS system menu bar header file for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2010 by Bill Spitzak and others.
7 //
8 // This library is free software. Distribution and use rights are outlined in
9 // the file "COPYING" which should have been included with this file. If this
10 // file is missing or damaged, see the license at:
11 //
12 // http://www.fltk.org/COPYING.php
13 //
14 // Please report all bugs and problems on the following page:
15 //
16 // http://www.fltk.org/str.php
17 //
18
19 #ifndef Fl_Sys_Menu_Bar_H
20 #define Fl_Sys_Menu_Bar_H
21
22 #include "Fl_Menu_Bar.H"
23 #include "x.H"
24
25 #if defined(__APPLE__) || defined(FL_DOXYGEN)
26
48 class FL_EXPORT Fl_Sys_Menu_Bar : public Fl_Menu_Bar {
49
50 #if FLTK_ABI_VERSION >= 10304
51 // NEW -- update() public (STR#3317)
52 public:
53 void update();
54 protected:
55 void draw();
56 #else
57 // OLD -- update() protected
58 protected:
59 void update();
60 void draw();
61 #endif
62
63 public:
64 Fl_Sys_Menu_Bar(int x,int y,int w,int h,const char *l=0);
65 ~Fl_Sys_Menu_Bar();
68 const Fl_Menu_Item *menu() const {return Fl_Menu_::menu();}
69 void menu(const Fl_Menu_Item *m);
70 int add(const char* label, int shortcut, Fl_Callback*, void *user_data=0, int flags=0);
74 int add(const char* label, const char* shortcut, Fl_Callback* cb, void *user_data=0, int flags=0) {
75 return add(label, fl_old_shortcut(shortcut), cb, user_data, flags);
76 }
77 int add(const char* str);
78 int insert(int index, const char* label, int shortcut, Fl_Callback *cb, void *user_data=0, int flags=0);
82 int insert(int index, const char* label, const char* shortcut, Fl_Callback *cb, void *user_data=0, int flags=0) {
83 return insert(index, label, fl_old_shortcut(shortcut), cb, user_data, flags);
84 }
85 void remove(int n);
86 void replace(int index, const char *name);
90 void clear();
94 int clear_submenu(int index);
97 void global() {};
100 void mode (int i, int fl) {
101 Fl_Menu_::mode(i, fl);
102 update();
103 }
106 int mode(int i) const { return Fl_Menu_::mode(i); }
109 void shortcut (int i, int s) { Fl_Menu_::shortcut(i, s); update(); }
111 void setonly (Fl_Menu_Item *item) { Fl_Menu_::setonly(item); update(); }
112 };
113
114 #else
115
116 #if FLTK_ABI_VERSION >= 10304
117 // NEW -- small class for update()
118 class FL_EXPORT Fl_Sys_Menu_Bar : public Fl_Menu_Bar {
119 public:
120 Fl_Sys_Menu_Bar(int x,int y,int w,int h,const char *l=0) : Fl_Menu_Bar(x,y,w,h,l) {}
121 inline void update() {}
122 };
123 #else
124 // OLD -- simple typedef
125 typedef Fl_Menu_Bar Fl_Sys_Menu_Bar;
126 #endif
127
128 #endif // defined(__APPLE__) || defined(FL_DOXYGEN)
129
130 #endif // Fl_Sys_Menu_Bar_H
131
132 //
133 // End of "$Id$".
134 //
fl_old_shortcut
FL_EXPORT unsigned int fl_old_shortcut(const char *s)
Emulation of XForms named shortcuts.
Definition: fl_shortcut.cxx:396
Fl_Callback
void() Fl_Callback(Fl_Widget *, void *)
Default callback type definition for all fltk widgets (by far the most used)
Definition: Fl_Widget.H:49
- © 1998-2016 by Bill Spitzak and others.