* configure.ac: 0.12.0
[hildon] / hildon-widgets / hildon-caption.h
1 /*
2  * This file is part of hildon-libs
3  *
4  * Copyright (C) 2005 Nokia Corporation.
5  *
6  * Contact: Luc Pionchon <luc.pionchon@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; either version 2.1 of
11  * the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24  
25 #ifndef __HILDON_CAPTION_H__
26 #define __HILDON_CAPTION_H__
27
28 #include <glib.h>
29 #include <glib-object.h>
30 #include <gtk/gtkeventbox.h>
31 #include <gtk/gtksizegroup.h>
32
33 G_BEGIN_DECLS
34
35
36 #define HILDON_TYPE_CAPTION ( hildon_caption_get_type() )
37 #define HILDON_CAPTION(obj) \
38     (GTK_CHECK_CAST (obj, HILDON_TYPE_CAPTION, HildonCaption))
39 #define HILDON_CAPTION_CLASS(klass) \
40     (GTK_CHECK_CLASS_CAST ((klass),\
41      HILDON_TYPE_CAPTION, HildonCaptionClass))
42 #define HILDON_IS_CAPTION(obj) (GTK_CHECK_TYPE (obj, HILDON_TYPE_CAPTION))
43 #define HILDON_IS_CAPTION_CLASS(klass) \
44     (GTK_CHECK_CLASS_TYPE ((klass), HILDON_TYPE_CAPTION))
45
46     
47 /**
48  * HildonCaptionStatus:
49  * @HILDON_CAPTION_OPTIONAL: Optional.
50  * @HILDON_CAPTION_MANDATORY: Mandatory.
51  *
52  * Keys to set the #HildonCaption to be optional or mandatory.
53  */
54 typedef enum {
55     HILDON_CAPTION_OPTIONAL = 0,
56     HILDON_CAPTION_MANDATORY
57 } HildonCaptionStatus;
58
59 #define HILDON_TYPE_CAPTION_STATUS (hildon_caption_status_get_type ())
60
61 G_CONST_RETURN GType hildon_caption_status_get_type (void);
62
63 /**
64  * HildonCaption:
65  *
66  * Contains only private data.
67  */
68 typedef struct _HildonCaption HildonCaption;
69 typedef struct _HildonCaptionClass HildonCaptionClass;
70
71
72 struct _HildonCaption
73 {
74   GtkEventBox event_box;
75 };
76
77
78 struct _HildonCaptionClass
79 {
80   GtkEventBoxClass parent_class;
81   void (*activate) (GtkWidget *widget);
82 };
83
84
85 G_CONST_RETURN GType hildon_caption_get_type( void );
86
87 GtkWidget *hildon_caption_new( GtkSizeGroup *group, const gchar *value,
88                                GtkWidget *control, GtkWidget *icon,
89                                HildonCaptionStatus flag );
90 #ifndef HILDON_DISABLE_DEPRECATED
91 GtkSizeGroup *hildon_caption_get_sizegroup( const HildonCaption *caption );
92
93 void hildon_caption_set_sizegroup( const HildonCaption *caption,
94                                    GtkSizeGroup *new_group );
95 #endif
96
97 gboolean hildon_caption_is_mandatory( const HildonCaption *caption );
98
99 void hildon_caption_set_status( HildonCaption *caption,
100                                HildonCaptionStatus flag );
101
102 HildonCaptionStatus hildon_caption_get_status( const HildonCaption *caption );
103
104 void hildon_caption_set_icon_image( HildonCaption *caption, GtkWidget *icon );
105
106 GtkWidget *hildon_caption_get_icon_image(const HildonCaption *caption);
107
108 void hildon_caption_set_label( HildonCaption *caption, const gchar *label );
109
110 gchar *hildon_caption_get_label( const HildonCaption *caption );
111
112 void hildon_caption_set_separator( HildonCaption *caption, 
113                                     const gchar *separator );
114
115 gchar *hildon_caption_get_separator( const HildonCaption *caption );
116
117 void hildon_caption_set_label_alignment(HildonCaption *caption, 
118                                         gfloat alignment);
119 gfloat hildon_caption_get_label_alignment(HildonCaption *caption);
120
121 #ifndef HILDON_DISABLE_DEPRECATED
122 GtkWidget *hildon_caption_get_control( const HildonCaption *caption );
123
124 void hildon_caption_set_control( HildonCaption *caption, GtkWidget *control );
125 #endif
126
127 void hildon_caption_set_child_expand( HildonCaption *caption, gboolean expand );
128 gboolean hildon_caption_get_child_expand( HildonCaption *caption );
129
130 G_END_DECLS
131 #endif /* __HILDON_CAPTION_H__ */