| // |
| // "$Id: Fl_Menu_Bar.H 7981 2010-12-08 23:53:04Z greg.ercolano $" |
| // |
| // Menu bar header file for the Fast Light Tool Kit (FLTK). |
| // |
| // Copyright 1998-2010 by Bill Spitzak and others. |
| // |
| // This library is free software; you can redistribute it and/or |
| // modify it under the terms of the GNU Library General Public |
| // License as published by the Free Software Foundation; either |
| // version 2 of the License, or (at your option) any later version. |
| // |
| // This library is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| // Library General Public License for more details. |
| // |
| // You should have received a copy of the GNU Library General Public |
| // License along with this library; if not, write to the Free Software |
| // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 |
| // USA. |
| // |
| // Please report all bugs and problems on the following page: |
| // |
| // http://www.fltk.org/str.php |
| // |
| |
| /* \file |
| Fl_Menu_Bar widget . */ |
| |
| #ifndef Fl_Menu_Bar_H |
| #define Fl_Menu_Bar_H |
| |
| #include "Fl_Menu_.H" |
| |
| /** |
| This widget provides a standard menubar interface. Usually you will |
| put this widget along the top edge of your window. The height of the |
| widget should be 30 for the menu titles to draw correctly with the |
| default font. |
| <P>The items on the bar and the menus they bring up are defined by a |
| single Fl_Menu_Item |
| array. Because a Fl_Menu_Item array defines a hierarchy, the |
| top level menu defines the items in the menubar, while the submenus |
| define the pull-down menus. Sub-sub menus and lower pop up to the right |
| of the submenus. </P> |
| <P ALIGN=CENTER>\image html menubar.png</P> |
| \image latex menubar.png " menubar" width=12cm |
| <P>If there is an item in the top menu that is not a title of a |
| submenu, then it acts like a "button" in the menubar. Clicking on it |
| will pick it. </P> |
| <P>When the user picks an item off the menu, the item's callback is |
| done with the menubar as the Fl_Widget* argument. If the item |
| does not have a callback the menubar's callback is done instead. </P> |
| <P>Submenus will also pop up in response to shortcuts indicated by |
| putting a '&' character in the name field of the menu item. If you put a |
| '&' character in a top-level "button" then the shortcut picks it. The |
| '&' character in submenus is ignored until the menu is popped up. </P> |
| <P>Typing the shortcut() of any of the menu items will cause |
| callbacks exactly the same as when you pick the item with the mouse. |
| */ |
| class FL_EXPORT Fl_Menu_Bar : public Fl_Menu_ { |
| protected: |
| void draw(); |
| public: |
| int handle(int); |
| /** |
| Creates a new Fl_Menu_Bar widget using the given position, |
| size, and label string. The default boxtype is FL_UP_BOX. |
| <P>The constructor sets menu() to NULL. See |
| Fl_Menu_ for the methods to set or change the menu. </P> |
| <P>labelsize(), labelfont(), and labelcolor() |
| are used to control how the menubar items are drawn. They are |
| initialized from the Fl_Menu static variables, but you can |
| change them if desired. </P> |
| <P>label() is ignored unless you change align() to |
| put it outside the menubar. |
| <P>The destructor removes the Fl_Menu_Bar widget and all of its |
| menu items. |
| */ |
| Fl_Menu_Bar(int X, int Y, int W, int H,const char *l=0) |
| : Fl_Menu_(X,Y,W,H,l) {} |
| }; |
| |
| #endif |
| |
| // |
| // End of "$Id: Fl_Menu_Bar.H 7981 2010-12-08 23:53:04Z greg.ercolano $". |
| // |