2 * This file is part of hildon-libs
4 * Copyright (C) 2005 Nokia Corporation.
6 * Contact: Luc Pionchon <luc.pionchon@nokia.com>
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.
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.
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
25 #ifndef __HILDON_CAPTION_H__
26 #define __HILDON_CAPTION_H__
29 #include <glib-object.h>
30 #include <gtk/gtkeventbox.h>
31 #include <gtk/gtksizegroup.h>
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))
48 * HildonCaptionStatus:
49 * @HILDON_CAPTION_OPTIONAL: Optional.
50 * @HILDON_CAPTION_MANDATORY: Mandatory.
52 * Keys to set the #HildonCaption to be optional or mandatory.
55 HILDON_CAPTION_OPTIONAL = 0,
56 HILDON_CAPTION_MANDATORY
57 } HildonCaptionStatus;
59 #define HILDON_TYPE_CAPTION_STATUS (hildon_caption_status_get_type ())
61 G_CONST_RETURN GType hildon_caption_status_get_type (void);
66 * Contains only private data.
68 typedef struct _HildonCaption HildonCaption;
69 typedef struct _HildonCaptionClass HildonCaptionClass;
74 GtkEventBox event_box;
78 struct _HildonCaptionClass
80 GtkEventBoxClass parent_class;
81 void (*activate) (GtkWidget *widget);
85 G_CONST_RETURN GType hildon_caption_get_type( void );
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 );
93 void hildon_caption_set_sizegroup( const HildonCaption *caption,
94 GtkSizeGroup *new_group );
97 gboolean hildon_caption_is_mandatory( const HildonCaption *caption );
99 void hildon_caption_set_status( HildonCaption *caption,
100 HildonCaptionStatus flag );
102 HildonCaptionStatus hildon_caption_get_status( const HildonCaption *caption );
104 void hildon_caption_set_icon_image( HildonCaption *caption, GtkWidget *icon );
106 GtkWidget *hildon_caption_get_icon_image(const HildonCaption *caption);
108 void hildon_caption_set_label( HildonCaption *caption, const gchar *label );
110 gchar *hildon_caption_get_label( const HildonCaption *caption );
112 void hildon_caption_set_separator( HildonCaption *caption,
113 const gchar *separator );
115 gchar *hildon_caption_get_separator( const HildonCaption *caption );
117 void hildon_caption_set_label_alignment(HildonCaption *caption,
119 gfloat hildon_caption_get_label_alignment(HildonCaption *caption);
121 #ifndef HILDON_DISABLE_DEPRECATED
122 GtkWidget *hildon_caption_get_control( const HildonCaption *caption );
124 void hildon_caption_set_control( HildonCaption *caption, GtkWidget *control );
127 void hildon_caption_set_child_expand( HildonCaption *caption, gboolean expand );
128 gboolean hildon_caption_get_child_expand( HildonCaption *caption );
131 #endif /* __HILDON_CAPTION_H__ */