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 #ifndef HEADERBAR_H
30 #define HEADERBAR_H
31
32 #include "toolkit.h"
33 #include "../ui/toolbar.h"
34 #include "../common/toolbar.h"
35 #include <cx/list.h>
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 #if GTK_CHECK_VERSION(
3,
10,
0)
42
43 #ifdef UI_LIBADWAITA
44 #define UI_HEADERBAR AdwHeaderBar*
45 #define UI_HEADERBAR_CAST(h)
ADW_HEADER_BAR(h)
46 #define UI_HEADERBAR_PACK_START(h, w) adw_header_bar_pack_start(
ADW_HEADER_BAR(h), w)
47 #define UI_HEADERBAR_PACK_END(h, w) adw_header_bar_pack_end(
ADW_HEADER_BAR(h), w)
48 #define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) adw_header_bar_set_title_widget(
ADW_HEADER_BAR(h), w)
49 #define UI_HEADERBAR_SHOW_TITLE_WIDGET(h, b) adw_header_bar_set_show_title(
ADW_HEADER_BAR(h), b)
50 #define UI_HEADERBAR_SETTINGS(h) adw_header_bar_set_centering_policy(
ADW_HEADER_BAR(h),
ADW_CENTERING_POLICY_LOOSE)
51 #else
52 #define UI_HEADERBAR GtkHeaderBar*
53 #define UI_HEADERBAR_CAST(h)
GTK_HEADER_BAR(h)
54 #define UI_HEADERBAR_PACK_START(h, w) gtk_header_bar_pack_start(
GTK_HEADER_BAR(h), w)
55 #define UI_HEADERBAR_PACK_END(h, w) gtk_header_bar_pack_end(
GTK_HEADER_BAR(h), w)
56 #define UI_HEADERBAR_SETTINGS(h)
57 #if GTK_MAJOR_VERSION >=
4
58 #define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) gtk_header_bar_set_title_widget(
GTK_HEADER_BAR(h), w)
59 #define UI_HEADERBAR_SHOW_TITLE_WIDGET(h, b) gtk_header_bar_set_show_title(
GTK_HEADER_BAR(h), b)
60 #else
61 #define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) gtk_header_bar_set_custom_title(
GTK_HEADER_BAR(h), w)
62 #define UI_HEADERBAR_SHOW_TITLE_WIDGET(h, b) gtk_header_bar_set_show_title(
GTK_HEADER_BAR(h), b)
63 #endif
64 #endif
65
66 void ui_fill_headerbar(UiObject *obj, GtkWidget *sidebar_headerbar, GtkWidget *main_headerbar, GtkWidget *right_headerbar);
67
68 void ui_headerbar_add_items(UiObject *obj, GtkWidget *headerbar, CxList *items,
enum UiToolbarPos pos);
69
70 void ui_add_headerbar_item(
71 GtkWidget *headerbar,
72 GtkWidget *box,
73 UiToolbarItem *item,
74 UiObject *obj,
75 enum UiToolbarPos pos);
76
77 void ui_add_headerbar_toggleitem(
78 GtkWidget *headerbar,
79 GtkWidget *box,
80 UiToolbarToggleItem *item,
81 UiObject *obj,
82 enum UiToolbarPos pos);
83
84 void ui_add_headerbar_menu(
85 GtkWidget *headerbar,
86 GtkWidget *box,
87 UiToolbarMenuItem *item,
88 UiObject *obj,
89 enum UiToolbarPos pos);
90
91 #endif
92
93 #ifdef __cplusplus
94 }
95 #endif
96
97 #endif
98
99