Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
left_dock_edge.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2019-2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
10#ifndef __GUI_WIDGETS_LEFT_DOCK_EDGE_H__
11#define __GUI_WIDGETS_LEFT_DOCK_EDGE_H__
12
13#include <gtk/gtk.h>
14#include <libpanel.h>
15
16typedef struct _InspectorWidget InspectorWidget;
17typedef struct _FoldableNotebookWidget FoldableNotebookWidget;
18typedef struct _InspectorTrackWidget InspectorTrackWidget;
19typedef struct _InspectorPluginWidget InspectorPluginWidget;
20
27#define LEFT_DOCK_EDGE_WIDGET_TYPE (left_dock_edge_widget_get_type ())
30 left_dock_edge_widget,
31 Z,
32 LEFT_DOCK_EDGE_WIDGET,
33 GtkWidget)
34
35#define MW_LEFT_DOCK_EDGE MW_CENTER_DOCK->left_dock_edge
36
40typedef enum LeftDockEdgeTab
41{
42 LEFT_DOCK_EDGE_TAB_TRACK,
43 LEFT_DOCK_EDGE_TAB_PLUGIN,
44 LEFT_DOCK_EDGE_TAB_VISIBILITY,
45 LEFT_DOCK_EDGE_TAB_CC_BINDINGS,
46 LEFT_DOCK_EDGE_TAB_PORT_CONNECTIONS,
47} LeftDockEdgeTab;
48
52typedef struct _LeftDockEdgeWidget
53{
54 GtkWidget parent_instance;
55 PanelFrame * panel_frame;
56
58 GtkScrolledWindow * track_inspector_scroll;
59 InspectorTrackWidget * track_inspector;
60
62 GtkScrolledWindow * plugin_inspector_scroll;
63 InspectorPluginWidget * plugin_inspector;
64
66 GtkGestureClick * mp;
68
69void
70left_dock_edge_widget_refresh (LeftDockEdgeWidget * self);
71
76void
78 LeftDockEdgeWidget * self,
79 LeftDockEdgeTab page);
80
81void
82left_dock_edge_widget_setup (LeftDockEdgeWidget * self);
83
87void
89
94#endif
G_DECLARE_FINAL_TYPE(LeftDockEdgeWidget, left_dock_edge_widget, Z, LEFT_DOCK_EDGE_WIDGET, GtkWidget) typedef enum LeftDockEdgeTab
Left panel tabs.
void left_dock_edge_widget_refresh_with_page(LeftDockEdgeWidget *self, LeftDockEdgeTab page)
Refreshes the widget and switches to the given page.
void left_dock_edge_widget_tear_down(LeftDockEdgeWidget *self)
Prepare for finalization.
A GtkNotebook that shows or hides itself when the same page tab is clicked.
Inspector section for tracks.
Left dock widget.
GtkGestureClick * mp
Mouse button press handler.
GtkScrolledWindow * track_inspector_scroll
For TracklistSelections.
GtkScrolledWindow * plugin_inspector_scroll
For MixerSelections.