diff options
Diffstat (limited to 'src/gui/ObjectMenu.hpp')
-rw-r--r-- | src/gui/ObjectMenu.hpp | 64 |
1 files changed, 41 insertions, 23 deletions
diff --git a/src/gui/ObjectMenu.hpp b/src/gui/ObjectMenu.hpp index 22eef74b..5a4c83f4 100644 --- a/src/gui/ObjectMenu.hpp +++ b/src/gui/ObjectMenu.hpp @@ -17,21 +17,34 @@ #ifndef INGEN_GUI_OBJECTMENU_HPP #define INGEN_GUI_OBJECTMENU_HPP -#include "ingen/client/ObjectModel.hpp" -#include "ingen/types.hpp" +#include <ingen/URI.hpp> -#include <gtkmm/builder.h> -#include <gtkmm/checkmenuitem.h> #include <gtkmm/menu.h> -#include <gtkmm/menuitem.h> + +#include <memory> + +namespace Glib { +template <class T> class RefPtr; +} // namespace Glib + +namespace Gtk { +class Builder; +class CheckMenuItem; +class MenuItem; +class SeparatorMenuItem; +} // namespace Gtk namespace ingen { + +class Atom; + +namespace client { +class ObjectModel; +} // namespace client + namespace gui { class App; -class ObjectControlWindow; -class ObjectPropertiesWindow; -class GraphCanvas; /** Menu for a Object. * @@ -43,10 +56,15 @@ public: ObjectMenu(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& xml); - void init(App& app, SPtr<const client::ObjectModel> object); + void + init(App& app, const std::shared_ptr<const client::ObjectModel>& object); + + std::shared_ptr<const client::ObjectModel> object() const + { + return _object; + } - SPtr<const client::ObjectModel> object() const { return _object; } - App* app() const { return _app; } + App* app() const { return _app; } protected: void on_menu_learn(); @@ -58,18 +76,18 @@ protected: void property_changed(const URI& predicate, const Atom& value); - App* _app; - SPtr<const client::ObjectModel> _object; - Gtk::MenuItem* _learn_menuitem; - Gtk::MenuItem* _unlearn_menuitem; - Gtk::CheckMenuItem* _polyphonic_menuitem; - Gtk::MenuItem* _disconnect_menuitem; - Gtk::MenuItem* _rename_menuitem; - Gtk::MenuItem* _destroy_menuitem; - Gtk::MenuItem* _properties_menuitem; - Gtk::SeparatorMenuItem* _separator_menuitem; - - bool _enable_signal; + App* _app{nullptr}; + std::shared_ptr<const client::ObjectModel> _object; + Gtk::MenuItem* _learn_menuitem{nullptr}; + Gtk::MenuItem* _unlearn_menuitem{nullptr}; + Gtk::CheckMenuItem* _polyphonic_menuitem{nullptr}; + Gtk::MenuItem* _disconnect_menuitem{nullptr}; + Gtk::MenuItem* _rename_menuitem{nullptr}; + Gtk::MenuItem* _destroy_menuitem{nullptr}; + Gtk::MenuItem* _properties_menuitem{nullptr}; + Gtk::SeparatorMenuItem* _separator_menuitem{nullptr}; + + bool _enable_signal{false}; }; } // namespace gui |