diff --git a/demo/Views/CSSView.vala b/demo/Views/CSSView.vala index 9d5734620..067c64bf6 100644 --- a/demo/Views/CSSView.vala +++ b/demo/Views/CSSView.vala @@ -15,20 +15,20 @@ public class CSSView : DemoPage { secondary_text = "\"Granite.CssClass.CARD\" and \"Granite.CssClass.CHECKERBOARD\"" }; - var card = new Gtk.Box (VERTICAL, 0) { + var card = new Granite.Box (VERTICAL, NONE) { + has_frame = true, height_request = 128, hexpand = true }; - card.add_css_class (Granite.CssClass.CARD); var card_checkered = new Granite.Bin () { child = new Gtk.Image.from_icon_name ("battery-low") { halign = CENTER, icon_size = LARGE }, + has_frame = true, hexpand = true }; - card_checkered.add_css_class (Granite.CssClass.CARD); card_checkered.add_css_class (Granite.CssClass.CHECKERBOARD); var card_box = new Gtk.Box (HORIZONTAL, 24); diff --git a/demo/Views/LabelView.vala b/demo/Views/LabelView.vala index c2738bac7..27b7780a8 100644 --- a/demo/Views/LabelView.vala +++ b/demo/Views/LabelView.vala @@ -109,9 +109,9 @@ public class LabelView : DemoPage { var copy_label_card = new Granite.Bin () { child = copy_label, halign = START, + has_frame = true, width_request = 128 }; - copy_label_card.add_css_class (Granite.CssClass.CARD); var accellabel_box = new Granite.Box (VERTICAL, NONE); accellabel_box.append (accellabel_header); diff --git a/lib/Widgets/Bin.vala b/lib/Widgets/Bin.vala index b14638562..54c8bc480 100644 --- a/lib/Widgets/Bin.vala +++ b/lib/Widgets/Bin.vala @@ -42,6 +42,23 @@ public class Granite.Bin : Gtk.Widget { } } + /** + * Whether #this has a frame + */ + [Version (since = "9.0.0")] + public bool has_frame { + get { + return has_css_class (Granite.CssClass.CARD); + } + set { + if (value && !has_css_class (Granite.CssClass.CARD)) { + add_css_class (Granite.CssClass.CARD); + } else if (has_css_class (Granite.CssClass.CARD)) { + remove_css_class (Granite.CssClass.CARD); + } + } + } + ~Bin () { if (child != null) { child.unparent (); diff --git a/lib/Widgets/Box.vala b/lib/Widgets/Box.vala index 799908740..ecb7c77da 100644 --- a/lib/Widgets/Box.vala +++ b/lib/Widgets/Box.vala @@ -43,6 +43,23 @@ public class Granite.Box : Gtk.Box { */ public Spacing child_spacing { get; construct set; } + /** + * Whether #this has a frame + */ + [Version (since = "9.0.0")] + public bool has_frame { + get { + return has_css_class (Granite.CssClass.CARD); + } + set { + if (value && !has_css_class (Granite.CssClass.CARD)) { + add_css_class (Granite.CssClass.CARD); + } else if (has_css_class (Granite.CssClass.CARD)) { + remove_css_class (Granite.CssClass.CARD); + } + } + } + /** * Constructs a new {@link Granite.Box} */