#ifndef HEADERBAR_H
#define HEADERBAR_H
#include "toolkit.h"
#include "../ui/toolbar.h"
#include "../common/toolbar.h"
#include <cx/list.h>
#ifdef __cplusplus
extern "C" {
#endif
#if GTK_CHECK_VERSION(
3,
10,
0)
#ifdef UI_LIBADWAITA
#define UI_HEADERBAR AdwHeaderBar*
#define UI_HEADERBAR_CAST(h)
ADW_HEADER_BAR(h)
#define UI_HEADERBAR_PACK_START(h, w) adw_header_bar_pack_start(
ADW_HEADER_BAR(h), w)
#define UI_HEADERBAR_PACK_END(h, w) adw_header_bar_pack_end(
ADW_HEADER_BAR(h), w)
#define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) adw_header_bar_set_title_widget(
ADW_HEADER_BAR(h), w)
#else
#define UI_HEADERBAR GtkHeaderBar*
#define UI_HEADERBAR_CAST(h)
GTK_HEADER_BAR(h)
#define UI_HEADERBAR_PACK_START(h, w) gtk_header_bar_pack_start(
GTK_HEADER_BAR(h), w)
#define UI_HEADERBAR_PACK_END(h, w) gtk_header_bar_pack_end(
GTK_HEADER_BAR(h), w)
#if GTK_MAJOR_VERSION >=
4
#define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) gtk_header_bar_set_title_widget(
GTK_HEADER_BAR(h), w)
#else
#define UI_HEADERBAR_SET_TITLE_WIDGET(h, w) gtk_header_bar_set_custom_title(
GTK_HEADER_BAR(h), w)
#endif
#endif
void ui_fill_headerbar(UiObject *obj, GtkWidget *headerbar);
void ui_headerbar_add_items(UiObject *obj, GtkWidget *headerbar, CxList *items,
enum UiToolbarPos pos);
void ui_add_headerbar_item(
GtkWidget *headerbar,
GtkWidget *box,
UiToolbarItem *item,
UiObject *obj,
enum UiToolbarPos pos);
void ui_add_headerbar_toggleitem(
GtkWidget *headerbar,
GtkWidget *box,
UiToolbarToggleItem *item,
UiObject *obj,
enum UiToolbarPos pos);
void ui_add_headerbar_menu(
GtkWidget *headerbar,
GtkWidget *box,
UiToolbarMenuItem *item,
UiObject *obj,
enum UiToolbarPos pos);
#endif
#ifdef __cplusplus
}
#endif
#endif