2017-12-02 19:20:30 +03:00
|
|
|
//
|
|
|
|
// "$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
|
|
|
|
|
2017-12-18 18:19:15 +03:00
|
|
|
#if !defined(FL_DOXYGEN)
|
|
|
|
|
2017-12-02 19:20:30 +03:00
|
|
|
#include <FL/Fl_Sys_Menu_Bar.H>
|
|
|
|
|
|
|
|
class Fl_Sys_Menu_Bar_Driver {
|
|
|
|
friend class Fl_Sys_Menu_Bar;
|
|
|
|
public:
|
2017-12-18 18:19:15 +03:00
|
|
|
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
|
2017-12-04 20:39:19 +03:00
|
|
|
Fl_Sys_Menu_Bar *bar;
|
2017-12-02 19:20:30 +03:00
|
|
|
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); }
|
2017-12-18 18:19:15 +03:00
|
|
|
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; }
|
2017-12-02 19:20:30 +03:00
|
|
|
};
|
|
|
|
|
2017-12-18 18:19:15 +03:00
|
|
|
#endif // !defined(FL_DOXYGEN)
|
2017-12-02 19:20:30 +03:00
|
|
|
|
|
|
|
#endif // Fl_Sys_Menu_Bar_Driver_H
|
|
|
|
|
|
|
|
//
|
|
|
|
// End of "$Id$".
|
|
|
|
//
|