/*
 * Copyright (C) 2022 Purism SPC
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 */

#pragma once

#include <adwaita.h>

G_BEGIN_DECLS

#define MS_TYPE_PANEL_SWITCHER (ms_panel_switcher_get_type ())

G_DECLARE_FINAL_TYPE (MsPanelSwitcher, ms_panel_switcher, MS, PANEL_SWITCHER, AdwBin)

MsPanelSwitcher *ms_panel_switcher_new (void);
void             ms_panel_switcher_set_stack (MsPanelSwitcher *self, GtkStack *stack);
gboolean         ms_panel_switcher_set_active_panel_name (MsPanelSwitcher *self, const char *panel);
gboolean         ms_panel_switcher_set_active_panel_index (MsPanelSwitcher *self, uint idx);
void             ms_panel_switcher_set_only_tweaks (MsPanelSwitcher *self, const gboolean only_tweaks);
GtkStack        *ms_panel_switcher_get_stack (MsPanelSwitcher *self);
void             ms_panel_switcher_set_search_query (MsPanelSwitcher *self, const char *query);
void             ms_panel_switcher_refilter (MsPanelSwitcher *self, GtkFilterChange filter_change_hint);

G_END_DECLS
