add framework for boxes
[turbulence.git] / src / turbulence / layout-manager.vala
blob381e5e871ba77a07db8ea6d3c5e90d194d6d1c03
1 /*
2 * turbulence/layout-manager.vala
4 * Copyright (c) 2008 Patrick Walton <pcwalton@uchicago.edu>
5 */
7 using GLib;
9 namespace Turbulence {
10 public interface ILayoutManager {
11 public abstract ActorModel model { get; set; }
14 * Called when the preferred size of the given model might have
15 * changed. The layout manager should flush any cached state it might
16 * have relating to the size of that model.
18 public abstract void invalidate_layout();
21 * Called when the submodels of the given model have changed in some
22 * way. The layout manager is expected to resize the submodels
23 * appropriately.
25 public abstract void layout_submodels();
28 * Computes and returns the preferred size of the given model.
30 public abstract Size get_preferred_size_of_model(ActorModel model);