+class Menu : public QMenu
+{
+ Q_OBJECT
+public:
+ ///
+ Menu(GuiView * gv, QString const & name, bool top_level);
+
+ ///
+ ~Menu();
+
+private Q_SLOTS:
+ ///
+ void updateView();
+
+private:
+ friend class Menus;
+
+ /// Use the Pimpl idiom to hide the internals.
+ struct Impl;
+ /// The pointer never changes although *d's contents may.
+ Impl * const d;
+};
+
+