Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
two_col_expander_box.h
1// SPDX-FileCopyrightText: © 2019, 2022 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4#ifndef __GUI_WIDGETS_TWO_COL_EXPANDER_BOX_H__
5#define __GUI_WIDGETS_TWO_COL_EXPANDER_BOX_H__
6
8#include "gui/backend/gtk_widgets/gtk_wrapper.h"
9
10#define TWO_COL_EXPANDER_BOX_WIDGET_TYPE \
11 (two_col_expander_box_widget_get_type ())
12G_DECLARE_DERIVABLE_TYPE (
13 TwoColExpanderBoxWidget,
14 two_col_expander_box_widget,
15 Z,
16 TWO_COL_EXPANDER_BOX_WIDGET,
17 ExpanderBoxWidget)
18
19#define TWO_COL_EXPANDER_BOX_DEFAULT_HORIZONTAL_SPACING 4
20#define TWO_COL_EXPANDER_BOX_DEFAULT_VERTICAL_SPACING 0
21
28typedef struct
29{
33 GtkScrolledWindow * scroll;
34
40 GtkBox * content;
41
45 int horizontal_spacing;
46
50 int vertical_spacing;
51
53 int max_width;
54
56 int max_height;
57
59 int show_scroll;
60
61} TwoColExpanderBoxWidgetPrivate;
62
63typedef struct _TwoColExpanderBoxWidgetClass
64{
65 ExpanderBoxWidgetClass parent_class;
67
71TwoColExpanderBoxWidgetPrivate *
72two_col_expander_box_widget_get_private (TwoColExpanderBoxWidget * self);
73
77void
78two_col_expander_box_widget_set_horizontal_spacing (
79 TwoColExpanderBoxWidget * self,
80 int horizontal_spacing);
81
85void
86two_col_expander_box_widget_set_min_max_size (
87 TwoColExpanderBoxWidget * self,
88 const int min_w,
89 const int min_h,
90 const int max_w,
91 const int max_h);
92
96void
97two_col_expander_box_widget_set_scroll_policy (
98 TwoColExpanderBoxWidget * self,
99 GtkPolicyType hscrollbar_policy,
100 GtkPolicyType vscrollbar_policy);
101
106void
107two_col_expander_box_widget_add_pair (
108 TwoColExpanderBoxWidget * self,
109 GtkWidget * widget1,
110 GtkWidget * widget2);
111
116void
117two_col_expander_box_widget_add_single (
118 TwoColExpanderBoxWidget * self,
119 GtkWidget * widget);
120
124void
125two_col_expander_box_widget_remove_children (TwoColExpanderBoxWidget * self);
126
130GtkBox *
131two_col_expander_box_widget_get_content_box (TwoColExpanderBoxWidget * self);
132
133#endif
Expander box.