FLTK 1.3.8

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_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
- Copyright © 1998-2021 by Bill Spitzak and others.