This file is indexed.

/usr/share/vala/vapi/granite.vapi is in libgranite-dev 0.5+ds-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
/* granite.vapi generated by valac 0.39.92, do not modify. */

namespace Granite {
	namespace DateTime {
		[CCode (cheader_filename = "granite.h")]
		public static string get_default_date_format (bool with_weekday = false, bool with_day = true, bool with_year = false);
		[CCode (cheader_filename = "granite.h")]
		public static string get_default_time_format (bool is_12h = false, bool with_second = false);
		[CCode (cheader_filename = "granite.h")]
		public static string get_relative_datetime (GLib.DateTime date_time);
		[CCode (cheader_filename = "granite.h")]
		public static bool is_same_day (GLib.DateTime day1, GLib.DateTime day2);
		[CCode (cheader_filename = "granite.h")]
		public static string seconds_to_time (int seconds);
	}
	namespace Drawing {
		[CCode (cheader_filename = "granite.h")]
		public class BufferSurface : GLib.Object {
			public BufferSurface (int width, int height);
			public Granite.Drawing.Color average_color ();
			public void clear ();
			public void exponential_blur (int radius);
			public void fast_blur (int radius, int process_count = 1);
			public void gaussian_blur (int radius);
			public Gdk.Pixbuf load_to_pixbuf ();
			public BufferSurface.with_buffer_surface (int width, int height, Granite.Drawing.BufferSurface model);
			public BufferSurface.with_surface (int width, int height, Cairo.Surface model);
			public Cairo.Context context { get; }
			public int height { get; private set; }
			public Cairo.Surface surface { get; private set; }
			public int width { get; private set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class Color : GLib.Object, Granite.Services.SettingsSerializable {
			public double A;
			public double B;
			public double G;
			public double R;
			public Color (double R, double G, double B, double A);
			public Granite.Drawing.Color add_hue (double val);
			public Granite.Drawing.Color brighten_val (double amount);
			public Granite.Drawing.Color darken_by_sat (double amount);
			public Granite.Drawing.Color darken_val (double amount);
			public Color.from_gdk (Gdk.Color color);
			public double get_hue ();
			public double get_sat ();
			public double get_val ();
			public Granite.Drawing.Color multiply_sat (double amount);
			public Granite.Drawing.Color set_alpha (double alpha);
			public Granite.Drawing.Color set_hue (double hue);
			public Granite.Drawing.Color set_max_sat (double sat);
			public Granite.Drawing.Color set_max_val (double val);
			public Granite.Drawing.Color set_min_sat (double sat);
			public Granite.Drawing.Color set_min_value (double val);
			public Granite.Drawing.Color set_sat (double sat);
			public Granite.Drawing.Color set_val (double val);
		}
		[CCode (cheader_filename = "granite.h")]
		public class Utilities : GLib.Object {
			public Utilities ();
			public static Granite.Drawing.Color average_color (Gdk.Pixbuf source);
			public static void cairo_rounded_rectangle (Cairo.Context cr, double x, double y, double width, double height, double radius);
		}
	}
	namespace GtkPatch {
		[CCode (cheader_filename = "granite.h")]
		public class AboutDialog : Gtk.Dialog {
			public AboutDialog ();
			public string[] artists { get; set; }
			public string[] authors { get; set; }
			public string comments { get; set; }
			public string copyright { get; set; }
			public string[] documenters { get; set; }
			public string license { get; set; }
			public Gtk.License license_type { get; set; }
			public Gdk.Pixbuf logo { get; set; }
			public string logo_icon_name { get; set; }
			public string program_name { get; set; }
			public string translator_credits { get; set; }
			public string version { get; set; }
			public string website { get; set; }
			public string website_label { get; set; }
			public virtual signal bool activate_link (string uri);
		}
	}
	namespace Services {
		[CCode (cheader_filename = "granite.h")]
		public class ContractorProxy : GLib.Object {
			public static Gee.List<Granite.Services.Contract> get_all_contracts () throws GLib.Error;
			public static Gee.List<Granite.Services.Contract> get_contracts_by_mime (string mime_type) throws GLib.Error;
			public static Gee.List<Granite.Services.Contract> get_contracts_by_mimelist (string[] mime_types) throws GLib.Error;
			public static Gee.List<Granite.Services.Contract> get_contracts_for_file (GLib.File file) throws GLib.Error;
			public static Gee.List<Granite.Services.Contract> get_contracts_for_files (GLib.File[] files) throws GLib.Error;
			public static Granite.Services.ContractorProxy get_instance () throws GLib.Error;
			public signal void contracts_changed ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class IconFactory : GLib.Object {
			public IconFactory ();
			public static Granite.Services.IconFactory get_default ();
			public Gdk.Pixbuf? load_symbolic_icon (Gtk.StyleContext style, string iconname, int size);
			public Gdk.Pixbuf? load_symbolic_icon_from_gicon (Gtk.StyleContext style, GLib.Icon gicon, int size);
		}
		[CCode (cheader_filename = "granite.h")]
		public class Logger : GLib.Object {
			public Logger ();
			public static void initialize (string app_name);
			public static void notification (string msg);
			public static Granite.Services.LogLevel DisplayLevel { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class Paths : GLib.Object {
			public Paths ();
			public static bool ensure_directory_exists (GLib.File dir);
			public static void initialize (string app_name, string data_folder_path);
			public static GLib.File data_folder { get; protected set; }
			public static GLib.File home_folder { get; protected set; }
			public static GLib.File user_cache_folder { get; protected set; }
			public static GLib.File user_config_folder { get; protected set; }
			public static GLib.File user_data_folder { get; protected set; }
			public static GLib.File xdg_cache_home_folder { get; protected set; }
			public static GLib.File xdg_config_home_folder { get; protected set; }
			public static GLib.List<GLib.File> xdg_data_dir_folders { get; protected owned set; }
			public static GLib.File xdg_data_home_folder { get; protected set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public abstract class Settings : GLib.Object {
			public Settings (string schema);
			protected virtual void verify (string key);
			public Settings.with_backend (string schema, GLib.SettingsBackend backend);
			public Settings.with_backend_and_path (string schema, GLib.SettingsBackend backend, string path);
			public Settings.with_path (string schema, string path);
			public GLib.Settings schema { get; construct; }
			[Signal (action = true, detailed = true, no_hooks = true, no_recurse = true, run = "first")]
			public signal void changed ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class SimpleCommand : GLib.Object {
			public string error_output_str;
			public string output_str;
			public string standard_output_str;
			public SimpleCommand (string dir, string command);
			public void run ();
			public signal void done (int exit);
			public signal void error_changed (string text);
			public signal void output_changed (string text);
			public signal void standard_changed (string text);
		}
		[CCode (cheader_filename = "granite.h")]
		public class System : GLib.Object {
			public System ();
			public static bool execute_command (string command);
			public static void launch (GLib.File app);
			public static void launch_with_files (GLib.File? app, GLib.File[] files);
			public static void open (GLib.File file);
			public static void open_files (GLib.File[] files);
			public static void open_uri (string uri);
		}
		[CCode (cheader_filename = "granite.h")]
		public interface Contract : GLib.Object {
			public abstract void execute_with_file (GLib.File file) throws GLib.Error;
			public abstract void execute_with_files (GLib.File[] files) throws GLib.Error;
			public abstract string get_description ();
			public abstract string get_display_name ();
			public abstract GLib.Icon get_icon ();
		}
		[CCode (cheader_filename = "granite.h")]
		public interface SettingsSerializable : GLib.Object {
			public abstract void settings_deserialize (string s);
			public abstract string settings_serialize ();
		}
		[CCode (cheader_filename = "granite.h")]
		public enum LogLevel {
			DEBUG,
			INFO,
			NOTIFY,
			WARN,
			ERROR,
			FATAL
		}
		[CCode (cheader_filename = "granite.h")]
		public errordomain ContractorError {
			SERVICE_NOT_AVAILABLE
		}
		[CCode (cheader_filename = "granite.h")]
		public static Granite.Services.IconFactory? icon_factory;
	}
	namespace StyleClass {
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_BADGE")]
		public const string BADGE;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_CATEGORY_EXPANDER")]
		public const string CATEGORY_EXPANDER;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string COMPOSITED;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string CONTENT_VIEW;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string CONTENT_VIEW_WINDOW;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string DECORATED_WINDOW;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_H1_LABEL")]
		public const string H1_TEXT;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_H2_LABEL")]
		public const string H2_TEXT;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_H3_LABEL")]
		public const string H3_TEXT;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string HELP_BUTTON;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_OVERLAY_BAR")]
		public const string OVERLAY_BAR;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Gtk.STYLE_CLASS_POPOVER")]
		public const string POPOVER;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string POPOVER_BG;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Granite.STYLE_CLASS_SOURCE_LIST")]
		public const string SOURCE_LIST;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public const string THIN_PANE_SEPARATOR;
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Gtk.STYLE_CLASS_TITLE")]
		public const string TITLE_TEXT;
	}
	namespace Widgets {
		namespace Utils {
			[CCode (cheader_filename = "granite.h")]
			[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
			public static void apply_text_style_to_label (Granite.TextStyle text_style, Gtk.Label label);
			[CCode (cheader_filename = "granite.h")]
			public static string? get_button_layout_schema ();
			[CCode (cheader_filename = "granite.h")]
			public static Gtk.CssProvider? get_css_provider (string stylesheet);
			[CCode (cheader_filename = "granite.h")]
			public static bool get_default_close_button_position (out Granite.CloseButtonPosition position);
			[CCode (cheader_filename = "granite.h")]
			public static Gtk.CssProvider? set_color_primary (Gtk.Widget window, Gdk.RGBA color, int priority = Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
			[CCode (cheader_filename = "granite.h")]
			public static Gtk.CssProvider? set_theming (Gtk.Widget widget, string stylesheet, string? class_name, int priority);
			[CCode (cheader_filename = "granite.h")]
			public static Gtk.CssProvider? set_theming_for_screen (Gdk.Screen screen, string stylesheet, int priority);
		}
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public class AboutDialog : Granite.GtkPatch.AboutDialog {
			public AboutDialog ();
			public string bug { get; set; }
			public string help { get; set; }
			public string translate { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class AlertView : Gtk.Grid {
			public AlertView (string title, string description, string icon_name);
			public void hide_action ();
			public void show_action (string? label = null);
			public string description { get; set; }
			public string icon_name { owned get; set; }
			public string title { get; set; }
			public signal void action_activated ();
		}
		[CCode (cheader_filename = "granite.h")]
		[Version (deprecated = true, deprecated_since = "0.4.1", replacement = "Gtk.MenuButton")]
		public class AppMenu : Gtk.MenuButton {
			public Gtk.MenuItem about_item;
			public AppMenu (Gtk.Menu menu);
			public void add_items (Gtk.Menu menu);
			public AppMenu.with_app (Granite.Application? application, Gtk.Menu menu);
			public signal void show_about (Gtk.Widget w);
		}
		[CCode (cheader_filename = "granite.h")]
		public class Avatar : Gtk.EventBox {
			public Avatar ();
			public override bool draw (Cairo.Context cr);
			public Avatar.from_file (string filepath, int pixel_size);
			public Avatar.from_pixbuf (Gdk.Pixbuf pixbuf);
			public void show_default (int pixel_size);
			public Avatar.with_default_icon (int pixel_size);
			public Gdk.Pixbuf? pixbuf { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class CellRendererBadge : Gtk.CellRenderer {
			public CellRendererBadge ();
			public override void get_preferred_height_for_width (Gtk.Widget widget, int width, out int minimum_height, out int natural_height);
			public override void get_preferred_width (Gtk.Widget widget, out int minimum_size, out int natural_size);
			public override Gtk.SizeRequestMode get_request_mode ();
			[Version (deprecated = true, deprecated_since = "0.3", replacement = "Gtk.CellRenderer.get_preferred_size")]
			public override void get_size (Gtk.Widget widget, Gdk.Rectangle? cell_area, out int x_offset, out int y_offset, out int width, out int height);
			public override void render (Cairo.Context context, Gtk.Widget widget, Gdk.Rectangle bg_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
			public string text { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class CellRendererExpander : Gtk.CellRenderer {
			public CellRendererExpander ();
			public virtual int get_arrow_size (Gtk.Widget widget);
			public override void get_preferred_height_for_width (Gtk.Widget widget, int width, out int minimum_height, out int natural_height);
			public override void get_preferred_width (Gtk.Widget widget, out int minimum_size, out int natural_size);
			public override Gtk.SizeRequestMode get_request_mode ();
			[Version (deprecated = true, deprecated_since = "", replacement = "Gtk.CellRenderer.get_preferred_size")]
			public override void get_size (Gtk.Widget widget, Gdk.Rectangle? cell_area, out int x_offset, out int y_offset, out int width, out int height);
			public override void render (Cairo.Context context, Gtk.Widget widget, Gdk.Rectangle bg_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);
			public bool is_category_expander { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class CollapsiblePaned : Gtk.Paned {
			public CollapsiblePaned (Gtk.Orientation orientation);
			public Granite.CollapseMode collapse_mode { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class CompositedWindow : Gtk.Window, Gtk.Buildable {
			public CompositedWindow ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class DatePicker : Gtk.Entry, Gtk.Buildable {
			protected Gtk.Calendar calendar;
			protected Gtk.EventBox dropdown;
			public DatePicker ();
			protected virtual void position_dropdown (out Gdk.Rectangle rect);
			public DatePicker.with_format (string format);
			public GLib.DateTime date { get; set; }
			public string format { get; construct; }
			public signal void date_changed ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class DynamicNotebook : Gtk.EventBox {
			public enum TabBarBehavior {
				ALWAYS,
				SINGLE,
				NEVER
			}
			public DynamicNotebook ();
			public new GLib.List<Gtk.Widget> get_children ();
			public Gtk.Widget get_nth_page (int index);
			public Granite.Widgets.Tab? get_tab_by_index (int index);
			public Granite.Widgets.Tab? get_tab_by_widget (Gtk.Widget widget);
			public int get_tab_position (Granite.Widgets.Tab tab);
			public uint insert_tab (Granite.Widgets.Tab tab, int index);
			public void next_page ();
			public void previous_page ();
			public void remove_tab (Granite.Widgets.Tab tab);
			public void set_tab_position (Granite.Widgets.Tab tab, int position);
			public override void show ();
			public string add_button_tooltip { get; set; }
			public bool add_button_visible { get; set; }
			public bool allow_drag { get; set; }
			public bool allow_duplication { get; set; }
			public bool allow_new_window { get; set; }
			public bool allow_pinning { get; set; }
			public bool allow_restoring { get; set; }
			public Granite.Widgets.Tab current { get; set; }
			public bool force_left { get; set; }
			public string group_name { get; set; }
			public int max_restorable_tabs { get; set; }
			public Gtk.Menu menu { get; private set; }
			public int n_tabs { get; }
			[Version (deprecated = true, deprecated_since = "0.3.1", replacement = "")]
			public bool show_icons { get; set; }
			public bool show_tabs { get; set; }
			public Granite.Widgets.DynamicNotebook.TabBarBehavior tab_bar_behavior { get; set; }
			public GLib.List<Granite.Widgets.Tab> tabs { get; }
			public bool tabs_closable { get; set; }
			public signal bool close_tab_requested (Granite.Widgets.Tab tab);
			public signal void new_tab_requested ();
			public signal void tab_added (Granite.Widgets.Tab tab);
			public signal void tab_duplicated (Granite.Widgets.Tab duplicated_tab);
			public signal void tab_moved (Granite.Widgets.Tab tab, int x, int y);
			public signal void tab_removed (Granite.Widgets.Tab tab);
			public signal void tab_reordered (Granite.Widgets.Tab tab, int new_pos);
			public signal void tab_restored (string label, string data, GLib.Icon? icon);
			public signal void tab_switched (Granite.Widgets.Tab? old_tab, Granite.Widgets.Tab new_tab);
		}
		[CCode (cheader_filename = "granite.h")]
		public class ModeButton : Gtk.Box {
			public ModeButton ();
			public int append (Gtk.Widget w);
			public int append_icon (string icon_name, Gtk.IconSize size);
			public int append_pixbuf (Gdk.Pixbuf pixbuf);
			public int append_text (string text);
			public void clear_children ();
			public new void remove (int index);
			public void set_active (int new_active_index);
			public void set_item_visible (int index, bool val);
			public uint n_items { get; }
			public int selected { get; set; }
			public signal void mode_added (int index, Gtk.Widget widget);
			public signal void mode_changed (Gtk.Widget widget);
			public signal void mode_removed (int index, Gtk.Widget widget);
		}
		[CCode (cheader_filename = "granite.h")]
		public class OverlayBar : Gtk.EventBox {
			public OverlayBar (Gtk.Overlay overlay);
			public override void parent_set (Gtk.Widget? old_parent);
			public bool active { get; set; }
			public string label { get; set; }
			public Gtk.Overlay overlay { get; construct; }
			[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "OverlayBar.label")]
			public string status { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class SourceList : Gtk.ScrolledWindow {
			public class ExpandableItem : Granite.Widgets.SourceList.Item {
				public ExpandableItem (string name = "");
				public void add (Granite.Widgets.SourceList.Item item);
				public void clear ();
				public void collapse_all (bool inclusive = true, bool recursive = true);
				public void collapse_with_parents ();
				public bool contains (Granite.Widgets.SourceList.Item item);
				public void expand_all (bool inclusive = true, bool recursive = true);
				public void expand_with_parents ();
				public void remove (Granite.Widgets.SourceList.Item item);
				public Gee.Collection<Granite.Widgets.SourceList.Item> children { owned get; }
				public bool collapsible { get; set; }
				public bool expanded { get; set; }
				public uint n_children { get; }
				public signal void child_added (Granite.Widgets.SourceList.Item item);
				public signal void child_removed (Granite.Widgets.SourceList.Item item);
				public virtual signal void toggled ();
			}
			public class Item : GLib.Object {
				public Item (string name = "");
				public virtual Gtk.Menu? get_context_menu ();
				public GLib.Icon activatable { get; set; }
				public string badge { get; set; }
				public bool editable { get; set; }
				public GLib.Icon icon { get; set; }
				public string name { get; set; }
				public Granite.Widgets.SourceList.ExpandableItem parent { get; internal set; }
				public bool selectable { get; set; }
				public bool visible { get; set; }
				public virtual signal void action_activated ();
				public virtual signal void activated ();
				public virtual signal void edited (string new_name);
			}
			public delegate bool VisibleFunc (Granite.Widgets.SourceList.Item item);
			public SourceList (Granite.Widgets.SourceList.ExpandableItem root = new Granite.Widgets.SourceList.ExpandableItem (""));
			public void disable_drag_dest ();
			public void disable_drag_source ();
			public void enable_drag_dest (Gtk.TargetEntry[] dest_entries, Gdk.DragAction actions);
			public void enable_drag_source (Gtk.TargetEntry[] src_entries);
			public Granite.Widgets.SourceList.Item? get_first_child (Granite.Widgets.SourceList.ExpandableItem parent);
			public Granite.Widgets.SourceList.Item? get_last_child (Granite.Widgets.SourceList.ExpandableItem parent);
			public uint get_n_visible_children (Granite.Widgets.SourceList.ExpandableItem parent);
			public Granite.Widgets.SourceList.Item? get_next_item (Granite.Widgets.SourceList.Item reference);
			public Granite.Widgets.SourceList.Item? get_previous_item (Granite.Widgets.SourceList.Item reference);
			public bool has_item (Granite.Widgets.SourceList.Item item);
			public bool is_item_expanded (Granite.Widgets.SourceList.Item item);
			public void refilter ();
			public bool scroll_to_item (Granite.Widgets.SourceList.Item item, bool expand_parents = true, bool use_align = false, float row_align = 0);
			public void set_filter_func (Granite.Widgets.SourceList.VisibleFunc? visible_func, bool refilter);
			public bool start_editing_item (Granite.Widgets.SourceList.Item item);
			public void stop_editing ();
			public bool editing { get; }
			public Pango.EllipsizeMode ellipsize_mode { get; set; }
			public Granite.Widgets.SourceList.ExpandableItem root { get; set; }
			public Granite.Widgets.SourceList.Item? selected { get; set; }
			public virtual signal void item_selected (Granite.Widgets.SourceList.Item? item);
		}
		[CCode (cheader_filename = "granite.h")]
		public class StorageBar : Gtk.Box {
			public enum ItemDescription {
				OTHER,
				AUDIO,
				VIDEO,
				PHOTO,
				APP,
				FILES;
				public static string? get_class (Granite.Widgets.StorageBar.ItemDescription description);
				public static string get_name (Granite.Widgets.StorageBar.ItemDescription description);
			}
			public StorageBar (uint64 storage);
			public void update_block_size (Granite.Widgets.StorageBar.ItemDescription description, uint64 size);
			public StorageBar.with_total_usage (uint64 storage, uint64 total_usage);
			public int inner_margin_sides { get; set; }
			public uint64 storage { get; set; }
			public uint64 total_usage { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class Tab : Gtk.EventBox {
			public Granite.Widgets.DroppedDelegate dropped_callback;
			public Tab (string label = "", GLib.Icon? icon = null, Gtk.Widget? page = null);
			public void close ();
			public Pango.EllipsizeMode ellipsize_mode { get; set; }
			[Version (deprecated = true, deprecated_since = "0.3", replacement = "")]
			public bool fixed { get; set; }
			public GLib.Icon? icon { owned get; set; }
			public string label { get; set; }
			public Gtk.Menu menu { get; set; }
			public Gtk.Widget page { get; set; }
			public bool pinnable { get; set; }
			public bool pinned { get; set; }
			public string restore_data { get; set; }
			public bool working { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public class TimePicker : Gtk.Entry {
			public TimePicker ();
			protected virtual void position_dropdown (out int x, out int y);
			public TimePicker.with_format (string format_12, string format_24);
			public string format_12 { get; construct; }
			public string format_24 { get; construct; }
			public GLib.DateTime time { get; set; }
			public signal void time_changed ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class Toast : Gtk.Revealer {
			public Toast (string title);
			public void send_notification ();
			public void set_default_action (string? label);
			public string title { get; set construct; }
			public signal void closed ();
			public signal void default_action ();
		}
		[CCode (cheader_filename = "granite.h")]
		public class Welcome : Gtk.EventBox {
			protected GLib.List<Gtk.Button> children;
			protected Gtk.Box options;
			public Welcome (string title_text, string subtitle_text);
			public int append (string icon_name, string option_text, string description_text);
			public int append_with_image (Gtk.Image? image, string option_text, string description_text);
			public int append_with_pixbuf (Gdk.Pixbuf? pixbuf, string option_text, string description_text);
			public Granite.Widgets.WelcomeButton? get_button_from_index (int index);
			public void remove_item (uint index);
			public void set_item_sensitivity (uint index, bool val);
			public void set_item_visible (uint index, bool val);
			public string subtitle { get; set; }
			public string title { get; set; }
			public signal void activated (int index);
		}
		[CCode (cheader_filename = "granite.h")]
		public class WelcomeButton : Gtk.Button {
			public WelcomeButton (Gtk.Image? image, string option_text, string description_text);
			public string description { get; set; }
			public Gtk.Image? icon { get; set; }
			public string title { get; set; }
		}
		[CCode (cheader_filename = "granite.h")]
		public interface SourceListDragDest : Granite.Widgets.SourceList.Item {
			public abstract bool data_drop_possible (Gdk.DragContext context, Gtk.SelectionData data);
			public abstract Gdk.DragAction data_received (Gdk.DragContext context, Gtk.SelectionData data);
		}
		[CCode (cheader_filename = "granite.h")]
		public interface SourceListDragSource : Granite.Widgets.SourceList.Item {
			public abstract bool draggable ();
			public abstract void prepare_selection_data (Gtk.SelectionData selection_data);
		}
		[CCode (cheader_filename = "granite.h")]
		public interface SourceListSortable : Granite.Widgets.SourceList.ExpandableItem {
			public abstract bool allow_dnd_sorting ();
			public abstract int compare (Granite.Widgets.SourceList.Item a, Granite.Widgets.SourceList.Item b);
			public signal void user_moved_item (Granite.Widgets.SourceList.Item moved);
		}
		[CCode (cheader_filename = "granite.h")]
		public delegate void DroppedDelegate ();
		[CCode (cheader_filename = "granite.h")]
		public static void show_about_dialog (Gtk.Window* parent, string first, ...);
	}
	[CCode (cheader_filename = "granite.h")]
	public abstract class Application : Gtk.Application {
		protected static bool DEBUG;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string[] about_artists;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string[] about_authors;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string about_comments;
		protected Granite.Widgets.AboutDialog about_dlg;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string[] about_documenters;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string about_license;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public Gtk.License about_license_type;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string about_translators;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string app_copyright;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string app_icon;
		public string app_launcher;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string app_years;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string bug_url;
		public string build_data_dir;
		public string build_pkg_data_dir;
		public string build_release_name;
		public string build_version;
		public string build_version_info;
		public string exec_name;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string help_url;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string main_url;
		public string program_name;
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public string translate_url;
		protected const GLib.OptionEntry[] options;
		public Application ();
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "Gtk.MenuButton")]
		public Granite.Widgets.AppMenu create_appmenu (Gtk.Menu menu);
		[CCode (cheader_filename = "sys/prctl.h", cname = "prctl")]
		protected static int prctl (int option, string arg2, ulong arg3, ulong arg4, ulong arg5);
		public new int run (string[] args);
		protected virtual void set_options ();
		[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
		public virtual void show_about (Gtk.Widget parent);
	}
	[CCode (cheader_filename = "granite.h")]
	public class AsyncImage : Gtk.Image {
		public AsyncImage (bool load_on_realize = true, bool auto_size_request = true);
		public AsyncImage.from_gicon_async (GLib.Icon icon, int size, bool load_on_realize = true, bool auto_size_request = true);
		public AsyncImage.from_icon_name_async (string icon_name, Gtk.IconSize icon_size, bool load_on_realize = true, bool auto_size_request = true);
		public async void set_from_file_async (GLib.File file, int width, int height, bool preserve_aspect_ratio, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async void set_from_gicon_async (GLib.Icon icon, int size, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async void set_from_icon_name_async (string icon_name, Gtk.IconSize icon_size, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool auto_size_request { private get; construct; }
		public GLib.Icon? gicon_async { get; private set; }
		public bool load_on_realize { private get; construct; }
		public int size_async { get; private set; }
	}
	[CCode (cheader_filename = "granite.h")]
	public class HeaderLabel : Gtk.Label {
		public HeaderLabel (string label);
	}
	[CCode (cheader_filename = "granite.h")]
	public class MessageDialog : Gtk.Dialog {
		public MessageDialog (string primary_text, string secondary_text, GLib.Icon image_icon, Gtk.ButtonsType buttons = Gtk.ButtonsType.CLOSE);
		public MessageDialog.with_image_from_icon_name (string primary_text, string secondary_text, string image_icon_name = "dialog-information", Gtk.ButtonsType buttons = Gtk.ButtonsType.CLOSE);
		public Gtk.ButtonsType buttons { construct; }
		public Gtk.Bin custom_bin { get; construct; }
		public GLib.Icon image_icon { owned get; set; }
		public Gtk.Label primary_label { get; construct; }
		public string primary_text { get; set; }
		public Gtk.Label secondary_label { get; construct; }
		public string secondary_text { get; set; }
	}
	[CCode (cheader_filename = "granite.h")]
	public class SeekBar : Gtk.Grid {
		public SeekBar (double playback_duration);
		public override void get_preferred_width (out int minimum_width, out int natural_width);
		public Gtk.Label duration_label { get; set construct; }
		public bool is_grabbing { get; private set; }
		public bool is_hovering { get; private set; }
		public double playback_duration { get; set; }
		public double playback_progress { get; set; }
		public Gtk.Label progression_label { get; set construct; }
		public Gtk.Scale scale { get; set construct; }
	}
	[CCode (cheader_filename = "granite.h")]
	public abstract class SettingsPage : Gtk.ScrolledWindow {
		public enum StatusType {
			ERROR,
			OFFLINE,
			SUCCESS,
			WARNING,
			NONE
		}
		protected string _icon_name;
		protected string _title;
		public SettingsPage ();
		public Gtk.Widget? display_widget { get; construct; }
		public string? header { get; construct; }
		public string? icon_name { get; set construct; }
		public string status { get; set; }
		public Granite.SettingsPage.StatusType status_type { get; set; }
		public string title { get; set construct; }
	}
	[CCode (cheader_filename = "granite.h")]
	public class SettingsSidebar : Gtk.ScrolledWindow {
		public SettingsSidebar (Gtk.Stack stack);
		public Gtk.Stack stack { get; construct; }
	}
	[CCode (cheader_filename = "granite.h")]
	public abstract class SimpleSettingsPage : Granite.SettingsPage {
		public SimpleSettingsPage ();
		public Gtk.ButtonBox action_area { get; construct; }
		public bool activatable { get; construct; }
		public Gtk.Grid content_area { get; construct; }
		public string description { get; set construct; }
		public string icon_name { get; set construct; }
		public Gtk.Switch? status_switch { get; construct; }
		public string title { get; set construct; }
	}
	[CCode (cheader_filename = "granite.h")]
	public enum CloseButtonPosition {
		LEFT,
		RIGHT
	}
	[CCode (cheader_filename = "granite.h")]
	public enum CollapseMode {
		NONE,
		LEFT,
		TOP,
		FIRST,
		RIGHT,
		BOTTOM,
		LAST
	}
	[CCode (cheader_filename = "granite.h")]
	[Version (deprecated = true, deprecated_since = "0.4.2", replacement = "")]
	public enum TextStyle {
		TITLE,
		H1,
		H2,
		H3;
		public string get_stylesheet (out string style_class = null);
	}
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_AVATAR;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_BACK_BUTTON;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_BADGE;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_CARD;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_CATEGORY_EXPANDER;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_H1_LABEL;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_H2_LABEL;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_H3_LABEL;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_H4_LABEL;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_OVERLAY_BAR;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_PRIMARY_LABEL;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_SEEKBAR;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_SOURCE_LIST;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_STORAGEBAR;
	[CCode (cheader_filename = "granite.h")]
	public const string STYLE_CLASS_WELCOME;
}