Zrythm
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
9#include <gtk/gtk.h>
10
11#define TWO_COL_EXPANDER_BOX_WIDGET_TYPE \
12 (two_col_expander_box_widget_get_type ())
13G_DECLARE_DERIVABLE_TYPE (
14 TwoColExpanderBoxWidget,
15 two_col_expander_box_widget,
16 Z,
17 TWO_COL_EXPANDER_BOX_WIDGET,
18 ExpanderBoxWidget)
19
20#define TWO_COL_EXPANDER_BOX_DEFAULT_HORIZONTAL_SPACING 4
21#define TWO_COL_EXPANDER_BOX_DEFAULT_VERTICAL_SPACING 0
22
29typedef struct
30{
34 GtkScrolledWindow * scroll;
35
41 GtkBox * content;
42
46 int horizontal_spacing;
47
51 int vertical_spacing;
52
54 int max_width;
55
57 int max_height;
58
60 int show_scroll;
61
62} TwoColExpanderBoxWidgetPrivate;
63
64typedef struct _TwoColExpanderBoxWidgetClass
65{
66 ExpanderBoxWidgetClass parent_class;
68
72TwoColExpanderBoxWidgetPrivate *
73two_col_expander_box_widget_get_private (TwoColExpanderBoxWidget * self);
74
78void
79two_col_expander_box_widget_set_horizontal_spacing (
80 TwoColExpanderBoxWidget * self,
81 int horizontal_spacing);
82
86void
87two_col_expander_box_widget_set_min_max_size (
88 TwoColExpanderBoxWidget * self,
89 const int min_w,
90 const int min_h,
91 const int max_w,
92 const int max_h);
93
97void
98two_col_expander_box_widget_set_scroll_policy (
99 TwoColExpanderBoxWidget * self,
100 GtkPolicyType hscrollbar_policy,
101 GtkPolicyType vscrollbar_policy);
102
107void
108two_col_expander_box_widget_add_pair (
109 TwoColExpanderBoxWidget * self,
110 GtkWidget * widget1,
111 GtkWidget * widget2);
112
117void
118two_col_expander_box_widget_add_single (
119 TwoColExpanderBoxWidget * self,
120 GtkWidget * widget);
121
125void
126two_col_expander_box_widget_remove_children (TwoColExpanderBoxWidget * self);
127
131GtkBox *
132two_col_expander_box_widget_get_content_box (TwoColExpanderBoxWidget * self);
133
134#endif
Expander box.