23
23
namespace Granite.Widgets {
25
[CCode (cname="get_close_pixbuf")]
26
public extern Gdk.Pixbuf get_close_pixbuf ();
28
25
public class DecoratedWindow : CompositedWindow {
30
static const string DECORATED_WINDOW_FALLBACK_STYLESHEET = """
27
const string DECORATED_WINDOW_FALLBACK_STYLESHEET = """
31
28
.decorated-window {
32
29
border-style:solid;
33
30
border-color:alpha (#000, 0.35);
40
37
// Currently not overridable
41
static const string DECORATED_WINDOW_STYLESHEET = """
38
const string DECORATED_WINDOW_STYLESHEET = """
42
39
.decorated-window { border-width:1px; }
45
42
public static void set_default_theming (Gtk.Window ref_window) {
46
var normal_style = new Gtk.CssProvider ();
47
var fallback_style = new Gtk.CssProvider ();
50
normal_style.load_from_data (DECORATED_WINDOW_STYLESHEET, -1);
51
fallback_style.load_from_data (DECORATED_WINDOW_FALLBACK_STYLESHEET, -1);
56
ref_window.get_style_context ().add_class (STYLE_CLASS_DECORATED_WINDOW);
58
ref_window.get_style_context ().add_provider (normal_style,
59
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
60
ref_window.get_style_context ().add_provider (fallback_style,
61
Gtk.STYLE_PROVIDER_PRIORITY_FALLBACK);
43
Utils.set_theming (ref_window, DECORATED_WINDOW_STYLESHEET,
44
STYLE_CLASS_DECORATED_WINDOW,
45
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
47
Utils.set_theming (ref_window, DECORATED_WINDOW_FALLBACK_STYLESHEET,
48
STYLE_CLASS_DECORATED_WINDOW,
49
Gtk.STYLE_PROVIDER_PRIORITY_FALLBACK);
64
52
public bool show_title { get; set; default = true; }
88
76
this.has_resize_grip = false;
89
77
this.window_position = Gtk.WindowPosition.CENTER_ON_PARENT;
91
this.close_img = get_close_pixbuf ();
79
this.close_img = Utils.get_close_pixbuf ();
93
81
this._title = new Gtk.Label (null);
94
82
this._title.halign = Gtk.Align.CENTER;