// -*- C++ -*-
-/* This file is part of
- * ======================================================
- *
- * LyX, The Document Processor
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+/**
+ * \file Menubar.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * This file is Copyright 1996-2000
- * Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
*
- * ====================================================== */
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef MENUBAR_H
#define MENUBAR_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "support/docstring.h"
-#include "LString.h"
-class LyXView;
-class MenuBackend;
+namespace lyx {
-/** The LyX GUI independent menubar class
- The GUI interface is implemented in the corresponding Menubar_pimpl class.
- */
+/**
+ * The LyX GUI independent menubar class
+ * The GUI interface is implemented in the frontends
+ */
class Menubar {
public:
///
- Menubar(LyXView * o, MenuBackend const &);
- ///
- ~Menubar();
- ///
- void set(string const &);
+ virtual ~Menubar() {}
/// Opens a top-level submenu given its name
- void openByName(string const &);
+ virtual void openByName(docstring const &) = 0;
+ /// update the state of the menuitems
+ virtual void update() = 0;
+};
+} // namespace lyx
- //I disable this temporarily until I find a nice way to make it work
- //with compaq cxx.
-//private:
- struct Pimpl;
- friend struct Pimpl;
- Pimpl * pimpl_;
-};
-#endif
+#endif // MENUBAR_H