1 /*
2  * This file Copyright (C) 2007-2014 Mnemosyne LLC
3  *
4  * It may be used under the GNU GPL versions 2 or 3
5  * or any future license endorsed by Mnemosyne LLC.
6  *
7  */
8 
9 #pragma once
10 
11 #include <gtk/gtk.h>
12 
13 /**
14 *** utility code for making dialog layout that follows the Gnome HIG.
15 *** see section 8.2.2, Visual Design > Window Layout > Dialogs.
16 **/
17 
18 GtkWidget* hig_workarea_create(void);
19 
20 void hig_workarea_add_section_divider(GtkWidget* table, guint* row);
21 
22 void hig_workarea_add_section_title_widget(GtkWidget* t, guint* row, GtkWidget* w);
23 
24 void hig_workarea_add_section_title(GtkWidget* table, guint* row, char const* section_title);
25 
26 void hig_workarea_add_wide_tall_control(GtkWidget* table, guint* row, GtkWidget* w);
27 
28 void hig_workarea_add_wide_control(GtkWidget* table, guint* row, GtkWidget* w);
29 
30 GtkWidget* hig_workarea_add_wide_checkbutton(GtkWidget* table, guint* row, char const* mnemonic_string, gboolean is_active);
31 
32 void hig_workarea_add_label_w(GtkWidget* table, guint row, GtkWidget* label_widget);
33 
34 GtkWidget* hig_workarea_add_tall_row(GtkWidget* table, guint* row, char const* mnemonic_string, GtkWidget* control,
35     GtkWidget* mnemonic_or_null_for_control);
36 
37 GtkWidget* hig_workarea_add_row(GtkWidget* table, guint* row, char const* mnemonic_string, GtkWidget* control,
38     GtkWidget* mnemonic_or_null_for_control);
39 
40 void hig_workarea_add_row_w(GtkWidget* table, guint* row, GtkWidget* label, GtkWidget* control,
41     GtkWidget* mnemonic_or_null_for_control);
42 
43 enum
44 {
45     GUI_PAD_SMALL = 3,
46     GUI_PAD = 6,
47     GUI_PAD_BIG = 12,
48     GUI_PAD_LARGE = 12
49 };
50