Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
header.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_HEADER_H__
5#define __GUI_WIDGETS_HEADER_H__
6
7#include <stdbool.h>
8
9#include <adwaita.h>
10#include <gtk/gtk.h>
11
12#define HEADER_WIDGET_TYPE (header_widget_get_type ())
13G_DECLARE_FINAL_TYPE (HeaderWidget, header_widget, Z, HEADER_WIDGET, GtkWidget)
14
15
21#define MW_HEADER MAIN_WINDOW->header
22
23typedef struct _HomeToolbarWidget HomeToolbarWidget;
24typedef struct _ProjectToolbarWidget ProjectToolbarWidget;
25typedef struct _ViewToolbarWidget ViewToolbarWidget;
26typedef struct _HelpToolbarWidget HelpToolbarWidget;
27typedef struct _MidiActivityBarWidget MidiActivityBarWidget;
28typedef struct _LiveWaveformWidget LiveWaveformWidget;
29typedef struct _SpectrumAnalyzerWidget SpectrumAnalyzerWidget;
30
35typedef struct _HeaderWidget
36{
37 GtkWidget parent_instance;
38
41 ProjectToolbarWidget * project_toolbar;
42 ViewToolbarWidget * view_toolbar;
43 HelpToolbarWidget * help_toolbar;
44
45 AdwViewStack * stack;
46 GtkBox * end_box;
47
48 LiveWaveformWidget * live_waveform;
49 SpectrumAnalyzerWidget * spectrum_analyzer;
50 MidiActivityBarWidget * midi_activity;
51 GtkLabel * midi_in_lbl;
52 GtkBox * meter_box;
54
55void
56header_widget_refresh (HeaderWidget * self);
57
58void
59header_widget_setup (HeaderWidget * self, const char * title);
60
61void
62header_widget_set_subtitle (HeaderWidget * self, const char * subtitle);
63
64#endif
Header notebook to be used at the very top of the main window.
Definition header.h:36
HomeToolbarWidget * home_toolbar
Notebook toolbars.
Definition header.h:40
The Home toolbar in the top.