1/*
2 * This file Copyright (C) Mnemosyne LLC
3 *
4 * This file is licensed by the GPL version 2. Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: hig.h 13388 2012-07-14 19:26:55Z jordan $
11 */
12
13#ifndef GTR_HIG_H
14#define GTR_HIG_H
15
16#include <gtk/gtk.h>
17
18/**
19*** utility code for making dialog layout that follows the Gnome HIG.
20*** see section 8.2.2, Visual Design > Window Layout > Dialogs.
21**/
22
23GtkWidget* hig_workarea_create( void );
24
25void       hig_workarea_add_section_divider( GtkWidget * table,
26                                             guint     *  row );
27
28void       hig_workarea_add_section_title_widget( GtkWidget * t,
29                                                  guint     * row,
30                                                  GtkWidget * w );
31
32void       hig_workarea_add_section_title( GtkWidget  *  table,
33                                           guint      * row,
34                                           const char * section_title );
35
36void       hig_workarea_add_wide_tall_control( GtkWidget * table,
37                                               guint     * row,
38                                               GtkWidget * w );
39
40void       hig_workarea_add_wide_control( GtkWidget * table,
41                                          guint     * row,
42                                          GtkWidget * w );
43
44GtkWidget* hig_workarea_add_wide_checkbutton( GtkWidget  * table,
45                                              guint      * row,
46                                              const char * mnemonic_string,
47                                              gboolean     is_active );
48
49void       hig_workarea_add_label_w( GtkWidget * table,
50                                     guint       row,
51                                     GtkWidget * label_widget );
52
53GtkWidget* hig_workarea_add_tall_row( GtkWidget  * table,
54                                      guint      * row,
55                                      const char * mnemonic_string,
56                                      GtkWidget  * control,
57                                      GtkWidget  * mnemonic_or_null_for_control );
58
59GtkWidget* hig_workarea_add_row( GtkWidget  * table,
60                                 guint      * row,
61                                 const char * mnemonic_string,
62                                 GtkWidget  * control,
63                                 GtkWidget  * mnemonic_or_null_for_control );
64
65void       hig_workarea_add_row_w( GtkWidget * table,
66                                   guint     * row,
67                                   GtkWidget * label,
68                                   GtkWidget * control,
69                                   GtkWidget * mnemonic_or_null_for_control );
70
71enum
72{
73    GUI_PAD_SMALL = 3,
74    GUI_PAD = 6,
75    GUI_PAD_BIG = 12,
76    GUI_PAD_LARGE = 12
77};
78
79#endif /* GTR_HIG_H */
80