Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
editor_toolbar.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
8#ifndef __GUI_WIDGETS_EDITOR_TOOLBAR_H__
9#define __GUI_WIDGETS_EDITOR_TOOLBAR_H__
10
11#include <adwaita.h>
12
13#include "gtk_wrapper.h"
14
15#define EDITOR_TOOLBAR_WIDGET_TYPE (editor_toolbar_widget_get_type ())
16G_DECLARE_FINAL_TYPE (
18 editor_toolbar_widget,
19 Z,
20 EDITOR_TOOLBAR_WIDGET,
21 GtkWidget)
22
23#define MW_EDITOR_TOOLBAR MW_CLIP_EDITOR->editor_toolbar
24
25TYPEDEF_STRUCT_UNDERSCORED (ToolboxWidget);
26TYPEDEF_STRUCT_UNDERSCORED (QuantizeMbWidget);
27TYPEDEF_STRUCT_UNDERSCORED (QuantizeBoxWidget);
28TYPEDEF_STRUCT_UNDERSCORED (SnapGridWidget);
29TYPEDEF_STRUCT_UNDERSCORED (PlayheadScrollButtonsWidget);
30TYPEDEF_STRUCT_UNDERSCORED (ZoomButtonsWidget);
31
35typedef struct _EditorToolbarWidget
36{
37 GtkWidget parent_instance;
38
39 GtkScrolledWindow * scroll;
40
41 GtkComboBoxText * chord_highlighting;
42 SnapGridWidget * snap_grid;
43 QuantizeBoxWidget * quantize_box;
44 GtkButton * event_viewer_toggle;
45 GtkStack * functions_btn_stack;
46 AdwSplitButton * midi_functions_btn;
47 AdwSplitButton * audio_functions_btn;
48 AdwSplitButton * automation_functions_btn;
49
50 GtkSeparator * sep_after_chord_highlight;
51 GtkBox * chord_highlight_box;
52
53 GtkToggleButton * ghost_notes_btn;
54
55 PlayheadScrollButtonsWidget * playhead_scroll;
56 ZoomButtonsWidget * zoom_buttons;
57
58 GMenuModel * midi_functions_menu;
59 GMenuModel * automation_functions_menu;
60 GMenuModel * audio_functions_menu;
62
66void
68
69void
70editor_toolbar_widget_setup (EditorToolbarWidget * self);
71
72#endif
void editor_toolbar_widget_refresh(EditorToolbarWidget *self)
Refreshes relevant widgets.
The PianoRoll toolbar in the top.