diff options
author | Robin Gareus <robin@gareus.org> | 2017-02-24 12:53:49 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-02-24 16:10:14 +0100 |
commit | 3780a9526e3eeafbde056df8038a4d9cda37216e (patch) | |
tree | c916b58226b038b6bba993b87846281fe2ce3dad /gtk2_ardour | |
parent | febd1d5c8834384f43e5a5319ebfa1c933ca5c6c (diff) |
re-order inheritance
LuaBridge only allows one parent class, others need explicit casts.
Allowing RoutUI to be passed as Selectable argument is handy.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/luainstance.cc | 14 | ||||
-rw-r--r-- | gtk2_ardour/route_ui.h | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index c8a4fe9e3b..59ebd80e85 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -575,22 +575,28 @@ LuaInstance::register_classes (lua_State* L) .addFunction ("_type", &ArdourMarker::type) .endClass () -#if 0 .beginClass <AxisView> ("AxisView") .endClass () + .deriveClass <TimeAxisView, AxisView> ("TimeAxisView") .endClass () - .deriveClass <RouteTimeAxisView, TimeAxisView> ("RouteTimeAxisView") - .endClass () -#endif .beginClass <Selectable> ("Selectable") .endClass () + .deriveClass <TimeAxisViewItem, Selectable> ("TimeAxisViewItem") .endClass () + .deriveClass <RegionView, TimeAxisViewItem> ("RegionView") .endClass () + .deriveClass <RouteUI, Selectable> ("RouteUI") + .endClass () + + .deriveClass <RouteTimeAxisView, RouteUI> ("RouteTimeAxisView") + .addCast<TimeAxisView> ("to_timeaxisview") + .endClass () + .beginStdCPtrList <Selectable> ("SelectionList") .endClass () diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index d0b9d406c6..6f53b7232d 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -74,7 +74,7 @@ class RoutePinWindowProxy : public WM::ProxyBase PBD::ScopedConnection going_away_connection; }; -class RouteUI : public virtual ARDOUR::SessionHandlePtr, public virtual PBD::ScopedConnectionList, public virtual Selectable, public virtual sigc::trackable +class RouteUI : public virtual Selectable, public virtual ARDOUR::SessionHandlePtr, public virtual PBD::ScopedConnectionList, public virtual sigc::trackable { public: RouteUI (ARDOUR::Session*); |