FLTK 1.3.9
Loading...
Searching...
No Matches
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
48class FL_EXPORT Fl_Sys_Menu_Bar : public Fl_Menu_Bar {
49
50#if FLTK_ABI_VERSION >= 10304
51 // NEW -- update() public (STR#3317)
52public:
53 void update();
54protected:
55 void draw();
56#else
57 // OLD -- update() protected
58protected:
59 void update();
60 void draw();
61#endif
62
63public:
64 Fl_Sys_Menu_Bar(int x,int y,int w,int h,const char *l=0);
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()
118class FL_EXPORT Fl_Sys_Menu_Bar : public Fl_Menu_Bar {
119public:
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
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//
void() Fl_Callback(Fl_Widget *, void *)
Default callback type definition for all fltk widgets (by far the most used)
Definition Fl_Widget.H:49
This widget provides a standard menubar interface.
Definition Fl_Menu_Bar.H:67
void draw()
Draws the widget.
Definition Fl_Menu_Bar.cxx:23
void replace(int, const char *)
Changes the text of item i.
Definition Fl_Menu_add.cxx:462
void clear()
Same as menu(NULL), set the array pointer to null, indicating a zero-length menu.
Definition Fl_Menu_.cxx:457
void mode(int i, int fl)
Sets the flags of item i.
Definition Fl_Menu_.H:133
void setonly(Fl_Menu_Item *item)
Turns the radio item "on" for the menu item and turns "off" adjacent radio items of the same group.
Definition Fl_Menu_.cxx:344
int insert(int index, const char *, int shortcut, Fl_Callback *, void *=0, int=0)
Inserts a new menu item at the specified index position.
Definition Fl_Menu_add.cxx:368
const Fl_Menu_Item * menu() const
Returns a pointer to the array of Fl_Menu_Items.
Definition Fl_Menu_.H:110
void remove(int)
Deletes item i from the menu.
Definition Fl_Menu_add.cxx:482
int clear_submenu(int index)
Clears the specified submenu pointed to by index of all menu items.
Definition Fl_Menu_.cxx:501
void shortcut(int i, int s)
Changes the shortcut of item i to s.
Definition Fl_Menu_.H:131
int add(const char *, int shortcut, Fl_Callback *, void *=0, int=0)
Adds a new menu item.
Definition Fl_Menu_add.cxx:332
A class to create, modify and delete menus that appear on Mac OS X in the menu bar at the top of the ...
Definition Fl_Sys_Menu_Bar.H:48
void global()
Make the shortcuts for this menu work no matter what window has the focus when you type it.
Definition Fl_Sys_Menu_Bar.H:97
int mode(int i) const
Gets the flags of item i.
Definition Fl_Sys_Menu_Bar.H:106
void mode(int i, int fl)
Sets the flags of item i.
Definition Fl_Sys_Menu_Bar.H:100
void shortcut(int i, int s)
Changes the shortcut of item i to n.
Definition Fl_Sys_Menu_Bar.H:109
int insert(int index, const char *label, const char *shortcut, Fl_Callback *cb, void *user_data=0, int flags=0)
Insert a new menu item.
Definition Fl_Sys_Menu_Bar.H:82
int add(const char *label, const char *shortcut, Fl_Callback *cb, void *user_data=0, int flags=0)
Adds a new menu item.
Definition Fl_Sys_Menu_Bar.H:74
const Fl_Menu_Item * menu() const
Return the system menu's array of Fl_Menu_Item's.
Definition Fl_Sys_Menu_Bar.H:68
void setonly(Fl_Menu_Item *item)
Turns the radio item "on" for the menu item and turns "off" adjacent radio items of the same group.
Definition Fl_Sys_Menu_Bar.H:111
The Fl_Menu_Item structure defines a single menu item that is used by the Fl_Menu_ class.
Definition Fl_Menu_Item.H:112