{"action":"created","issue":{"url":"https://api.github.com/repos/vispy/vispy/issues/277","labels_url":"https://api.github.com/repos/vispy/vispy/issues/277/labels{/name}","comments_url":"https://api.github.com/repos/vispy/vispy/issues/277/comments","events_url":"https://api.github.com/repos/vispy/vispy/issues/277/events","html_url":"https://github.com/vispy/vispy/issues/277","id":36290564,"number":277,"title":"ENH: Grid layouts","user":{"login":"campagnola","id":940580,"avatar_url":"https://avatars.githubusercontent.com/u/940580?v=3","gravatar_id":"","url":"https://api.github.com/users/campagnola","html_url":"https://github.com/campagnola","followers_url":"https://api.github.com/users/campagnola/followers","following_url":"https://api.github.com/users/campagnola/following{/other_user}","gists_url":"https://api.github.com/users/campagnola/gists{/gist_id}","starred_url":"https://api.github.com/users/campagnola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/campagnola/subscriptions","organizations_url":"https://api.github.com/users/campagnola/orgs","repos_url":"https://api.github.com/users/campagnola/repos","events_url":"https://api.github.com/users/campagnola/events{/privacy}","received_events_url":"https://api.github.com/users/campagnola/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/vispy/vispy/labels/sprint-2015","name":"sprint-2015","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2014-06-23T13:31:42Z","updated_at":"2015-07-13T20:58:09Z","closed_at":null,"body":"We will need a way to lay out rectangular widgets in grids that resize nicely with the canvas area. Layouts can be a very complex problem, but hopefully that does not mean they must have a complex API. Some features we might like to have:\r\n\r\n* Widgets inside a grid may have minimum, maximum, and preferred sizes\r\n* Should be possible to specify that widgets have sizes relative to each other\r\n* Widgets may span multiple rows / columns\r\n* Adding / removing widgets from the layout causes other widgets to adjust dynamically\r\n* HTML table-like features - cell spacing, padding, borders, ...\r\n* User-adjustable boundaries between some rows / columns\r\n* Widgets can also have min / max aspect ratio (but this might be low priority and difficult to implement)\r\n\r\nExample: 4 widgets in a row; the first widget has a preferred size of 100px, and min/max of 50 and 150px. The remaining space is divided up between 3 widgets: 50%, 30%, and 20%. In the second row, a single widget has a maximum height of 100px and occupies columns 1-3.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/vispy/vispy/issues/comments/121057373","html_url":"https://github.com/vispy/vispy/issues/277#issuecomment-121057373","issue_url":"https://api.github.com/repos/vispy/vispy/issues/277","id":121057373,"user":{"login":"Eric89GXL","id":2365790,"avatar_url":"https://avatars.githubusercontent.com/u/2365790?v=3","gravatar_id":"","url":"https://api.github.com/users/Eric89GXL","html_url":"https://github.com/Eric89GXL","followers_url":"https://api.github.com/users/Eric89GXL/followers","following_url":"https://api.github.com/users/Eric89GXL/following{/other_user}","gists_url":"https://api.github.com/users/Eric89GXL/gists{/gist_id}","starred_url":"https://api.github.com/users/Eric89GXL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Eric89GXL/subscriptions","organizations_url":"https://api.github.com/users/Eric89GXL/orgs","repos_url":"https://api.github.com/users/Eric89GXL/repos","events_url":"https://api.github.com/users/Eric89GXL/events{/privacy}","received_events_url":"https://api.github.com/users/Eric89GXL/received_events","type":"User","site_admin":false},"created_at":"2015-07-13T20:58:09Z","updated_at":"2015-07-13T20:58:09Z","body":"Sounds like a good approach to me. @njsmith fancy implementing it here? :)"}}