diff --git a/packages/lib/src/generics/clutter.ts b/packages/lib/src/generics/clutter.ts index df44bb3d..cfb794ed 100644 --- a/packages/lib/src/generics/clutter.ts +++ b/packages/lib/src/generics/clutter.ts @@ -26,12 +26,14 @@ export const clutterTemplate = (version: string) => ({ Actor.props .filter(p => p.name === "layout_manager" || p.name === "layoutManager") .forEach(prop => { - prop.type = new GenericType("A", LayoutManager.getType()); + // TODO Automatically infer such changes. + prop.type = new GenericType("A", Content.getType()); }); Actor.props .filter(p => p.name === "content") .forEach(prop => { + // TODO Automatically infer such changes. prop.type = new GenericType("B", Content.getType()); }); @@ -45,6 +47,7 @@ export const clutterTemplate = (version: string) => ({ Clone.props .filter(p => p.name === "source") .forEach(prop => { + // TODO Automatically infer such changes. prop.type = new GenericType("A", Content.getType()); }); } diff --git a/packages/lib/src/generics/st.ts b/packages/lib/src/generics/st.ts index 198471c9..9646a599 100644 --- a/packages/lib/src/generics/st.ts +++ b/packages/lib/src/generics/st.ts @@ -14,6 +14,7 @@ const stTemplate = (version: string) => ({ const ScrollView = namespace.assertClass("ScrollView"); const ScrollBar = namespace.assertClass("ScrollBar"); const Widget = namespace.assertClass("Widget"); + // TODO: Create a way to propagate this generic to child classes. const Viewport = namespace.assertClass("Viewport"); const StBoxLayout = namespace.assertClass("BoxLayout"); @@ -21,6 +22,7 @@ const stTemplate = (version: string) => ({ const Actor = Clutter.assertClass("Actor"); const Content = Clutter.assertClass("Content"); + // Container was removed in Clutter-14 const Container = Number(version) < 14 ? Clutter.assertClass("Container") : null; const LayoutManager = Clutter.assertClass("LayoutManager"); const ClutterBoxLayout = Clutter.assertClass("BoxLayout"); @@ -37,12 +39,6 @@ const stTemplate = (version: string) => ({ constraint: Content.getType() }); - Widget.props - .filter(p => p.name === "layout_manager") - .forEach(prop => { - prop.type = new GenericType("A", LayoutManager.getType()); - }); - Viewport.addGeneric({ deriveFrom: Widget.getType(), default: LayoutManager.getType(), @@ -92,6 +88,7 @@ const stTemplate = (version: string) => ({ if (get_hscroll_bar) { const fixed_get_h = get_hscroll_bar?.copy({ returnType: ScrollBar.getType() }); + const index = ScrollView.members.indexOf(get_hscroll_bar); ScrollView.members.splice(index, 1, fixed_get_h); } @@ -111,6 +108,7 @@ const stTemplate = (version: string) => ({ Bin.props .filter(p => p.name === "child") .forEach(prop => { + // TODO Automatically infer such changes. prop.type = new GenericType("A", Actor.getType()); }); }