GNOME Bugzilla – Bug 611647
make ShellGenericContainer an StWidget
Last modified: 2010-10-21 19:00:49 UTC
This ports ShellGenericContainer to St. There is still more work that could be done here (notably redoing skip_paint in terms of child_meta), but this gets us most of the way there. I started fixing up some of the existing hackarounds in the code, mostly just to test out the rewrite. That's in the last patch, but it's incomplete, and not ready to go yet. I'm interested what people think of the cssBind() function though. (I actually mostly wrote it for appDisplay.js, but then didn't get around to porting that yet.) I'm assuming we don't want GenericContainer to move to St, since it's "mainly a workaround for the current lack of GObject subclassing + vfunc overrides in gjs". However, it might make sense to create St.Group (an St.Widget-based Clutter.Group) and then have Shell.GenericContainer be a subclass of that? I think there are places where either we have a Clutter.Group inside an St.Bin, or else we have an St.BoxLayout with the majority of the contents fixed-positioned rather than box-layout-ed. So St.Group might be useful...
Created attachment 155075 [details] [review] [St] share common ClutterContainer implementation code
Created attachment 155076 [details] [review] [ShellGenericContainer] remove example There are plenty of examples in js/ui/ now
Created attachment 155077 [details] [review] [ShellGenericContainer] minor style fixes
Created attachment 155078 [details] [review] [ShellGenericContainer] make this an StWidget
Created attachment 155079 [details] [review] Clean up a few workarounds for ShellGenericContainer's non-St-ness
Review of attachment 155075 [details] [review]: Looks like a nice cleanup.
Review of attachment 155076 [details] [review]: Target locked.
Review of attachment 155077 [details] [review]: Alright
Review of attachment 155078 [details] [review]: Looks good.
Review of attachment 155079 [details] [review]: cssBind is cute. One minor thing, I don't much care for the "util" name but I don't have a better suggestion either.
Attachment 155075 [details] pushed as f6b4fa6 - [St] share common ClutterContainer implementation code Attachment 155076 [details] pushed as 0f0e3d9 - [ShellGenericContainer] remove example Attachment 155077 [details] pushed as 0f81c7e - [ShellGenericContainer] minor style fixes Attachment 155078 [details] pushed as b5853fe - [ShellGenericContainer] make this an StWidget
cssBind as it is in the patch is probably not quite right for fixing up appDisplay.js, so I'm leaving that uncommitted for now
css binding is being discussed in bug 632590, so closing this now