From 82c7a1baa77c7a618098ada84841494a8b3d24ad Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Tue, 26 Jun 2018 07:38:54 +0000 Subject: Move Fl_Sys_Menu_Bar_Driver.H from FL/ to src/ git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12972 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Sys_Menu_Bar_Driver.H | 63 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/Fl_Sys_Menu_Bar_Driver.H (limited to 'src/Fl_Sys_Menu_Bar_Driver.H') diff --git a/src/Fl_Sys_Menu_Bar_Driver.H b/src/Fl_Sys_Menu_Bar_Driver.H new file mode 100644 index 000000000..7d869ae64 --- /dev/null +++ b/src/Fl_Sys_Menu_Bar_Driver.H @@ -0,0 +1,63 @@ +// +// "$Id$" +// +// system menu bar widget for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2017 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +#ifndef Fl_Sys_Menu_Bar_Driver_H +#define Fl_Sys_Menu_Bar_Driver_H + +#if !defined(FL_DOXYGEN) + +#include + +class Fl_Sys_Menu_Bar_Driver { + friend class Fl_Sys_Menu_Bar; +public: + static Fl_Sys_Menu_Bar::window_menu_style_enum window_menu_style_; + static Fl_Sys_Menu_Bar_Driver *driver_; // to be assigned with a unique object of this class or of a derived class + Fl_Sys_Menu_Bar *bar; + Fl_Sys_Menu_Bar_Driver(); + virtual ~Fl_Sys_Menu_Bar_Driver(); + virtual void update() {} + virtual void draw() { bar->Fl_Menu_Bar::draw();} + virtual void about(Fl_Callback *cb, void *data) {} + virtual int add(const char* label, int shortcut, Fl_Callback *cb, void *user_data, int flags) { + return bar->Fl_Menu_Bar::add(label, shortcut, cb, user_data, flags); + } + virtual int add(const char* str) { return bar->Fl_Menu_Bar::add(str); } + virtual int insert(int index, const char* label, int shortcut, Fl_Callback *cb, void *user_data, int flags) { + return bar->Fl_Menu_Bar::insert(index, label, shortcut, cb, user_data, flags); + } + virtual void menu(const Fl_Menu_Item *m) { bar->Fl_Menu_Bar::menu(m); } + virtual void shortcut(int i, int s) { bar->Fl_Menu_Bar::shortcut(i, s); } + virtual void setonly(Fl_Menu_Item *item) { bar->Fl_Menu_Bar::setonly(item); } + virtual void clear() { bar->Fl_Menu_Bar::clear(); } + virtual int clear_submenu(int index) { return bar->Fl_Menu_Bar::clear_submenu(index);} + virtual void remove(int index) { bar->Fl_Menu_Bar::remove(index); } + virtual void replace(int index, const char *name) { bar->Fl_Menu_Bar::replace(index, name); } + virtual void mode(int i, int fl) { bar->Fl_Menu_Bar::mode(i, fl); } + virtual void create_window_menu() {} + static Fl_Sys_Menu_Bar::window_menu_style_enum window_menu_style() { return window_menu_style_; } + static void window_menu_style(Fl_Sys_Menu_Bar::window_menu_style_enum style) { window_menu_style_ = style; } +}; + +#endif // !defined(FL_DOXYGEN) + +#endif // Fl_Sys_Menu_Bar_Driver_H + +// +// End of "$Id$". +// -- cgit v1.2.3