import SDK release
[hildon] / hildon-widgets / hildon-font-selection-dialog.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 #ifndef __HILDON_FONT_SELECTION_DIALOG_H__
25 #define __HILDON_FONT_SELECTION_DIALOG_H__
26
27 #include <gtk/gtkdialog.h>
28 #include <gtk/gtktextbuffer.h>
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* __cplusplus */
33
34 #define HILDON_TYPE_FONT_SELECTION_DIALOG \
35         (hildon_font_selection_dialog_get_type ())
36 #define HILDON_FONT_SELECTION_DIALOG(obj) \
37         (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
38          HILDON_TYPE_FONT_SELECTION_DIALOG, HildonFontSelectionDialog))
39 #define HILDON_FONT_SELECTION_DIALOG_CLASS(klass) \
40         (G_TYPE_CHECK_CLASS_CAST ((klass),\
41          HILDON_TYPE_FONT_SELECTION_DIALOG,\
42          HildonFontSelectionDialogClass))
43 #define HILDON_IS_FONT_SELECTION_DIALOG(obj) \
44         (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
45          HILDON_TYPE_FONT_SELECTION_DIALOG))
46 #define HILDON_IS_FONT_SELECTION_DIALOG_CLASS(klass) \
47         (G_TYPE_CHECK_CLASS_TYPE ((klass),\
48          HILDON_TYPE_FONT_SELECTION_DIALOG))
49 #define HILDON_FONT_SELECTION_DIALOG_GET_CLASS(obj) \
50         (G_TYPE_INSTANCE_GET_CLASS ((obj),\
51          HILDON_TYPE_FONT_SELECTION_DIALOG,\
52          HildonFontSelectionDialogClass))
53
54 typedef struct _HildonFontSelectionDialog HildonFontSelectionDialog;
55 typedef struct _HildonFontSelectionDialogClass
56  HildonFontSelectionDialogClass;
57
58 typedef enum {
59     HILDON_POSITIONING_NORMAL,
60     HILDON_POSITIONING_SUPER,
61     HILDON_POSITIONING_SUB
62 } HildonPositioning;
63
64 typedef enum {
65     HILDON_FONT_FACE_NORMAL,
66     HILDON_FONT_FACE_ITALIC,
67     HILDON_FONT_FACE_BOLD,
68     HILDON_FONT_FACE_BOLD_ITALIC
69 } HildonFontFaceType;
70
71
72 struct _HildonFontSelectionDialog {
73     GtkDialog parent;
74 };
75
76 struct _HildonFontSelectionDialogClass {
77     GtkDialogClass parent_class;
78
79     /* Padding for future expansion */
80     void (*_gtk_reserved1) (void);
81     void (*_gtk_reserved2) (void);
82     void (*_gtk_reserved3) (void);
83     void (*_gtk_reserved4) (void);
84 };
85
86
87 GType hildon_font_selection_dialog_get_type(void) G_GNUC_CONST;
88 GtkWidget *hildon_font_selection_dialog_new(GtkWindow * parent,
89                                             const gchar * title);
90
91 /*To set and to get a font, use these functions*/
92 PangoAttrList
93     * hildon_font_selection_dialog_get_font(HildonFontSelectionDialog *
94                                             fsd);
95 void hildon_font_selection_dialog_set_font(HildonFontSelectionDialog *
96                                            fsd, PangoAttrList * list);
97
98 void hildon_font_selection_dialog_set_buffer(HildonFontSelectionDialog *fsd, GtkTextBuffer *buffer);
99 GtkTextTag * hildon_font_selection_dialog_get_text_tag (HildonFontSelectionDialog *fsd);
100
101
102
103 /* This returns the text in the lbl_preview. You should copy the returned
104    text if you need it. */
105 gchar*
106 hildon_font_selection_dialog_get_preview_text(HildonFontSelectionDialog * fsd);
107
108 /* This sets the text in the lbl_preview.*/
109 void hildon_font_selection_dialog_set_preview_text
110     (HildonFontSelectionDialog * fsd, const gchar * text);
111
112 #ifdef __cplusplus
113 }
114 #endif /* __cplusplus */
115 #endif /* __HILDON_FONTSEL_H__ */