X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkfontsel.h;h=125537b2f7dca6ee5fa2ba3c2fb2a72b7e12309c;hb=cd19149ad5033e403171229afa0fb569802e62a2;hp=8f7cc816e9b1819247e42917b0cfc43120cb3c17;hpb=9ae724bf4d72d1eed98f3e55a640b31ff552e8f1;p=~andy%2Fgtk diff --git a/gtk/gtkfontsel.h b/gtk/gtkfontsel.h index 8f7cc816e..125537b2f 100644 --- a/gtk/gtkfontsel.h +++ b/gtk/gtkfontsel.h @@ -6,55 +6,56 @@ * The GnomeFontSelector was derived from app/text_tool.c in the GIMP. * * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* - * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GTK_FONTSEL_H__ #define __GTK_FONTSEL_H__ #include -#include +#include #include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_FONT_SELECTION (gtk_font_selection_get_type ()) -#define GTK_FONT_SELECTION(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FONT_SELECTION, GtkFontSelection)) -#define GTK_FONT_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION, GtkFontSelectionClass)) -#define GTK_IS_FONT_SELECTION(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FONT_SELECTION)) -#define GTK_IS_FONT_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION)) -#define GTK_FONT_SELECTION_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_FONT_SELECTION, GtkFontSelectionClass)) +#define GTK_FONT_SELECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_SELECTION, GtkFontSelection)) +#define GTK_FONT_SELECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION, GtkFontSelectionClass)) +#define GTK_IS_FONT_SELECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_SELECTION)) +#define GTK_IS_FONT_SELECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION)) +#define GTK_FONT_SELECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FONT_SELECTION, GtkFontSelectionClass)) #define GTK_TYPE_FONT_SELECTION_DIALOG (gtk_font_selection_dialog_get_type ()) -#define GTK_FONT_SELECTION_DIALOG(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialog)) -#define GTK_FONT_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialogClass)) -#define GTK_IS_FONT_SELECTION_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FONT_SELECTION_DIALOG)) -#define GTK_IS_FONT_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION_DIALOG)) -#define GTK_FONT_SELECTION_DIALOG_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialogClass)) +#define GTK_FONT_SELECTION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialog)) +#define GTK_FONT_SELECTION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialogClass)) +#define GTK_IS_FONT_SELECTION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FONT_SELECTION_DIALOG)) +#define GTK_IS_FONT_SELECTION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION_DIALOG)) +#define GTK_FONT_SELECTION_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialogClass)) typedef struct _GtkFontSelection GtkFontSelection; @@ -67,52 +68,71 @@ struct _GtkFontSelection { GtkVBox parent_instance; - GtkWidget *font_label; - GtkWidget *font_entry; - GtkWidget *font_clist; - GtkWidget *font_style_entry; - GtkWidget *font_style_clist; - GtkWidget *size_entry; - GtkWidget *size_clist; - GtkWidget *pixels_button; - GtkWidget *points_button; - GtkWidget *filter_button; - GtkWidget *preview_entry; - - PangoContext *context; - PangoFontDescription *font_desc; - GdkFont *font; /* Cache for gdk_font_selection_get_font, so we can preserve - * refcounting behavior - */ + GtkWidget *GSEAL (font_entry); /* Used _get_family_entry() for consistency, -mr */ + GtkWidget *GSEAL (family_list); + GtkWidget *GSEAL (font_style_entry); /* Used _get_face_entry() for consistency, -mr */ + GtkWidget *GSEAL (face_list); + GtkWidget *GSEAL (size_entry); + GtkWidget *GSEAL (size_list); + GtkWidget *GSEAL (pixels_button); /* Unused, -mr */ + GtkWidget *GSEAL (points_button); /* Unused, -mr */ + GtkWidget *GSEAL (filter_button); /* Unused, -mr */ + GtkWidget *GSEAL (preview_entry); + + PangoFontFamily *GSEAL (family); /* Current family */ + PangoFontFace *GSEAL (face); /* Current face */ + + gint GSEAL (size); + + GdkFont *GSEAL (font); /* Cache for gdk_font_selection_get_font, so we can preserve + * refcounting behavior + */ }; struct _GtkFontSelectionClass { GtkVBoxClass parent_class; -}; + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; struct _GtkFontSelectionDialog { - GtkWindow window; - - GtkWidget *fontsel; - - GtkWidget *main_vbox; - GtkWidget *action_area; - GtkWidget *ok_button; - /* The 'Apply' button is not shown by default but you can show/hide it. */ - GtkWidget *apply_button; - GtkWidget *cancel_button; - - /* If the user changes the width of the dialog, we turn auto-shrink off. */ - gint dialog_width; - gboolean auto_resize; + GtkDialog parent_instance; + + /*< private >*/ + GtkWidget *GSEAL (fontsel); + + GtkWidget *GSEAL (main_vbox); /* Not wrapped with an API, can use GTK_DIALOG->vbox instead, -mr */ + GtkWidget *GSEAL (action_area); /* Not wrapped with an API, can use GTK_DIALOG->action_area instead, -mr */ + + /*< public >*/ + GtkWidget *GSEAL (ok_button); + GtkWidget *GSEAL (apply_button); + GtkWidget *GSEAL (cancel_button); + + /*< private >*/ + + /* If the user changes the width of the dialog, we turn auto-shrink off. + * (Unused now, autoshrink doesn't mean anything anymore -Yosh) + */ + gint GSEAL (dialog_width); + gboolean GSEAL (auto_resize); }; struct _GtkFontSelectionDialogClass { - GtkWindowClass parent_class; + GtkDialogClass parent_class; + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; @@ -122,17 +142,31 @@ struct _GtkFontSelectionDialogClass * see the comments in the GtkFontSelectionDialog functions. *****************************************************************************/ -GtkType gtk_font_selection_get_type (void); -GtkWidget* gtk_font_selection_new (void); -gchar* gtk_font_selection_get_font_name (GtkFontSelection *fontsel); -GdkFont* gtk_font_selection_get_font (GtkFontSelection *fontsel); -gboolean gtk_font_selection_set_font_name (GtkFontSelection *fontsel, - const gchar *fontname); -gchar* gtk_font_selection_get_preview_text (GtkFontSelection *fontsel); -void gtk_font_selection_set_preview_text (GtkFontSelection *fontsel, - const gchar *text); - - +GType gtk_font_selection_get_type (void) G_GNUC_CONST; +GtkWidget * gtk_font_selection_new (void); +GtkWidget * gtk_font_selection_get_family_entry (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_family_list (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_face_entry (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_face_list (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_size_entry (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_size_list (GtkFontSelection *fontsel); +GtkWidget * gtk_font_selection_get_preview_entry (GtkFontSelection *fontsel); +PangoFontFamily * + gtk_font_selection_get_family (GtkFontSelection *fontsel); +PangoFontFace * + gtk_font_selection_get_face (GtkFontSelection *fontsel); +gint gtk_font_selection_get_size (GtkFontSelection *fontsel); +gchar* gtk_font_selection_get_font_name (GtkFontSelection *fontsel); + +#ifndef GTK_DISABLE_DEPRECATED +GdkFont* gtk_font_selection_get_font (GtkFontSelection *fontsel); +#endif /* GTK_DISABLE_DEPRECATED */ + +gboolean gtk_font_selection_set_font_name (GtkFontSelection *fontsel, + const gchar *fontname); +const gchar* gtk_font_selection_get_preview_text (GtkFontSelection *fontsel); +void gtk_font_selection_set_preview_text (GtkFontSelection *fontsel, + const gchar *text); /***************************************************************************** * GtkFontSelectionDialog functions. @@ -140,41 +174,46 @@ void gtk_font_selection_set_preview_text (GtkFontSelection *fontsel, * GtkFontSelection. *****************************************************************************/ -GtkType gtk_font_selection_dialog_get_type (void); -GtkWidget* gtk_font_selection_dialog_new (const gchar *title); +GType gtk_font_selection_dialog_get_type (void) G_GNUC_CONST; +GtkWidget *gtk_font_selection_dialog_new (const gchar *title); + +GtkWidget *gtk_font_selection_dialog_get_ok_button (GtkFontSelectionDialog *fsd); +GtkWidget *gtk_font_selection_dialog_get_apply_button (GtkFontSelectionDialog *fsd); +GtkWidget *gtk_font_selection_dialog_get_cancel_button (GtkFontSelectionDialog *fsd); /* This returns the X Logical Font Description fontname, or NULL if no font is selected. Note that there is a slight possibility that the font might not have been loaded OK. You should call gtk_font_selection_dialog_get_font() to see if it has been loaded OK. You should g_free() the returned font name after you're done with it. */ -gchar* gtk_font_selection_dialog_get_font_name (GtkFontSelectionDialog *fsd); +gchar* gtk_font_selection_dialog_get_font_name (GtkFontSelectionDialog *fsd); +#ifndef GTK_DISABLE_DEPRECATED /* This will return the current GdkFont, or NULL if none is selected or there was a problem loading it. Remember to use gdk_font_ref/unref() if you want to use the font (in a style, for example). */ -GdkFont* gtk_font_selection_dialog_get_font (GtkFontSelectionDialog *fsd); +GdkFont* gtk_font_selection_dialog_get_font (GtkFontSelectionDialog *fsd); +#endif /* GTK_DISABLE_DEPRECATED */ /* This sets the currently displayed font. It should be a valid X Logical Font Description font name (anything else will be ignored), e.g. "-adobe-courier-bold-o-normal--25-*-*-*-*-*-*-*" It returns TRUE on success. */ -gboolean gtk_font_selection_dialog_set_font_name (GtkFontSelectionDialog *fsd, - const gchar *fontname); +gboolean gtk_font_selection_dialog_set_font_name (GtkFontSelectionDialog *fsd, + const gchar *fontname); /* This returns the text in the preview entry. You should copy the returned text if you need it. */ -gchar* gtk_font_selection_dialog_get_preview_text (GtkFontSelectionDialog *fsd); +G_CONST_RETURN gchar* + gtk_font_selection_dialog_get_preview_text (GtkFontSelectionDialog *fsd); /* This sets the text in the preview entry. It will be copied by the entry, so there's no need to g_strdup() it first. */ -void gtk_font_selection_dialog_set_preview_text (GtkFontSelectionDialog *fsd, - const gchar *text); +void gtk_font_selection_dialog_set_preview_text (GtkFontSelectionDialog *fsd, + const gchar *text); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GTK_FONTSEL_H__ */