libpanel_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ d7c0763cacbc)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git @ 4d1189172a70)
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use adw_sys as adw;
16use gio_sys as gio;
17use glib_sys as glib;
18use gobject_sys as gobject;
19use gtk_sys as gtk;
20
21#[allow(unused_imports)]
22use libc::{
23    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
24    intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE,
25};
26#[cfg(unix)]
27#[allow(unused_imports)]
28use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
29
30#[allow(unused_imports)]
31use glib::{gboolean, gconstpointer, gpointer, GType};
32
33// Enums
34pub type PanelArea = c_int;
35pub const PANEL_AREA_START: PanelArea = 0;
36pub const PANEL_AREA_END: PanelArea = 1;
37pub const PANEL_AREA_TOP: PanelArea = 2;
38pub const PANEL_AREA_BOTTOM: PanelArea = 3;
39pub const PANEL_AREA_CENTER: PanelArea = 4;
40
41// Constants
42pub const PANEL_MAJOR_VERSION: c_int = 1;
43pub const PANEL_MICRO_VERSION: c_int = 1;
44pub const PANEL_MINOR_VERSION: c_int = 7;
45pub const PANEL_VERSION_S: &[u8] = b"1.7.1\0";
46pub const PANEL_WIDGET_KIND_ANY: &[u8] = b"*\0";
47pub const PANEL_WIDGET_KIND_DOCUMENT: &[u8] = b"document\0";
48pub const PANEL_WIDGET_KIND_UNKNOWN: &[u8] = b"unknown\0";
49pub const PANEL_WIDGET_KIND_UTILITY: &[u8] = b"utility\0";
50
51// Callbacks
52pub type PanelActionActivateFunc =
53    Option<unsafe extern "C" fn(gpointer, *const c_char, *mut glib::GVariant)>;
54pub type PanelFrameCallback = Option<unsafe extern "C" fn(*mut PanelFrame, gpointer)>;
55pub type PanelWorkspaceForeach = Option<unsafe extern "C" fn(*mut PanelWorkspace, gpointer)>;
56
57// Records
58#[repr(C)]
59pub struct _PanelAction {
60    _data: [u8; 0],
61    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
62}
63
64pub type PanelAction = _PanelAction;
65
66#[derive(Copy, Clone)]
67#[repr(C)]
68pub struct PanelActionMuxerClass {
69    pub parent_class: gobject::GObjectClass,
70}
71
72impl ::std::fmt::Debug for PanelActionMuxerClass {
73    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
74        f.debug_struct(&format!("PanelActionMuxerClass @ {self:p}"))
75            .field("parent_class", &self.parent_class)
76            .finish()
77    }
78}
79
80#[derive(Copy, Clone)]
81#[repr(C)]
82pub struct PanelApplicationClass {
83    pub parent_class: adw::AdwApplicationClass,
84    pub _reserved: [gpointer; 8],
85}
86
87impl ::std::fmt::Debug for PanelApplicationClass {
88    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
89        f.debug_struct(&format!("PanelApplicationClass @ {self:p}"))
90            .field("parent_class", &self.parent_class)
91            .finish()
92    }
93}
94
95#[derive(Copy, Clone)]
96#[repr(C)]
97pub struct PanelChangesDialogClass {
98    pub parent_class: adw::AdwAlertDialogClass,
99}
100
101impl ::std::fmt::Debug for PanelChangesDialogClass {
102    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
103        f.debug_struct(&format!("PanelChangesDialogClass @ {self:p}"))
104            .field("parent_class", &self.parent_class)
105            .finish()
106    }
107}
108
109#[derive(Copy, Clone)]
110#[repr(C)]
111pub struct PanelDockClass {
112    pub parent_class: gtk::GtkWidgetClass,
113    pub panel_drag_begin: Option<unsafe extern "C" fn(*mut PanelDock, *mut PanelWidget)>,
114    pub panel_drag_end: Option<unsafe extern "C" fn(*mut PanelDock, *mut PanelWidget)>,
115}
116
117impl ::std::fmt::Debug for PanelDockClass {
118    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
119        f.debug_struct(&format!("PanelDockClass @ {self:p}"))
120            .field("parent_class", &self.parent_class)
121            .field("panel_drag_begin", &self.panel_drag_begin)
122            .field("panel_drag_end", &self.panel_drag_end)
123            .finish()
124    }
125}
126
127#[derive(Copy, Clone)]
128#[repr(C)]
129pub struct PanelDocumentWorkspaceClass {
130    pub parent_class: PanelWorkspaceClass,
131    pub create_frame: Option<
132        unsafe extern "C" fn(*mut PanelDocumentWorkspace, *mut PanelPosition) -> *mut PanelFrame,
133    >,
134    pub add_widget: Option<
135        unsafe extern "C" fn(
136            *mut PanelDocumentWorkspace,
137            *mut PanelWidget,
138            *mut PanelPosition,
139        ) -> gboolean,
140    >,
141    pub _reserved: [gpointer; 16],
142}
143
144impl ::std::fmt::Debug for PanelDocumentWorkspaceClass {
145    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
146        f.debug_struct(&format!("PanelDocumentWorkspaceClass @ {self:p}"))
147            .field("parent_class", &self.parent_class)
148            .field("create_frame", &self.create_frame)
149            .field("add_widget", &self.add_widget)
150            .finish()
151    }
152}
153
154#[derive(Copy, Clone)]
155#[repr(C)]
156pub struct PanelFrameClass {
157    pub parent_class: gtk::GtkWidgetClass,
158    pub page_closed: Option<unsafe extern "C" fn(*mut PanelFrame, *mut PanelWidget)>,
159    pub adopt_widget: Option<unsafe extern "C" fn(*mut PanelFrame, *mut PanelWidget) -> gboolean>,
160    pub _reserved: [gpointer; 6],
161}
162
163impl ::std::fmt::Debug for PanelFrameClass {
164    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
165        f.debug_struct(&format!("PanelFrameClass @ {self:p}"))
166            .field("parent_class", &self.parent_class)
167            .field("page_closed", &self.page_closed)
168            .field("adopt_widget", &self.adopt_widget)
169            .finish()
170    }
171}
172
173#[derive(Copy, Clone)]
174#[repr(C)]
175pub struct PanelFrameHeaderBarClass {
176    pub parent_class: gtk::GtkWidgetClass,
177}
178
179impl ::std::fmt::Debug for PanelFrameHeaderBarClass {
180    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
181        f.debug_struct(&format!("PanelFrameHeaderBarClass @ {self:p}"))
182            .field("parent_class", &self.parent_class)
183            .finish()
184    }
185}
186
187#[derive(Copy, Clone)]
188#[repr(C)]
189pub struct PanelFrameHeaderInterface {
190    pub parent_iface: gobject::GTypeInterface,
191    pub page_changed: Option<unsafe extern "C" fn(*mut PanelFrameHeader, *mut PanelWidget)>,
192    pub can_drop: Option<unsafe extern "C" fn(*mut PanelFrameHeader, *mut PanelWidget) -> gboolean>,
193    pub add_prefix: Option<unsafe extern "C" fn(*mut PanelFrameHeader, c_int, *mut gtk::GtkWidget)>,
194    pub add_suffix: Option<unsafe extern "C" fn(*mut PanelFrameHeader, c_int, *mut gtk::GtkWidget)>,
195}
196
197impl ::std::fmt::Debug for PanelFrameHeaderInterface {
198    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
199        f.debug_struct(&format!("PanelFrameHeaderInterface @ {self:p}"))
200            .field("parent_iface", &self.parent_iface)
201            .field("page_changed", &self.page_changed)
202            .field("can_drop", &self.can_drop)
203            .field("add_prefix", &self.add_prefix)
204            .field("add_suffix", &self.add_suffix)
205            .finish()
206    }
207}
208
209#[derive(Copy, Clone)]
210#[repr(C)]
211pub struct PanelFrameSwitcherClass {
212    pub parent_class: gtk::GtkWidgetClass,
213}
214
215impl ::std::fmt::Debug for PanelFrameSwitcherClass {
216    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
217        f.debug_struct(&format!("PanelFrameSwitcherClass @ {self:p}"))
218            .field("parent_class", &self.parent_class)
219            .finish()
220    }
221}
222
223#[derive(Copy, Clone)]
224#[repr(C)]
225pub struct PanelFrameTabBarClass {
226    pub parent_class: gtk::GtkWidgetClass,
227}
228
229impl ::std::fmt::Debug for PanelFrameTabBarClass {
230    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
231        f.debug_struct(&format!("PanelFrameTabBarClass @ {self:p}"))
232            .field("parent_class", &self.parent_class)
233            .finish()
234    }
235}
236
237#[derive(Copy, Clone)]
238#[repr(C)]
239pub struct PanelGSettingsActionGroupClass {
240    pub parent_class: gobject::GObjectClass,
241}
242
243impl ::std::fmt::Debug for PanelGSettingsActionGroupClass {
244    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
245        f.debug_struct(&format!("PanelGSettingsActionGroupClass @ {self:p}"))
246            .field("parent_class", &self.parent_class)
247            .finish()
248    }
249}
250
251#[derive(Copy, Clone)]
252#[repr(C)]
253pub struct PanelGridClass {
254    pub parent_class: gtk::GtkWidgetClass,
255    pub create_frame: Option<unsafe extern "C" fn(*mut PanelGrid) -> *mut PanelFrame>,
256    pub _reserved: [gpointer; 12],
257}
258
259impl ::std::fmt::Debug for PanelGridClass {
260    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
261        f.debug_struct(&format!("PanelGridClass @ {self:p}"))
262            .field("parent_class", &self.parent_class)
263            .field("create_frame", &self.create_frame)
264            .finish()
265    }
266}
267
268#[derive(Copy, Clone)]
269#[repr(C)]
270pub struct PanelGridColumnClass {
271    pub parent_class: gtk::GtkWidgetClass,
272}
273
274impl ::std::fmt::Debug for PanelGridColumnClass {
275    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
276        f.debug_struct(&format!("PanelGridColumnClass @ {self:p}"))
277            .field("parent_class", &self.parent_class)
278            .finish()
279    }
280}
281
282#[derive(Copy, Clone)]
283#[repr(C)]
284pub struct PanelInhibitorClass {
285    pub parent_class: gobject::GObjectClass,
286}
287
288impl ::std::fmt::Debug for PanelInhibitorClass {
289    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
290        f.debug_struct(&format!("PanelInhibitorClass @ {self:p}"))
291            .field("parent_class", &self.parent_class)
292            .finish()
293    }
294}
295
296#[derive(Copy, Clone)]
297#[repr(C)]
298pub struct PanelLayeredSettingsClass {
299    pub parent_class: gobject::GObjectClass,
300}
301
302impl ::std::fmt::Debug for PanelLayeredSettingsClass {
303    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
304        f.debug_struct(&format!("PanelLayeredSettingsClass @ {self:p}"))
305            .field("parent_class", &self.parent_class)
306            .finish()
307    }
308}
309
310#[derive(Copy, Clone)]
311#[repr(C)]
312pub struct PanelMenuManagerClass {
313    pub parent_class: gobject::GObjectClass,
314}
315
316impl ::std::fmt::Debug for PanelMenuManagerClass {
317    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
318        f.debug_struct(&format!("PanelMenuManagerClass @ {self:p}"))
319            .field("parent_class", &self.parent_class)
320            .finish()
321    }
322}
323
324#[derive(Copy, Clone)]
325#[repr(C)]
326pub struct PanelOmniBarClass {
327    pub parent_class: gtk::GtkWidgetClass,
328    pub _reserved: [gpointer; 8],
329}
330
331impl ::std::fmt::Debug for PanelOmniBarClass {
332    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
333        f.debug_struct(&format!("PanelOmniBarClass @ {self:p}"))
334            .field("parent_class", &self.parent_class)
335            .finish()
336    }
337}
338
339#[derive(Copy, Clone)]
340#[repr(C)]
341pub struct PanelPanedClass {
342    pub parent_class: gtk::GtkWidgetClass,
343}
344
345impl ::std::fmt::Debug for PanelPanedClass {
346    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
347        f.debug_struct(&format!("PanelPanedClass @ {self:p}"))
348            .field("parent_class", &self.parent_class)
349            .finish()
350    }
351}
352
353#[derive(Copy, Clone)]
354#[repr(C)]
355pub struct PanelPositionClass {
356    pub parent_class: gobject::GObjectClass,
357}
358
359impl ::std::fmt::Debug for PanelPositionClass {
360    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
361        f.debug_struct(&format!("PanelPositionClass @ {self:p}"))
362            .field("parent_class", &self.parent_class)
363            .finish()
364    }
365}
366
367#[derive(Copy, Clone)]
368#[repr(C)]
369pub struct PanelSaveDelegateClass {
370    pub parent_class: gobject::GObjectClass,
371    pub save_async: Option<
372        unsafe extern "C" fn(
373            *mut PanelSaveDelegate,
374            *mut gio::GCancellable,
375            gio::GAsyncReadyCallback,
376            gpointer,
377        ),
378    >,
379    pub save_finish: Option<
380        unsafe extern "C" fn(
381            *mut PanelSaveDelegate,
382            *mut gio::GAsyncResult,
383            *mut *mut glib::GError,
384        ) -> gboolean,
385    >,
386    pub save: Option<unsafe extern "C" fn(*mut PanelSaveDelegate, *mut gio::GTask) -> gboolean>,
387    pub discard: Option<unsafe extern "C" fn(*mut PanelSaveDelegate)>,
388    pub close: Option<unsafe extern "C" fn(*mut PanelSaveDelegate)>,
389    pub _reserved: [gpointer; 8],
390}
391
392impl ::std::fmt::Debug for PanelSaveDelegateClass {
393    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
394        f.debug_struct(&format!("PanelSaveDelegateClass @ {self:p}"))
395            .field("parent_class", &self.parent_class)
396            .field("save_async", &self.save_async)
397            .field("save_finish", &self.save_finish)
398            .field("save", &self.save)
399            .field("discard", &self.discard)
400            .field("close", &self.close)
401            .finish()
402    }
403}
404
405#[derive(Copy, Clone)]
406#[repr(C)]
407pub struct PanelSaveDialogClass {
408    pub parent_class: adw::AdwMessageDialogClass,
409}
410
411impl ::std::fmt::Debug for PanelSaveDialogClass {
412    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
413        f.debug_struct(&format!("PanelSaveDialogClass @ {self:p}"))
414            .field("parent_class", &self.parent_class)
415            .finish()
416    }
417}
418
419#[derive(Copy, Clone)]
420#[repr(C)]
421pub struct PanelSessionClass {
422    pub parent_class: gobject::GObjectClass,
423}
424
425impl ::std::fmt::Debug for PanelSessionClass {
426    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
427        f.debug_struct(&format!("PanelSessionClass @ {self:p}"))
428            .field("parent_class", &self.parent_class)
429            .finish()
430    }
431}
432
433#[derive(Copy, Clone)]
434#[repr(C)]
435pub struct PanelSessionItemClass {
436    pub parent_class: gobject::GObjectClass,
437}
438
439impl ::std::fmt::Debug for PanelSessionItemClass {
440    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
441        f.debug_struct(&format!("PanelSessionItemClass @ {self:p}"))
442            .field("parent_class", &self.parent_class)
443            .finish()
444    }
445}
446
447#[derive(Copy, Clone)]
448#[repr(C)]
449pub struct PanelSettingsClass {
450    pub parent_class: gobject::GObjectClass,
451}
452
453impl ::std::fmt::Debug for PanelSettingsClass {
454    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
455        f.debug_struct(&format!("PanelSettingsClass @ {self:p}"))
456            .field("parent_class", &self.parent_class)
457            .finish()
458    }
459}
460
461#[derive(Copy, Clone)]
462#[repr(C)]
463pub struct PanelStatusbarClass {
464    pub parent_class: gtk::GtkWidgetClass,
465}
466
467impl ::std::fmt::Debug for PanelStatusbarClass {
468    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
469        f.debug_struct(&format!("PanelStatusbarClass @ {self:p}"))
470            .field("parent_class", &self.parent_class)
471            .finish()
472    }
473}
474
475#[derive(Copy, Clone)]
476#[repr(C)]
477pub struct PanelThemeSelectorClass {
478    pub parent_class: gtk::GtkWidgetClass,
479}
480
481impl ::std::fmt::Debug for PanelThemeSelectorClass {
482    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
483        f.debug_struct(&format!("PanelThemeSelectorClass @ {self:p}"))
484            .field("parent_class", &self.parent_class)
485            .finish()
486    }
487}
488
489#[derive(Copy, Clone)]
490#[repr(C)]
491pub struct PanelToggleButtonClass {
492    pub parent_class: gtk::GtkWidgetClass,
493}
494
495impl ::std::fmt::Debug for PanelToggleButtonClass {
496    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
497        f.debug_struct(&format!("PanelToggleButtonClass @ {self:p}"))
498            .field("parent_class", &self.parent_class)
499            .finish()
500    }
501}
502
503#[derive(Copy, Clone)]
504#[repr(C)]
505pub struct PanelWidgetClass {
506    pub parent_instance: gtk::GtkWidgetClass,
507    pub get_default_focus: Option<unsafe extern "C" fn(*mut PanelWidget) -> *mut gtk::GtkWidget>,
508    pub presented: Option<unsafe extern "C" fn(*mut PanelWidget)>,
509    pub _reserved: [gpointer; 8],
510}
511
512impl ::std::fmt::Debug for PanelWidgetClass {
513    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
514        f.debug_struct(&format!("PanelWidgetClass @ {self:p}"))
515            .field("parent_instance", &self.parent_instance)
516            .field("get_default_focus", &self.get_default_focus)
517            .field("presented", &self.presented)
518            .finish()
519    }
520}
521
522#[derive(Copy, Clone)]
523#[repr(C)]
524pub struct PanelWorkbenchClass {
525    pub parent_class: gtk::GtkWindowGroupClass,
526    pub activate: Option<unsafe extern "C" fn(*mut PanelWorkbench)>,
527    pub unload_async: Option<
528        unsafe extern "C" fn(
529            *mut PanelWorkbench,
530            *mut gio::GCancellable,
531            gio::GAsyncReadyCallback,
532            gpointer,
533        ),
534    >,
535    pub unload_finish: Option<
536        unsafe extern "C" fn(
537            *mut PanelWorkbench,
538            *mut gio::GAsyncResult,
539            *mut *mut glib::GError,
540        ) -> gboolean,
541    >,
542    pub _reserved: [gpointer; 8],
543}
544
545impl ::std::fmt::Debug for PanelWorkbenchClass {
546    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
547        f.debug_struct(&format!("PanelWorkbenchClass @ {self:p}"))
548            .field("parent_class", &self.parent_class)
549            .field("activate", &self.activate)
550            .field("unload_async", &self.unload_async)
551            .field("unload_finish", &self.unload_finish)
552            .finish()
553    }
554}
555
556#[derive(Copy, Clone)]
557#[repr(C)]
558pub struct PanelWorkspaceClass {
559    pub parent_class: adw::AdwApplicationWindowClass,
560    pub _reserved: [gpointer; 8],
561}
562
563impl ::std::fmt::Debug for PanelWorkspaceClass {
564    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
565        f.debug_struct(&format!("PanelWorkspaceClass @ {self:p}"))
566            .field("parent_class", &self.parent_class)
567            .finish()
568    }
569}
570
571// Classes
572#[repr(C)]
573pub struct PanelActionMuxer {
574    _data: [u8; 0],
575    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
576}
577
578impl ::std::fmt::Debug for PanelActionMuxer {
579    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
580        f.debug_struct(&format!("PanelActionMuxer @ {self:p}"))
581            .finish()
582    }
583}
584
585#[derive(Copy, Clone)]
586#[repr(C)]
587pub struct PanelApplication {
588    pub parent_instance: adw::AdwApplication,
589}
590
591impl ::std::fmt::Debug for PanelApplication {
592    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
593        f.debug_struct(&format!("PanelApplication @ {self:p}"))
594            .field("parent_instance", &self.parent_instance)
595            .finish()
596    }
597}
598
599#[repr(C)]
600pub struct PanelChangesDialog {
601    _data: [u8; 0],
602    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
603}
604
605impl ::std::fmt::Debug for PanelChangesDialog {
606    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
607        f.debug_struct(&format!("PanelChangesDialog @ {self:p}"))
608            .finish()
609    }
610}
611
612#[derive(Copy, Clone)]
613#[repr(C)]
614pub struct PanelDock {
615    pub parent_instance: gtk::GtkWidget,
616}
617
618impl ::std::fmt::Debug for PanelDock {
619    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
620        f.debug_struct(&format!("PanelDock @ {self:p}"))
621            .field("parent_instance", &self.parent_instance)
622            .finish()
623    }
624}
625
626#[derive(Copy, Clone)]
627#[repr(C)]
628pub struct PanelDocumentWorkspace {
629    pub parent_instance: PanelWorkspace,
630}
631
632impl ::std::fmt::Debug for PanelDocumentWorkspace {
633    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
634        f.debug_struct(&format!("PanelDocumentWorkspace @ {self:p}"))
635            .field("parent_instance", &self.parent_instance)
636            .finish()
637    }
638}
639
640#[derive(Copy, Clone)]
641#[repr(C)]
642pub struct PanelFrame {
643    pub parent_instance: gtk::GtkWidget,
644}
645
646impl ::std::fmt::Debug for PanelFrame {
647    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
648        f.debug_struct(&format!("PanelFrame @ {self:p}"))
649            .field("parent_instance", &self.parent_instance)
650            .finish()
651    }
652}
653
654#[repr(C)]
655pub struct PanelFrameHeaderBar {
656    _data: [u8; 0],
657    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
658}
659
660impl ::std::fmt::Debug for PanelFrameHeaderBar {
661    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
662        f.debug_struct(&format!("PanelFrameHeaderBar @ {self:p}"))
663            .finish()
664    }
665}
666
667#[repr(C)]
668pub struct PanelFrameSwitcher {
669    _data: [u8; 0],
670    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
671}
672
673impl ::std::fmt::Debug for PanelFrameSwitcher {
674    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
675        f.debug_struct(&format!("PanelFrameSwitcher @ {self:p}"))
676            .finish()
677    }
678}
679
680#[repr(C)]
681pub struct PanelFrameTabBar {
682    _data: [u8; 0],
683    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
684}
685
686impl ::std::fmt::Debug for PanelFrameTabBar {
687    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
688        f.debug_struct(&format!("PanelFrameTabBar @ {self:p}"))
689            .finish()
690    }
691}
692
693#[repr(C)]
694pub struct PanelGSettingsActionGroup {
695    _data: [u8; 0],
696    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
697}
698
699impl ::std::fmt::Debug for PanelGSettingsActionGroup {
700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
701        f.debug_struct(&format!("PanelGSettingsActionGroup @ {self:p}"))
702            .finish()
703    }
704}
705
706#[derive(Copy, Clone)]
707#[repr(C)]
708pub struct PanelGrid {
709    pub parent_instance: gtk::GtkWidget,
710}
711
712impl ::std::fmt::Debug for PanelGrid {
713    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
714        f.debug_struct(&format!("PanelGrid @ {self:p}"))
715            .field("parent_instance", &self.parent_instance)
716            .finish()
717    }
718}
719
720#[repr(C)]
721pub struct PanelGridColumn {
722    _data: [u8; 0],
723    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
724}
725
726impl ::std::fmt::Debug for PanelGridColumn {
727    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
728        f.debug_struct(&format!("PanelGridColumn @ {self:p}"))
729            .finish()
730    }
731}
732
733#[repr(C)]
734pub struct PanelInhibitor {
735    _data: [u8; 0],
736    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
737}
738
739impl ::std::fmt::Debug for PanelInhibitor {
740    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
741        f.debug_struct(&format!("PanelInhibitor @ {self:p}"))
742            .finish()
743    }
744}
745
746#[repr(C)]
747pub struct PanelLayeredSettings {
748    _data: [u8; 0],
749    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
750}
751
752impl ::std::fmt::Debug for PanelLayeredSettings {
753    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
754        f.debug_struct(&format!("PanelLayeredSettings @ {self:p}"))
755            .finish()
756    }
757}
758
759#[repr(C)]
760pub struct PanelMenuManager {
761    _data: [u8; 0],
762    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
763}
764
765impl ::std::fmt::Debug for PanelMenuManager {
766    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
767        f.debug_struct(&format!("PanelMenuManager @ {self:p}"))
768            .finish()
769    }
770}
771
772#[derive(Copy, Clone)]
773#[repr(C)]
774pub struct PanelOmniBar {
775    pub parent_instance: gtk::GtkWidget,
776}
777
778impl ::std::fmt::Debug for PanelOmniBar {
779    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
780        f.debug_struct(&format!("PanelOmniBar @ {self:p}"))
781            .field("parent_instance", &self.parent_instance)
782            .finish()
783    }
784}
785
786#[repr(C)]
787pub struct PanelPaned {
788    _data: [u8; 0],
789    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
790}
791
792impl ::std::fmt::Debug for PanelPaned {
793    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
794        f.debug_struct(&format!("PanelPaned @ {self:p}")).finish()
795    }
796}
797
798#[repr(C)]
799pub struct PanelPosition {
800    _data: [u8; 0],
801    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
802}
803
804impl ::std::fmt::Debug for PanelPosition {
805    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
806        f.debug_struct(&format!("PanelPosition @ {self:p}"))
807            .finish()
808    }
809}
810
811#[derive(Copy, Clone)]
812#[repr(C)]
813pub struct PanelSaveDelegate {
814    pub parent_instance: gobject::GObject,
815}
816
817impl ::std::fmt::Debug for PanelSaveDelegate {
818    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
819        f.debug_struct(&format!("PanelSaveDelegate @ {self:p}"))
820            .field("parent_instance", &self.parent_instance)
821            .finish()
822    }
823}
824
825#[repr(C)]
826pub struct PanelSaveDialog {
827    _data: [u8; 0],
828    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
829}
830
831impl ::std::fmt::Debug for PanelSaveDialog {
832    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
833        f.debug_struct(&format!("PanelSaveDialog @ {self:p}"))
834            .finish()
835    }
836}
837
838#[repr(C)]
839pub struct PanelSession {
840    _data: [u8; 0],
841    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
842}
843
844impl ::std::fmt::Debug for PanelSession {
845    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
846        f.debug_struct(&format!("PanelSession @ {self:p}")).finish()
847    }
848}
849
850#[repr(C)]
851pub struct PanelSessionItem {
852    _data: [u8; 0],
853    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
854}
855
856impl ::std::fmt::Debug for PanelSessionItem {
857    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
858        f.debug_struct(&format!("PanelSessionItem @ {self:p}"))
859            .finish()
860    }
861}
862
863#[repr(C)]
864pub struct PanelSettings {
865    _data: [u8; 0],
866    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
867}
868
869impl ::std::fmt::Debug for PanelSettings {
870    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
871        f.debug_struct(&format!("PanelSettings @ {self:p}"))
872            .finish()
873    }
874}
875
876#[repr(C)]
877pub struct PanelStatusbar {
878    _data: [u8; 0],
879    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
880}
881
882impl ::std::fmt::Debug for PanelStatusbar {
883    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
884        f.debug_struct(&format!("PanelStatusbar @ {self:p}"))
885            .finish()
886    }
887}
888
889#[repr(C)]
890pub struct PanelThemeSelector {
891    _data: [u8; 0],
892    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
893}
894
895impl ::std::fmt::Debug for PanelThemeSelector {
896    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
897        f.debug_struct(&format!("PanelThemeSelector @ {self:p}"))
898            .finish()
899    }
900}
901
902#[repr(C)]
903pub struct PanelToggleButton {
904    _data: [u8; 0],
905    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
906}
907
908impl ::std::fmt::Debug for PanelToggleButton {
909    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
910        f.debug_struct(&format!("PanelToggleButton @ {self:p}"))
911            .finish()
912    }
913}
914
915#[derive(Copy, Clone)]
916#[repr(C)]
917pub struct PanelWidget {
918    pub parent_instance: gtk::GtkWidget,
919}
920
921impl ::std::fmt::Debug for PanelWidget {
922    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
923        f.debug_struct(&format!("PanelWidget @ {self:p}"))
924            .field("parent_instance", &self.parent_instance)
925            .finish()
926    }
927}
928
929#[derive(Copy, Clone)]
930#[repr(C)]
931pub struct PanelWorkbench {
932    pub parent_instance: gtk::GtkWindowGroup,
933}
934
935impl ::std::fmt::Debug for PanelWorkbench {
936    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
937        f.debug_struct(&format!("PanelWorkbench @ {self:p}"))
938            .field("parent_instance", &self.parent_instance)
939            .finish()
940    }
941}
942
943#[derive(Copy, Clone)]
944#[repr(C)]
945pub struct PanelWorkspace {
946    pub parent_instance: adw::AdwApplicationWindow,
947}
948
949impl ::std::fmt::Debug for PanelWorkspace {
950    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
951        f.debug_struct(&format!("PanelWorkspace @ {self:p}"))
952            .field("parent_instance", &self.parent_instance)
953            .finish()
954    }
955}
956
957// Interfaces
958#[repr(C)]
959pub struct PanelFrameHeader {
960    _data: [u8; 0],
961    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
962}
963
964impl ::std::fmt::Debug for PanelFrameHeader {
965    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
966        write!(f, "PanelFrameHeader @ {self:p}")
967    }
968}
969
970#[link(name = "panel-1")]
971extern "C" {
972
973    //=========================================================================
974    // PanelArea
975    //=========================================================================
976    pub fn panel_area_get_type() -> GType;
977
978    //=========================================================================
979    // PanelWidgetClass
980    //=========================================================================
981    pub fn panel_widget_class_install_action(
982        widget_class: *mut PanelWidgetClass,
983        action_name: *const c_char,
984        parameter_type: *const c_char,
985        activate: gtk::GtkWidgetActionActivateFunc,
986    );
987    pub fn panel_widget_class_install_property_action(
988        widget_class: *mut PanelWidgetClass,
989        action_name: *const c_char,
990        property_name: *const c_char,
991    );
992
993    //=========================================================================
994    // PanelWorkbenchClass
995    //=========================================================================
996    pub fn panel_workbench_class_install_action(
997        workbench_class: *mut PanelWorkbenchClass,
998        action_name: *const c_char,
999        parameter_type: *const c_char,
1000        activate: PanelActionActivateFunc,
1001    );
1002    #[cfg(feature = "v1_4")]
1003    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1004    pub fn panel_workbench_class_install_property_action(
1005        workbench_class: *mut PanelWorkbenchClass,
1006        action_name: *const c_char,
1007        property_name: *const c_char,
1008    );
1009
1010    //=========================================================================
1011    // PanelWorkspaceClass
1012    //=========================================================================
1013    pub fn panel_workspace_class_install_action(
1014        workspace_class: *mut PanelWorkspaceClass,
1015        action_name: *const c_char,
1016        parameter_type: *const c_char,
1017        activate: PanelActionActivateFunc,
1018    );
1019    #[cfg(feature = "v1_4")]
1020    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1021    pub fn panel_workspace_class_install_property_action(
1022        workspace_class: *mut PanelWorkspaceClass,
1023        action_name: *const c_char,
1024        property_name: *const c_char,
1025    );
1026
1027    //=========================================================================
1028    // PanelActionMuxer
1029    //=========================================================================
1030    pub fn panel_action_muxer_get_type() -> GType;
1031    pub fn panel_action_muxer_new() -> *mut PanelActionMuxer;
1032    pub fn panel_action_muxer_get_action_group(
1033        self_: *mut PanelActionMuxer,
1034        prefix: *const c_char,
1035    ) -> *mut gio::GActionGroup;
1036    pub fn panel_action_muxer_insert_action_group(
1037        self_: *mut PanelActionMuxer,
1038        prefix: *const c_char,
1039        action_group: *mut gio::GActionGroup,
1040    );
1041    pub fn panel_action_muxer_list_groups(self_: *mut PanelActionMuxer) -> *mut *mut c_char;
1042    pub fn panel_action_muxer_remove_action_group(
1043        self_: *mut PanelActionMuxer,
1044        prefix: *const c_char,
1045    );
1046    pub fn panel_action_muxer_remove_all(self_: *mut PanelActionMuxer);
1047
1048    //=========================================================================
1049    // PanelApplication
1050    //=========================================================================
1051    pub fn panel_application_get_type() -> GType;
1052    pub fn panel_application_new(
1053        application_id: *const c_char,
1054        flags: gio::GApplicationFlags,
1055    ) -> *mut PanelApplication;
1056
1057    //=========================================================================
1058    // PanelChangesDialog
1059    //=========================================================================
1060    #[cfg(feature = "v1_8")]
1061    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1062    pub fn panel_changes_dialog_get_type() -> GType;
1063    #[cfg(feature = "v1_8")]
1064    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1065    pub fn panel_changes_dialog_new() -> *mut gtk::GtkWidget;
1066    #[cfg(feature = "v1_8")]
1067    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1068    pub fn panel_changes_dialog_add_delegate(
1069        self_: *mut PanelChangesDialog,
1070        delegate: *mut PanelSaveDelegate,
1071    );
1072    #[cfg(feature = "v1_8")]
1073    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1074    pub fn panel_changes_dialog_get_close_after_save(self_: *mut PanelChangesDialog) -> gboolean;
1075    #[cfg(feature = "v1_8")]
1076    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1077    pub fn panel_changes_dialog_run_async(
1078        self_: *mut PanelChangesDialog,
1079        parent: *mut gtk::GtkWidget,
1080        cancellable: *mut gio::GCancellable,
1081        callback: gio::GAsyncReadyCallback,
1082        user_data: gpointer,
1083    );
1084    #[cfg(feature = "v1_8")]
1085    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1086    pub fn panel_changes_dialog_run_finish(
1087        self_: *mut PanelChangesDialog,
1088        result: *mut gio::GAsyncResult,
1089        error: *mut *mut glib::GError,
1090    ) -> gboolean;
1091    #[cfg(feature = "v1_8")]
1092    #[cfg_attr(docsrs, doc(cfg(feature = "v1_8")))]
1093    pub fn panel_changes_dialog_set_close_after_save(
1094        self_: *mut PanelChangesDialog,
1095        close_after_save: gboolean,
1096    );
1097
1098    //=========================================================================
1099    // PanelDock
1100    //=========================================================================
1101    pub fn panel_dock_get_type() -> GType;
1102    pub fn panel_dock_new() -> *mut gtk::GtkWidget;
1103    pub fn panel_dock_foreach_frame(
1104        self_: *mut PanelDock,
1105        callback: PanelFrameCallback,
1106        user_data: gpointer,
1107    );
1108    pub fn panel_dock_get_can_reveal_area(self_: *mut PanelDock, area: PanelArea) -> gboolean;
1109    pub fn panel_dock_get_can_reveal_bottom(self_: *mut PanelDock) -> gboolean;
1110    pub fn panel_dock_get_can_reveal_end(self_: *mut PanelDock) -> gboolean;
1111    pub fn panel_dock_get_can_reveal_start(self_: *mut PanelDock) -> gboolean;
1112    pub fn panel_dock_get_can_reveal_top(self_: *mut PanelDock) -> gboolean;
1113    pub fn panel_dock_get_reveal_area(self_: *mut PanelDock, area: PanelArea) -> gboolean;
1114    pub fn panel_dock_get_reveal_bottom(self_: *mut PanelDock) -> gboolean;
1115    pub fn panel_dock_get_reveal_end(self_: *mut PanelDock) -> gboolean;
1116    pub fn panel_dock_get_reveal_start(self_: *mut PanelDock) -> gboolean;
1117    pub fn panel_dock_get_reveal_top(self_: *mut PanelDock) -> gboolean;
1118    pub fn panel_dock_remove(self_: *mut PanelDock, widget: *mut gtk::GtkWidget);
1119    pub fn panel_dock_set_bottom_height(self_: *mut PanelDock, height: c_int);
1120    pub fn panel_dock_set_end_width(self_: *mut PanelDock, width: c_int);
1121    pub fn panel_dock_set_reveal_area(self_: *mut PanelDock, area: PanelArea, reveal: gboolean);
1122    pub fn panel_dock_set_reveal_bottom(self_: *mut PanelDock, reveal_bottom: gboolean);
1123    pub fn panel_dock_set_reveal_end(self_: *mut PanelDock, reveal_end: gboolean);
1124    pub fn panel_dock_set_reveal_start(self_: *mut PanelDock, reveal_start: gboolean);
1125    pub fn panel_dock_set_reveal_top(self_: *mut PanelDock, reveal_top: gboolean);
1126    pub fn panel_dock_set_start_width(self_: *mut PanelDock, width: c_int);
1127    pub fn panel_dock_set_top_height(self_: *mut PanelDock, height: c_int);
1128
1129    //=========================================================================
1130    // PanelDocumentWorkspace
1131    //=========================================================================
1132    pub fn panel_document_workspace_get_type() -> GType;
1133    #[cfg(feature = "v1_4")]
1134    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1135    pub fn panel_document_workspace_new() -> *mut PanelDocumentWorkspace;
1136    #[cfg(feature = "v1_4")]
1137    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1138    pub fn panel_document_workspace_add_widget(
1139        self_: *mut PanelDocumentWorkspace,
1140        widget: *mut PanelWidget,
1141        position: *mut PanelPosition,
1142    ) -> gboolean;
1143    #[cfg(feature = "v1_4")]
1144    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1145    pub fn panel_document_workspace_get_dock(self_: *mut PanelDocumentWorkspace) -> *mut PanelDock;
1146    #[cfg(feature = "v1_4")]
1147    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1148    pub fn panel_document_workspace_get_grid(self_: *mut PanelDocumentWorkspace) -> *mut PanelGrid;
1149    #[cfg(feature = "v1_4")]
1150    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1151    pub fn panel_document_workspace_get_statusbar(
1152        self_: *mut PanelDocumentWorkspace,
1153    ) -> *mut PanelStatusbar;
1154    #[cfg(feature = "v1_4")]
1155    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1156    pub fn panel_document_workspace_get_titlebar(
1157        self_: *mut PanelDocumentWorkspace,
1158    ) -> *mut gtk::GtkWidget;
1159    pub fn panel_document_workspace_set_titlebar(
1160        self_: *mut PanelDocumentWorkspace,
1161        titlebar: *mut gtk::GtkWidget,
1162    );
1163
1164    //=========================================================================
1165    // PanelFrame
1166    //=========================================================================
1167    pub fn panel_frame_get_type() -> GType;
1168    pub fn panel_frame_new() -> *mut gtk::GtkWidget;
1169    pub fn panel_frame_add(self_: *mut PanelFrame, panel: *mut PanelWidget);
1170    pub fn panel_frame_add_before(
1171        self_: *mut PanelFrame,
1172        panel: *mut PanelWidget,
1173        sibling: *mut PanelWidget,
1174    );
1175    pub fn panel_frame_get_closeable(self_: *mut PanelFrame) -> gboolean;
1176    pub fn panel_frame_get_empty(self_: *mut PanelFrame) -> gboolean;
1177    pub fn panel_frame_get_header(self_: *mut PanelFrame) -> *mut PanelFrameHeader;
1178    pub fn panel_frame_get_n_pages(self_: *mut PanelFrame) -> c_uint;
1179    pub fn panel_frame_get_page(self_: *mut PanelFrame, n: c_uint) -> *mut PanelWidget;
1180    pub fn panel_frame_get_pages(self_: *mut PanelFrame) -> *mut gtk::GtkSelectionModel;
1181    pub fn panel_frame_get_placeholder(self_: *mut PanelFrame) -> *mut gtk::GtkWidget;
1182    pub fn panel_frame_get_position(self_: *mut PanelFrame) -> *mut PanelPosition;
1183    pub fn panel_frame_get_requested_size(self_: *mut PanelFrame) -> c_int;
1184    pub fn panel_frame_get_visible_child(self_: *mut PanelFrame) -> *mut PanelWidget;
1185    pub fn panel_frame_remove(self_: *mut PanelFrame, panel: *mut PanelWidget);
1186    #[cfg(feature = "v1_2")]
1187    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
1188    pub fn panel_frame_set_child_pinned(
1189        self_: *mut PanelFrame,
1190        child: *mut PanelWidget,
1191        pinned: gboolean,
1192    );
1193    pub fn panel_frame_set_header(self_: *mut PanelFrame, header: *mut PanelFrameHeader);
1194    pub fn panel_frame_set_placeholder(self_: *mut PanelFrame, placeholder: *mut gtk::GtkWidget);
1195    pub fn panel_frame_set_requested_size(self_: *mut PanelFrame, requested_size: c_int);
1196    pub fn panel_frame_set_visible_child(self_: *mut PanelFrame, widget: *mut PanelWidget);
1197
1198    //=========================================================================
1199    // PanelFrameHeaderBar
1200    //=========================================================================
1201    pub fn panel_frame_header_bar_get_type() -> GType;
1202    pub fn panel_frame_header_bar_new() -> *mut gtk::GtkWidget;
1203    pub fn panel_frame_header_bar_get_menu_popover(
1204        self_: *mut PanelFrameHeaderBar,
1205    ) -> *mut gtk::GtkPopoverMenu;
1206    pub fn panel_frame_header_bar_get_show_icon(self_: *mut PanelFrameHeaderBar) -> gboolean;
1207    pub fn panel_frame_header_bar_set_show_icon(
1208        self_: *mut PanelFrameHeaderBar,
1209        show_icon: gboolean,
1210    );
1211
1212    //=========================================================================
1213    // PanelFrameSwitcher
1214    //=========================================================================
1215    pub fn panel_frame_switcher_get_type() -> GType;
1216    pub fn panel_frame_switcher_new() -> *mut gtk::GtkWidget;
1217
1218    //=========================================================================
1219    // PanelFrameTabBar
1220    //=========================================================================
1221    pub fn panel_frame_tab_bar_get_type() -> GType;
1222    pub fn panel_frame_tab_bar_new() -> *mut gtk::GtkWidget;
1223    pub fn panel_frame_tab_bar_get_autohide(self_: *mut PanelFrameTabBar) -> gboolean;
1224    pub fn panel_frame_tab_bar_get_expand_tabs(self_: *mut PanelFrameTabBar) -> gboolean;
1225    pub fn panel_frame_tab_bar_get_inverted(self_: *mut PanelFrameTabBar) -> gboolean;
1226    pub fn panel_frame_tab_bar_set_autohide(self_: *mut PanelFrameTabBar, autohide: gboolean);
1227    pub fn panel_frame_tab_bar_set_expand_tabs(self_: *mut PanelFrameTabBar, expand_tabs: gboolean);
1228    pub fn panel_frame_tab_bar_set_inverted(self_: *mut PanelFrameTabBar, inverted: gboolean);
1229
1230    //=========================================================================
1231    // PanelGSettingsActionGroup
1232    //=========================================================================
1233    pub fn panel_gsettings_action_group_get_type() -> GType;
1234    pub fn panel_gsettings_action_group_new(
1235        settings: *mut gio::GSettings,
1236    ) -> *mut gio::GActionGroup;
1237
1238    //=========================================================================
1239    // PanelGrid
1240    //=========================================================================
1241    pub fn panel_grid_get_type() -> GType;
1242    pub fn panel_grid_new() -> *mut gtk::GtkWidget;
1243    pub fn panel_grid_add(self_: *mut PanelGrid, widget: *mut PanelWidget);
1244    pub fn panel_grid_agree_to_close_async(
1245        self_: *mut PanelGrid,
1246        cancellable: *mut gio::GCancellable,
1247        callback: gio::GAsyncReadyCallback,
1248        user_data: gpointer,
1249    );
1250    pub fn panel_grid_agree_to_close_finish(
1251        self_: *mut PanelGrid,
1252        result: *mut gio::GAsyncResult,
1253        error: *mut *mut glib::GError,
1254    ) -> gboolean;
1255    pub fn panel_grid_foreach_frame(
1256        self_: *mut PanelGrid,
1257        callback: PanelFrameCallback,
1258        user_data: gpointer,
1259    );
1260    pub fn panel_grid_get_column(self_: *mut PanelGrid, column: c_uint) -> *mut PanelGridColumn;
1261    pub fn panel_grid_get_most_recent_column(self_: *mut PanelGrid) -> *mut PanelGridColumn;
1262    pub fn panel_grid_get_most_recent_frame(self_: *mut PanelGrid) -> *mut PanelFrame;
1263    pub fn panel_grid_get_n_columns(self_: *mut PanelGrid) -> c_uint;
1264    pub fn panel_grid_insert_column(self_: *mut PanelGrid, position: c_uint);
1265
1266    //=========================================================================
1267    // PanelGridColumn
1268    //=========================================================================
1269    pub fn panel_grid_column_get_type() -> GType;
1270    pub fn panel_grid_column_new() -> *mut gtk::GtkWidget;
1271    pub fn panel_grid_column_foreach_frame(
1272        self_: *mut PanelGridColumn,
1273        callback: PanelFrameCallback,
1274        user_data: gpointer,
1275    );
1276    pub fn panel_grid_column_get_empty(self_: *mut PanelGridColumn) -> gboolean;
1277    pub fn panel_grid_column_get_most_recent_frame(self_: *mut PanelGridColumn) -> *mut PanelFrame;
1278    pub fn panel_grid_column_get_n_rows(self_: *mut PanelGridColumn) -> c_uint;
1279    pub fn panel_grid_column_get_row(self_: *mut PanelGridColumn, row: c_uint) -> *mut PanelFrame;
1280
1281    //=========================================================================
1282    // PanelInhibitor
1283    //=========================================================================
1284    pub fn panel_inhibitor_get_type() -> GType;
1285    pub fn panel_inhibitor_uninhibit(self_: *mut PanelInhibitor);
1286
1287    //=========================================================================
1288    // PanelLayeredSettings
1289    //=========================================================================
1290    pub fn panel_layered_settings_get_type() -> GType;
1291    pub fn panel_layered_settings_new(
1292        schema_id: *const c_char,
1293        path: *const c_char,
1294    ) -> *mut PanelLayeredSettings;
1295    pub fn panel_layered_settings_append(
1296        self_: *mut PanelLayeredSettings,
1297        settings: *mut gio::GSettings,
1298    );
1299    pub fn panel_layered_settings_bind(
1300        self_: *mut PanelLayeredSettings,
1301        key: *const c_char,
1302        object: gpointer,
1303        property: *const c_char,
1304        flags: gio::GSettingsBindFlags,
1305    );
1306    pub fn panel_layered_settings_bind_with_mapping(
1307        self_: *mut PanelLayeredSettings,
1308        key: *const c_char,
1309        object: gpointer,
1310        property: *const c_char,
1311        flags: gio::GSettingsBindFlags,
1312        get_mapping: gio::GSettingsBindGetMapping,
1313        set_mapping: gio::GSettingsBindSetMapping,
1314        user_data: gpointer,
1315        destroy: glib::GDestroyNotify,
1316    );
1317    pub fn panel_layered_settings_get_boolean(
1318        self_: *mut PanelLayeredSettings,
1319        key: *const c_char,
1320    ) -> gboolean;
1321    pub fn panel_layered_settings_get_default_value(
1322        self_: *mut PanelLayeredSettings,
1323        key: *const c_char,
1324    ) -> *mut glib::GVariant;
1325    pub fn panel_layered_settings_get_double(
1326        self_: *mut PanelLayeredSettings,
1327        key: *const c_char,
1328    ) -> c_double;
1329    pub fn panel_layered_settings_get_int(
1330        self_: *mut PanelLayeredSettings,
1331        key: *const c_char,
1332    ) -> c_int;
1333    pub fn panel_layered_settings_get_key(
1334        self_: *mut PanelLayeredSettings,
1335        key: *const c_char,
1336    ) -> *mut gio::GSettingsSchemaKey;
1337    pub fn panel_layered_settings_get_string(
1338        self_: *mut PanelLayeredSettings,
1339        key: *const c_char,
1340    ) -> *mut c_char;
1341    pub fn panel_layered_settings_get_uint(
1342        self_: *mut PanelLayeredSettings,
1343        key: *const c_char,
1344    ) -> c_uint;
1345    pub fn panel_layered_settings_get_user_value(
1346        self_: *mut PanelLayeredSettings,
1347        key: *const c_char,
1348    ) -> *mut glib::GVariant;
1349    pub fn panel_layered_settings_get_value(
1350        self_: *mut PanelLayeredSettings,
1351        key: *const c_char,
1352    ) -> *mut glib::GVariant;
1353    pub fn panel_layered_settings_list_keys(self_: *mut PanelLayeredSettings) -> *mut *mut c_char;
1354    pub fn panel_layered_settings_set_boolean(
1355        self_: *mut PanelLayeredSettings,
1356        key: *const c_char,
1357        val: gboolean,
1358    );
1359    pub fn panel_layered_settings_set_double(
1360        self_: *mut PanelLayeredSettings,
1361        key: *const c_char,
1362        val: c_double,
1363    );
1364    pub fn panel_layered_settings_set_int(
1365        self_: *mut PanelLayeredSettings,
1366        key: *const c_char,
1367        val: c_int,
1368    );
1369    pub fn panel_layered_settings_set_string(
1370        self_: *mut PanelLayeredSettings,
1371        key: *const c_char,
1372        val: *const c_char,
1373    );
1374    pub fn panel_layered_settings_set_uint(
1375        self_: *mut PanelLayeredSettings,
1376        key: *const c_char,
1377        val: c_uint,
1378    );
1379    pub fn panel_layered_settings_set_value(
1380        self_: *mut PanelLayeredSettings,
1381        key: *const c_char,
1382        value: *mut glib::GVariant,
1383    );
1384    pub fn panel_layered_settings_unbind(self_: *mut PanelLayeredSettings, property: *const c_char);
1385
1386    //=========================================================================
1387    // PanelMenuManager
1388    //=========================================================================
1389    pub fn panel_menu_manager_get_type() -> GType;
1390    pub fn panel_menu_manager_new() -> *mut PanelMenuManager;
1391    pub fn panel_menu_manager_add_filename(
1392        self_: *mut PanelMenuManager,
1393        filename: *const c_char,
1394        error: *mut *mut glib::GError,
1395    ) -> c_uint;
1396    #[cfg(feature = "v1_4")]
1397    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1398    pub fn panel_menu_manager_add_resource(
1399        self_: *mut PanelMenuManager,
1400        resource: *const c_char,
1401        error: *mut *mut glib::GError,
1402    ) -> c_uint;
1403    #[cfg(feature = "v1_4")]
1404    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1405    pub fn panel_menu_manager_find_item_by_id(
1406        self_: *mut PanelMenuManager,
1407        id: *const c_char,
1408        position: *mut c_uint,
1409    ) -> *mut gio::GMenu;
1410    #[cfg(feature = "v1_4")]
1411    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1412    pub fn panel_menu_manager_get_menu_by_id(
1413        self_: *mut PanelMenuManager,
1414        menu_id: *const c_char,
1415    ) -> *mut gio::GMenu;
1416    #[cfg(feature = "v1_4")]
1417    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1418    pub fn panel_menu_manager_get_menu_ids(self_: *mut PanelMenuManager) -> *const *const c_char;
1419    #[cfg(feature = "v1_4")]
1420    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1421    pub fn panel_menu_manager_merge(
1422        self_: *mut PanelMenuManager,
1423        menu_id: *const c_char,
1424        menu_model: *mut gio::GMenuModel,
1425    ) -> c_uint;
1426    #[cfg(feature = "v1_4")]
1427    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1428    pub fn panel_menu_manager_remove(self_: *mut PanelMenuManager, merge_id: c_uint);
1429    #[cfg(feature = "v1_4")]
1430    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1431    pub fn panel_menu_manager_set_attribute_string(
1432        self_: *mut PanelMenuManager,
1433        menu: *mut gio::GMenu,
1434        position: c_uint,
1435        attribute: *const c_char,
1436        value: *const c_char,
1437    );
1438
1439    //=========================================================================
1440    // PanelOmniBar
1441    //=========================================================================
1442    pub fn panel_omni_bar_get_type() -> GType;
1443    pub fn panel_omni_bar_new() -> *mut gtk::GtkWidget;
1444    pub fn panel_omni_bar_add_prefix(
1445        self_: *mut PanelOmniBar,
1446        priority: c_int,
1447        widget: *mut gtk::GtkWidget,
1448    );
1449    pub fn panel_omni_bar_add_suffix(
1450        self_: *mut PanelOmniBar,
1451        priority: c_int,
1452        widget: *mut gtk::GtkWidget,
1453    );
1454    pub fn panel_omni_bar_get_popover(self_: *mut PanelOmniBar) -> *mut gtk::GtkPopover;
1455    pub fn panel_omni_bar_get_progress(self_: *mut PanelOmniBar) -> c_double;
1456    pub fn panel_omni_bar_remove(self_: *mut PanelOmniBar, widget: *mut gtk::GtkWidget);
1457    pub fn panel_omni_bar_set_popover(self_: *mut PanelOmniBar, popover: *mut gtk::GtkPopover);
1458    pub fn panel_omni_bar_set_progress(self_: *mut PanelOmniBar, progress: c_double);
1459    pub fn panel_omni_bar_start_pulsing(self_: *mut PanelOmniBar);
1460    pub fn panel_omni_bar_stop_pulsing(self_: *mut PanelOmniBar);
1461
1462    //=========================================================================
1463    // PanelPaned
1464    //=========================================================================
1465    pub fn panel_paned_get_type() -> GType;
1466    pub fn panel_paned_new() -> *mut gtk::GtkWidget;
1467    pub fn panel_paned_append(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1468    pub fn panel_paned_get_n_children(self_: *mut PanelPaned) -> c_uint;
1469    pub fn panel_paned_get_nth_child(self_: *mut PanelPaned, nth: c_uint) -> *mut gtk::GtkWidget;
1470    pub fn panel_paned_insert(self_: *mut PanelPaned, position: c_int, child: *mut gtk::GtkWidget);
1471    pub fn panel_paned_insert_after(
1472        self_: *mut PanelPaned,
1473        child: *mut gtk::GtkWidget,
1474        sibling: *mut gtk::GtkWidget,
1475    );
1476    pub fn panel_paned_prepend(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1477    pub fn panel_paned_remove(self_: *mut PanelPaned, child: *mut gtk::GtkWidget);
1478
1479    //=========================================================================
1480    // PanelPosition
1481    //=========================================================================
1482    pub fn panel_position_get_type() -> GType;
1483    pub fn panel_position_new() -> *mut PanelPosition;
1484    pub fn panel_position_new_from_variant(variant: *mut glib::GVariant) -> *mut PanelPosition;
1485    pub fn panel_position_equal(a: *mut PanelPosition, b: *mut PanelPosition) -> gboolean;
1486    pub fn panel_position_get_area(self_: *mut PanelPosition) -> PanelArea;
1487    pub fn panel_position_get_area_set(self_: *mut PanelPosition) -> gboolean;
1488    pub fn panel_position_get_column(self_: *mut PanelPosition) -> c_uint;
1489    pub fn panel_position_get_column_set(self_: *mut PanelPosition) -> gboolean;
1490    pub fn panel_position_get_depth(self_: *mut PanelPosition) -> c_uint;
1491    pub fn panel_position_get_depth_set(self_: *mut PanelPosition) -> gboolean;
1492    pub fn panel_position_get_row(self_: *mut PanelPosition) -> c_uint;
1493    pub fn panel_position_get_row_set(self_: *mut PanelPosition) -> gboolean;
1494    pub fn panel_position_is_indeterminate(self_: *mut PanelPosition) -> gboolean;
1495    pub fn panel_position_set_area(self_: *mut PanelPosition, area: PanelArea);
1496    pub fn panel_position_set_area_set(self_: *mut PanelPosition, area_set: gboolean);
1497    pub fn panel_position_set_column(self_: *mut PanelPosition, column: c_uint);
1498    pub fn panel_position_set_column_set(self_: *mut PanelPosition, column_set: gboolean);
1499    pub fn panel_position_set_depth(self_: *mut PanelPosition, depth: c_uint);
1500    pub fn panel_position_set_depth_set(self_: *mut PanelPosition, depth_set: gboolean);
1501    pub fn panel_position_set_row(self_: *mut PanelPosition, row: c_uint);
1502    pub fn panel_position_set_row_set(self_: *mut PanelPosition, row_set: gboolean);
1503    pub fn panel_position_to_variant(self_: *mut PanelPosition) -> *mut glib::GVariant;
1504
1505    //=========================================================================
1506    // PanelSaveDelegate
1507    //=========================================================================
1508    pub fn panel_save_delegate_get_type() -> GType;
1509    pub fn panel_save_delegate_new() -> *mut PanelSaveDelegate;
1510    pub fn panel_save_delegate_close(self_: *mut PanelSaveDelegate);
1511    pub fn panel_save_delegate_discard(self_: *mut PanelSaveDelegate);
1512    pub fn panel_save_delegate_get_icon(self_: *mut PanelSaveDelegate) -> *mut gio::GIcon;
1513    pub fn panel_save_delegate_get_icon_name(self_: *mut PanelSaveDelegate) -> *const c_char;
1514    pub fn panel_save_delegate_get_is_draft(self_: *mut PanelSaveDelegate) -> gboolean;
1515    pub fn panel_save_delegate_get_progress(self_: *mut PanelSaveDelegate) -> c_double;
1516    pub fn panel_save_delegate_get_subtitle(self_: *mut PanelSaveDelegate) -> *const c_char;
1517    pub fn panel_save_delegate_get_title(self_: *mut PanelSaveDelegate) -> *const c_char;
1518    pub fn panel_save_delegate_save_async(
1519        self_: *mut PanelSaveDelegate,
1520        cancellable: *mut gio::GCancellable,
1521        callback: gio::GAsyncReadyCallback,
1522        user_data: gpointer,
1523    );
1524    pub fn panel_save_delegate_save_finish(
1525        self_: *mut PanelSaveDelegate,
1526        result: *mut gio::GAsyncResult,
1527        error: *mut *mut glib::GError,
1528    ) -> gboolean;
1529    pub fn panel_save_delegate_set_icon(self_: *mut PanelSaveDelegate, icon: *mut gio::GIcon);
1530    pub fn panel_save_delegate_set_icon_name(self_: *mut PanelSaveDelegate, icon: *const c_char);
1531    pub fn panel_save_delegate_set_is_draft(self_: *mut PanelSaveDelegate, is_draft: gboolean);
1532    pub fn panel_save_delegate_set_progress(self_: *mut PanelSaveDelegate, progress: c_double);
1533    pub fn panel_save_delegate_set_subtitle(self_: *mut PanelSaveDelegate, subtitle: *const c_char);
1534    pub fn panel_save_delegate_set_title(self_: *mut PanelSaveDelegate, title: *const c_char);
1535
1536    //=========================================================================
1537    // PanelSaveDialog
1538    //=========================================================================
1539    pub fn panel_save_dialog_get_type() -> GType;
1540    pub fn panel_save_dialog_new() -> *mut gtk::GtkWidget;
1541    pub fn panel_save_dialog_add_delegate(
1542        self_: *mut PanelSaveDialog,
1543        delegate: *mut PanelSaveDelegate,
1544    );
1545    pub fn panel_save_dialog_get_close_after_save(self_: *mut PanelSaveDialog) -> gboolean;
1546    pub fn panel_save_dialog_run_async(
1547        self_: *mut PanelSaveDialog,
1548        cancellable: *mut gio::GCancellable,
1549        callback: gio::GAsyncReadyCallback,
1550        user_data: gpointer,
1551    );
1552    pub fn panel_save_dialog_run_finish(
1553        self_: *mut PanelSaveDialog,
1554        result: *mut gio::GAsyncResult,
1555        error: *mut *mut glib::GError,
1556    ) -> gboolean;
1557    pub fn panel_save_dialog_set_close_after_save(
1558        self_: *mut PanelSaveDialog,
1559        close_after_save: gboolean,
1560    );
1561
1562    //=========================================================================
1563    // PanelSession
1564    //=========================================================================
1565    pub fn panel_session_get_type() -> GType;
1566    pub fn panel_session_new() -> *mut PanelSession;
1567    #[cfg(feature = "v1_4")]
1568    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1569    pub fn panel_session_new_from_variant(
1570        variant: *mut glib::GVariant,
1571        error: *mut *mut glib::GError,
1572    ) -> *mut PanelSession;
1573    pub fn panel_session_append(self_: *mut PanelSession, item: *mut PanelSessionItem);
1574    #[cfg(feature = "v1_4")]
1575    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1576    pub fn panel_session_get_item(
1577        self_: *mut PanelSession,
1578        position: c_uint,
1579    ) -> *mut PanelSessionItem;
1580    pub fn panel_session_get_n_items(self_: *mut PanelSession) -> c_uint;
1581    pub fn panel_session_insert(
1582        self_: *mut PanelSession,
1583        position: c_uint,
1584        item: *mut PanelSessionItem,
1585    );
1586    #[cfg(feature = "v1_4")]
1587    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1588    pub fn panel_session_lookup_by_id(
1589        self_: *mut PanelSession,
1590        id: *const c_char,
1591    ) -> *mut PanelSessionItem;
1592    pub fn panel_session_prepend(self_: *mut PanelSession, item: *mut PanelSessionItem);
1593    pub fn panel_session_remove(self_: *mut PanelSession, item: *mut PanelSessionItem);
1594    pub fn panel_session_remove_at(self_: *mut PanelSession, position: c_uint);
1595    pub fn panel_session_to_variant(self_: *mut PanelSession) -> *mut glib::GVariant;
1596
1597    //=========================================================================
1598    // PanelSessionItem
1599    //=========================================================================
1600    pub fn panel_session_item_get_type() -> GType;
1601    pub fn panel_session_item_new() -> *mut PanelSessionItem;
1602    pub fn panel_session_item_get_id(self_: *mut PanelSessionItem) -> *const c_char;
1603    pub fn panel_session_item_get_metadata(
1604        self_: *mut PanelSessionItem,
1605        key: *const c_char,
1606        format: *const c_char,
1607        ...
1608    ) -> gboolean;
1609    pub fn panel_session_item_get_metadata_value(
1610        self_: *mut PanelSessionItem,
1611        key: *const c_char,
1612        expected_type: *const glib::GVariantType,
1613    ) -> *mut glib::GVariant;
1614    pub fn panel_session_item_get_module_name(self_: *mut PanelSessionItem) -> *const c_char;
1615    pub fn panel_session_item_get_position(self_: *mut PanelSessionItem) -> *mut PanelPosition;
1616    pub fn panel_session_item_get_type_hint(self_: *mut PanelSessionItem) -> *const c_char;
1617    pub fn panel_session_item_get_workspace(self_: *mut PanelSessionItem) -> *const c_char;
1618    pub fn panel_session_item_has_metadata(
1619        self_: *mut PanelSessionItem,
1620        key: *const c_char,
1621        value_type: *mut *const glib::GVariantType,
1622    ) -> gboolean;
1623    pub fn panel_session_item_has_metadata_with_type(
1624        self_: *mut PanelSessionItem,
1625        key: *const c_char,
1626        expected_type: *const glib::GVariantType,
1627    ) -> gboolean;
1628    pub fn panel_session_item_set_id(self_: *mut PanelSessionItem, id: *const c_char);
1629    pub fn panel_session_item_set_metadata(
1630        self_: *mut PanelSessionItem,
1631        key: *const c_char,
1632        format: *const c_char,
1633        ...
1634    );
1635    pub fn panel_session_item_set_metadata_value(
1636        self_: *mut PanelSessionItem,
1637        key: *const c_char,
1638        value: *mut glib::GVariant,
1639    );
1640    pub fn panel_session_item_set_module_name(
1641        self_: *mut PanelSessionItem,
1642        module_name: *const c_char,
1643    );
1644    pub fn panel_session_item_set_position(
1645        self_: *mut PanelSessionItem,
1646        position: *mut PanelPosition,
1647    );
1648    pub fn panel_session_item_set_type_hint(self_: *mut PanelSessionItem, type_hint: *const c_char);
1649    pub fn panel_session_item_set_workspace(self_: *mut PanelSessionItem, workspace: *const c_char);
1650
1651    //=========================================================================
1652    // PanelSettings
1653    //=========================================================================
1654    pub fn panel_settings_get_type() -> GType;
1655    pub fn panel_settings_new(
1656        identifier: *const c_char,
1657        schema_id: *const c_char,
1658    ) -> *mut PanelSettings;
1659    pub fn panel_settings_new_relocatable(
1660        identifier: *const c_char,
1661        schema_id: *const c_char,
1662        schema_id_prefix: *const c_char,
1663        path_prefix: *const c_char,
1664        path_suffix: *const c_char,
1665    ) -> *mut PanelSettings;
1666    pub fn panel_settings_new_with_path(
1667        identifier: *const c_char,
1668        schema_id: *const c_char,
1669        path: *const c_char,
1670    ) -> *mut PanelSettings;
1671    pub fn panel_settings_resolve_schema_path(
1672        schema_id_prefix: *const c_char,
1673        schema_id: *const c_char,
1674        identifier: *const c_char,
1675        path_prefix: *const c_char,
1676        path_suffix: *const c_char,
1677    ) -> *mut c_char;
1678    pub fn panel_settings_bind(
1679        self_: *mut PanelSettings,
1680        key: *const c_char,
1681        object: gpointer,
1682        property: *const c_char,
1683        flags: gio::GSettingsBindFlags,
1684    );
1685    pub fn panel_settings_bind_with_mapping(
1686        self_: *mut PanelSettings,
1687        key: *const c_char,
1688        object: gpointer,
1689        property: *const c_char,
1690        flags: gio::GSettingsBindFlags,
1691        get_mapping: gio::GSettingsBindGetMapping,
1692        set_mapping: gio::GSettingsBindSetMapping,
1693        user_data: gpointer,
1694        destroy: glib::GDestroyNotify,
1695    );
1696    pub fn panel_settings_get_boolean(self_: *mut PanelSettings, key: *const c_char) -> gboolean;
1697    pub fn panel_settings_get_default_value(
1698        self_: *mut PanelSettings,
1699        key: *const c_char,
1700    ) -> *mut glib::GVariant;
1701    pub fn panel_settings_get_double(self_: *mut PanelSettings, key: *const c_char) -> c_double;
1702    pub fn panel_settings_get_int(self_: *mut PanelSettings, key: *const c_char) -> c_int;
1703    pub fn panel_settings_get_schema_id(self_: *mut PanelSettings) -> *const c_char;
1704    pub fn panel_settings_get_string(self_: *mut PanelSettings, key: *const c_char) -> *mut c_char;
1705    pub fn panel_settings_get_uint(self_: *mut PanelSettings, key: *const c_char) -> c_uint;
1706    pub fn panel_settings_get_user_value(
1707        self_: *mut PanelSettings,
1708        key: *const c_char,
1709    ) -> *mut glib::GVariant;
1710    pub fn panel_settings_get_value(
1711        self_: *mut PanelSettings,
1712        key: *const c_char,
1713    ) -> *mut glib::GVariant;
1714    pub fn panel_settings_set_boolean(self_: *mut PanelSettings, key: *const c_char, val: gboolean);
1715    pub fn panel_settings_set_double(self_: *mut PanelSettings, key: *const c_char, val: c_double);
1716    pub fn panel_settings_set_int(self_: *mut PanelSettings, key: *const c_char, val: c_int);
1717    pub fn panel_settings_set_string(
1718        self_: *mut PanelSettings,
1719        key: *const c_char,
1720        val: *const c_char,
1721    );
1722    pub fn panel_settings_set_uint(self_: *mut PanelSettings, key: *const c_char, val: c_uint);
1723    pub fn panel_settings_set_value(
1724        self_: *mut PanelSettings,
1725        key: *const c_char,
1726        value: *mut glib::GVariant,
1727    );
1728    pub fn panel_settings_unbind(self_: *mut PanelSettings, property: *const c_char);
1729
1730    //=========================================================================
1731    // PanelStatusbar
1732    //=========================================================================
1733    pub fn panel_statusbar_get_type() -> GType;
1734    pub fn panel_statusbar_new() -> *mut gtk::GtkWidget;
1735    pub fn panel_statusbar_add_prefix(
1736        self_: *mut PanelStatusbar,
1737        priority: c_int,
1738        widget: *mut gtk::GtkWidget,
1739    );
1740    pub fn panel_statusbar_add_suffix(
1741        self_: *mut PanelStatusbar,
1742        priority: c_int,
1743        widget: *mut gtk::GtkWidget,
1744    );
1745    pub fn panel_statusbar_remove(self_: *mut PanelStatusbar, widget: *mut gtk::GtkWidget);
1746
1747    //=========================================================================
1748    // PanelThemeSelector
1749    //=========================================================================
1750    pub fn panel_theme_selector_get_type() -> GType;
1751    pub fn panel_theme_selector_new() -> *mut gtk::GtkWidget;
1752    pub fn panel_theme_selector_get_action_name(self_: *mut PanelThemeSelector) -> *const c_char;
1753    pub fn panel_theme_selector_set_action_name(
1754        self_: *mut PanelThemeSelector,
1755        action_name: *const c_char,
1756    );
1757
1758    //=========================================================================
1759    // PanelToggleButton
1760    //=========================================================================
1761    pub fn panel_toggle_button_get_type() -> GType;
1762    pub fn panel_toggle_button_new(dock: *mut PanelDock, area: PanelArea) -> *mut gtk::GtkWidget;
1763
1764    //=========================================================================
1765    // PanelWidget
1766    //=========================================================================
1767    pub fn panel_widget_get_type() -> GType;
1768    pub fn panel_widget_new() -> *mut gtk::GtkWidget;
1769    pub fn panel_widget_action_set_enabled(
1770        widget: *mut PanelWidget,
1771        action_name: *const c_char,
1772        enabled: gboolean,
1773    );
1774    pub fn panel_widget_close(self_: *mut PanelWidget);
1775    pub fn panel_widget_focus_default(self_: *mut PanelWidget) -> gboolean;
1776    pub fn panel_widget_force_close(self_: *mut PanelWidget);
1777    pub fn panel_widget_get_busy(self_: *mut PanelWidget) -> gboolean;
1778    pub fn panel_widget_get_can_maximize(self_: *mut PanelWidget) -> gboolean;
1779    pub fn panel_widget_get_child(self_: *mut PanelWidget) -> *mut gtk::GtkWidget;
1780    pub fn panel_widget_get_default_focus(self_: *mut PanelWidget) -> *mut gtk::GtkWidget;
1781    pub fn panel_widget_get_icon(self_: *mut PanelWidget) -> *mut gio::GIcon;
1782    pub fn panel_widget_get_icon_name(self_: *mut PanelWidget) -> *const c_char;
1783    pub fn panel_widget_get_id(self_: *mut PanelWidget) -> *const c_char;
1784    pub fn panel_widget_get_kind(self_: *mut PanelWidget) -> *const c_char;
1785    pub fn panel_widget_get_menu_model(self_: *mut PanelWidget) -> *mut gio::GMenuModel;
1786    pub fn panel_widget_get_modified(self_: *mut PanelWidget) -> gboolean;
1787    pub fn panel_widget_get_needs_attention(self_: *mut PanelWidget) -> gboolean;
1788    pub fn panel_widget_get_position(self_: *mut PanelWidget) -> *mut PanelPosition;
1789    pub fn panel_widget_get_reorderable(self_: *mut PanelWidget) -> gboolean;
1790    pub fn panel_widget_get_save_delegate(self_: *mut PanelWidget) -> *mut PanelSaveDelegate;
1791    pub fn panel_widget_get_title(self_: *mut PanelWidget) -> *const c_char;
1792    pub fn panel_widget_get_tooltip(self_: *mut PanelWidget) -> *const c_char;
1793    pub fn panel_widget_insert_action_group(
1794        self_: *mut PanelWidget,
1795        prefix: *const c_char,
1796        group: *mut gio::GActionGroup,
1797    );
1798    pub fn panel_widget_mark_busy(self_: *mut PanelWidget);
1799    pub fn panel_widget_maximize(self_: *mut PanelWidget);
1800    pub fn panel_widget_raise(self_: *mut PanelWidget);
1801    pub fn panel_widget_set_can_maximize(self_: *mut PanelWidget, can_maximize: gboolean);
1802    pub fn panel_widget_set_child(self_: *mut PanelWidget, child: *mut gtk::GtkWidget);
1803    pub fn panel_widget_set_icon(self_: *mut PanelWidget, icon: *mut gio::GIcon);
1804    pub fn panel_widget_set_icon_name(self_: *mut PanelWidget, icon_name: *const c_char);
1805    pub fn panel_widget_set_id(self_: *mut PanelWidget, id: *const c_char);
1806    pub fn panel_widget_set_kind(self_: *mut PanelWidget, kind: *const c_char);
1807    pub fn panel_widget_set_menu_model(self_: *mut PanelWidget, menu_model: *mut gio::GMenuModel);
1808    pub fn panel_widget_set_modified(self_: *mut PanelWidget, modified: gboolean);
1809    pub fn panel_widget_set_needs_attention(self_: *mut PanelWidget, needs_attention: gboolean);
1810    pub fn panel_widget_set_reorderable(self_: *mut PanelWidget, reorderable: gboolean);
1811    pub fn panel_widget_set_save_delegate(
1812        self_: *mut PanelWidget,
1813        save_delegate: *mut PanelSaveDelegate,
1814    );
1815    pub fn panel_widget_set_title(self_: *mut PanelWidget, title: *const c_char);
1816    pub fn panel_widget_set_tooltip(self_: *mut PanelWidget, tooltip: *const c_char);
1817    pub fn panel_widget_unmark_busy(self_: *mut PanelWidget);
1818    pub fn panel_widget_unmaximize(self_: *mut PanelWidget);
1819
1820    //=========================================================================
1821    // PanelWorkbench
1822    //=========================================================================
1823    pub fn panel_workbench_get_type() -> GType;
1824    pub fn panel_workbench_new() -> *mut PanelWorkbench;
1825    #[cfg(feature = "v1_4")]
1826    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1827    pub fn panel_workbench_find_from_widget(widget: *mut gtk::GtkWidget) -> *mut PanelWorkbench;
1828    pub fn panel_workbench_action_set_enabled(
1829        self_: *mut PanelWorkbench,
1830        action_name: *const c_char,
1831        enabled: gboolean,
1832    );
1833    pub fn panel_workbench_activate(self_: *mut PanelWorkbench);
1834    pub fn panel_workbench_add_workspace(
1835        self_: *mut PanelWorkbench,
1836        workspace: *mut PanelWorkspace,
1837    );
1838    #[cfg(feature = "v1_4")]
1839    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1840    pub fn panel_workbench_find_workspace_typed(
1841        self_: *mut PanelWorkbench,
1842        workspace_type: GType,
1843    ) -> *mut PanelWorkspace;
1844    pub fn panel_workbench_focus_workspace(
1845        self_: *mut PanelWorkbench,
1846        workspace: *mut PanelWorkspace,
1847    );
1848    #[cfg(feature = "v1_4")]
1849    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1850    pub fn panel_workbench_foreach_workspace(
1851        self_: *mut PanelWorkbench,
1852        foreach_func: PanelWorkspaceForeach,
1853        foreach_func_data: gpointer,
1854    );
1855    pub fn panel_workbench_get_id(self_: *mut PanelWorkbench) -> *const c_char;
1856    pub fn panel_workbench_remove_workspace(
1857        self_: *mut PanelWorkbench,
1858        workspace: *mut PanelWorkspace,
1859    );
1860    pub fn panel_workbench_set_id(self_: *mut PanelWorkbench, id: *const c_char);
1861
1862    //=========================================================================
1863    // PanelWorkspace
1864    //=========================================================================
1865    pub fn panel_workspace_get_type() -> GType;
1866    #[cfg(feature = "v1_4")]
1867    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1868    pub fn panel_workspace_find_from_widget(widget: *mut gtk::GtkWidget) -> *mut PanelWorkspace;
1869    pub fn panel_workspace_action_set_enabled(
1870        self_: *mut PanelWorkspace,
1871        action_name: *const c_char,
1872        enabled: gboolean,
1873    );
1874    pub fn panel_workspace_get_id(self_: *mut PanelWorkspace) -> *const c_char;
1875    #[cfg(feature = "v1_4")]
1876    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1877    pub fn panel_workspace_get_workbench(self_: *mut PanelWorkspace) -> *mut PanelWorkbench;
1878    #[cfg(feature = "v1_4")]
1879    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
1880    pub fn panel_workspace_inhibit(
1881        self_: *mut PanelWorkspace,
1882        flags: gtk::GtkApplicationInhibitFlags,
1883        reason: *const c_char,
1884    ) -> *mut PanelInhibitor;
1885    pub fn panel_workspace_set_id(self_: *mut PanelWorkspace, id: *const c_char);
1886
1887    //=========================================================================
1888    // PanelFrameHeader
1889    //=========================================================================
1890    pub fn panel_frame_header_get_type() -> GType;
1891    pub fn panel_frame_header_add_prefix(
1892        self_: *mut PanelFrameHeader,
1893        priority: c_int,
1894        child: *mut gtk::GtkWidget,
1895    );
1896    pub fn panel_frame_header_add_suffix(
1897        self_: *mut PanelFrameHeader,
1898        priority: c_int,
1899        child: *mut gtk::GtkWidget,
1900    );
1901    pub fn panel_frame_header_can_drop(
1902        self_: *mut PanelFrameHeader,
1903        widget: *mut PanelWidget,
1904    ) -> gboolean;
1905    pub fn panel_frame_header_get_frame(self_: *mut PanelFrameHeader) -> *mut PanelFrame;
1906    pub fn panel_frame_header_page_changed(self_: *mut PanelFrameHeader, widget: *mut PanelWidget);
1907    pub fn panel_frame_header_set_frame(self_: *mut PanelFrameHeader, frame: *mut PanelFrame);
1908
1909    //=========================================================================
1910    // Other functions
1911    //=========================================================================
1912    pub fn panel_check_version(major: c_uint, minor: c_uint, micro: c_uint) -> gboolean;
1913    pub fn panel_finalize();
1914    pub fn panel_get_major_version() -> c_uint;
1915    pub fn panel_get_micro_version() -> c_uint;
1916    pub fn panel_get_minor_version() -> c_uint;
1917    pub fn panel_get_resource() -> *mut gio::GResource;
1918    pub fn panel_init();
1919    pub fn panel_marshal_BOOLEAN__OBJECT_OBJECT(
1920        closure: *mut gobject::GClosure,
1921        return_value: *mut gobject::GValue,
1922        n_param_values: c_uint,
1923        param_values: *const gobject::GValue,
1924        invocation_hint: gpointer,
1925        marshal_data: gpointer,
1926    );
1927    //pub fn panel_marshal_BOOLEAN__OBJECT_OBJECTv(closure: *mut gobject::GClosure, return_value: *mut gobject::GValue, instance: gpointer, args: /*Unimplemented*/va_list, marshal_data: gpointer, n_params: c_int, param_types: *mut GType);
1928    pub fn panel_marshal_OBJECT__OBJECT(
1929        closure: *mut gobject::GClosure,
1930        return_value: *mut gobject::GValue,
1931        n_param_values: c_uint,
1932        param_values: *const gobject::GValue,
1933        invocation_hint: gpointer,
1934        marshal_data: gpointer,
1935    );
1936    //pub fn panel_marshal_OBJECT__OBJECTv(closure: *mut gobject::GClosure, return_value: *mut gobject::GValue, instance: gpointer, args: /*Unimplemented*/va_list, marshal_data: gpointer, n_params: c_int, param_types: *mut GType);
1937
1938}