renamed from gtk_object_data_set_destroy to fit the gtkobject.h API.
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org> * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from gtk_object_data_set_destroy to fit the gtkobject.h API. * applied patch from Damon Chaplin <DAChaplin@email.msn.com>: * gtk/gtkfontsel.h: * gtk/gtkfontsel.c: Added support for an extra 'base' filter which an application can set to restrict the fonts available to the user (e.g. a terminal program only wants the user to be able to select fixed-width fonts). The type of font (bitmap/scalable/scaled bitmap) is now also a part of the filter, so that an application can request that only scalable fonts are shown. There are new functions to set the base & user filters. I've also stopped the up/down key press signals getting to the clists since the font selection widget handles them itself. It acted a bit strangely before.
This commit is contained in:
parent
4dce69399a
commit
e655e59bc7
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
@ -1,3 +1,22 @@
|
||||
Fri Oct 30 01:56:08 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
|
||||
gtk_object_data_set_destroy to fit the gtkobject.h API.
|
||||
|
||||
* applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
|
||||
* gtk/gtkfontsel.h:
|
||||
* gtk/gtkfontsel.c:
|
||||
Added support for an extra 'base' filter which an application can
|
||||
set to restrict the fonts available to the user (e.g. a terminal
|
||||
program only wants the user to be able to select fixed-width fonts).
|
||||
The type of font (bitmap/scalable/scaled bitmap) is now
|
||||
also a part of the filter, so that an application can
|
||||
request that only scalable fonts are shown.
|
||||
There are new functions to set the base & user filters.
|
||||
I've also stopped the up/down key press signals getting
|
||||
to the clists since the font selection widget handles
|
||||
them itself. It acted a bit strangely before.
|
||||
|
||||
Sun Oct 25 20:27:02 1998 Tim Janik <timj@gtk.org>
|
||||
|
||||
* gtk/gtkmain.c (gtk_init): support an environment variable
|
||||
|
915
gtk/gtkfontsel.c
915
gtk/gtkfontsel.c
File diff suppressed because it is too large
Load Diff
147
gtk/gtkfontsel.h
147
gtk/gtkfontsel.h
@ -68,10 +68,41 @@ typedef struct _GtkFontSelectionDialogClass GtkFontSelectionDialogClass;
|
||||
/* Used to determine whether we are using point or pixel sizes. */
|
||||
typedef enum
|
||||
{
|
||||
PIXELS_METRIC,
|
||||
POINTS_METRIC
|
||||
GTK_FONT_METRIC_PIXELS,
|
||||
GTK_FONT_METRIC_POINTS
|
||||
} GtkFontMetricType;
|
||||
|
||||
/* Used for determining the type of a font style, and also for setting filters.
|
||||
These can be combined if a style has bitmaps and scalable fonts available.*/
|
||||
typedef enum
|
||||
{
|
||||
GTK_FONT_BITMAP = 1 << 0,
|
||||
GTK_FONT_SCALABLE = 1 << 1,
|
||||
GTK_FONT_SCALABLE_BITMAP = 1 << 2,
|
||||
|
||||
GTK_FONT_ALL = 0x07
|
||||
} GtkFontType;
|
||||
|
||||
/* These are the two types of filter available - base and user. The base
|
||||
filter is set by the application and can't be changed by the user. */
|
||||
#define GTK_NUM_FONT_FILTERS 2
|
||||
typedef enum
|
||||
{
|
||||
GTK_FONT_FILTER_BASE,
|
||||
GTK_FONT_FILTER_USER
|
||||
} GtkFontFilterType;
|
||||
|
||||
/* These hold the arrays of current filter settings for each property.
|
||||
If nfilters is 0 then all values of the property are OK. If not the
|
||||
filters array contains the indexes of the valid property values. */
|
||||
typedef struct _GtkFontFilter GtkFontFilter;
|
||||
struct _GtkFontFilter
|
||||
{
|
||||
gint font_type;
|
||||
guint16 *property_filters[GTK_NUM_FONT_PROPERTIES];
|
||||
guint16 property_nfilters[GTK_NUM_FONT_PROPERTIES];
|
||||
};
|
||||
|
||||
|
||||
struct _GtkFontSelection
|
||||
{
|
||||
@ -89,7 +120,6 @@ struct _GtkFontSelection
|
||||
GtkWidget *pixels_button;
|
||||
GtkWidget *points_button;
|
||||
GtkWidget *filter_button;
|
||||
GtkWidget *scaled_bitmaps_button;
|
||||
GtkWidget *preview_entry;
|
||||
GtkWidget *message_label;
|
||||
|
||||
@ -101,6 +131,9 @@ struct _GtkFontSelection
|
||||
|
||||
/* These are on the filter page. */
|
||||
GtkWidget *filter_vbox;
|
||||
GtkWidget *type_bitmaps_button;
|
||||
GtkWidget *type_scalable_button;
|
||||
GtkWidget *type_scaled_bitmaps_button;
|
||||
GtkWidget *filter_clists[GTK_NUM_FONT_PROPERTIES];
|
||||
|
||||
GdkFont *font;
|
||||
@ -114,22 +147,12 @@ struct _GtkFontSelection
|
||||
fonts we try to find the nearest size to this. */
|
||||
gint selected_size;
|
||||
|
||||
/* This flag determines if scaled bitmapped fonts are acceptable. */
|
||||
gboolean scale_bitmapped_fonts;
|
||||
|
||||
/* These are the current property settings. They are indexes into the
|
||||
strings in the GtkFontSelInfo properties array. */
|
||||
guint16 property_values[GTK_NUM_STYLE_PROPERTIES];
|
||||
|
||||
/* These hold the arrays of current filter settings for each property.
|
||||
If nfilters is 0 then all values of the property are OK. If not the
|
||||
filters array contains the indexes of the valid property values. */
|
||||
guint16 *property_filters[GTK_NUM_FONT_PROPERTIES];
|
||||
guint16 property_nfilters[GTK_NUM_FONT_PROPERTIES];
|
||||
|
||||
/* This flags is set to scroll the clist to the selected value as soon as
|
||||
it appears. There might be a better way of doing this. */
|
||||
gboolean scroll_on_expose;
|
||||
/* These are the base and user font filters. */
|
||||
GtkFontFilter filters[GTK_NUM_FONT_FILTERS];
|
||||
};
|
||||
|
||||
|
||||
@ -164,52 +187,98 @@ struct _GtkFontSelectionDialogClass
|
||||
|
||||
|
||||
|
||||
/* FontSelection */
|
||||
/*****************************************************************************
|
||||
* GtkFontSelection functions.
|
||||
* see the comments in the GtkFontSelectionDialog functions.
|
||||
*****************************************************************************/
|
||||
|
||||
GtkType gtk_font_selection_get_type (void);
|
||||
GtkWidget* gtk_font_selection_new (void);
|
||||
|
||||
/* 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_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_get_font_name (GtkFontSelection *fontsel);
|
||||
|
||||
/* 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_get_font (GtkFontSelection *fontsel);
|
||||
|
||||
/* 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_set_font_name (GtkFontSelection *fontsel,
|
||||
const gchar *fontname);
|
||||
|
||||
/* This returns the text in the preview entry. You should copy the returned
|
||||
text if you need it. */
|
||||
void gtk_font_selection_set_filter (GtkFontSelection *fontsel,
|
||||
GtkFontFilterType filter_type,
|
||||
GtkFontType font_type,
|
||||
gchar **foundries,
|
||||
gchar **weights,
|
||||
gchar **slants,
|
||||
gchar **setwidths,
|
||||
gchar **spacings,
|
||||
gchar **charsets);
|
||||
gchar* gtk_font_selection_get_preview_text (GtkFontSelection *fontsel);
|
||||
|
||||
/* 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_set_preview_text (GtkFontSelection *fontsel,
|
||||
const gchar *text);
|
||||
|
||||
|
||||
|
||||
/* FontSelectionDialog */
|
||||
/*****************************************************************************
|
||||
* GtkFontSelectionDialog functions.
|
||||
* most of these functions simply call the corresponding function in the
|
||||
* GtkFontSelection.
|
||||
*****************************************************************************/
|
||||
|
||||
GtkType gtk_font_selection_dialog_get_type (void);
|
||||
GtkWidget* gtk_font_selection_dialog_new (const gchar *title);
|
||||
|
||||
/* These simply call the corresponding FontSelection function. */
|
||||
/* 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);
|
||||
|
||||
/* 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);
|
||||
|
||||
/* 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);
|
||||
|
||||
/* This sets one of the font filters, to limit the fonts shown. The filter_type
|
||||
is GTK_FONT_FILTER_BASE or GTK_FONT_FILTER_USER. The font type is a
|
||||
combination of the bit flags GTK_FONT_BITMAP, GTK_FONT_SCALABLE and
|
||||
GTK_FONT_SCALABLE_BITMAP (or GTK_FONT_ALL for all font types).
|
||||
The foundries, weights etc. are arrays of strings containing property
|
||||
values, e.g. 'bold', 'demibold', and *MUST* finish with a NULL.
|
||||
Standard long names are also accepted, e.g. 'italic' instead of 'i'.
|
||||
|
||||
e.g. to allow only fixed-width fonts ('char cell' or 'monospaced') to be
|
||||
selected use:
|
||||
|
||||
gchar *spacings[] = { "c", "m", NULL };
|
||||
gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
|
||||
GTK_FONT_FILTER_BASE, GTK_FONT_ALL,
|
||||
NULL, NULL, NULL, NULL, spacings, NULL);
|
||||
|
||||
to allow only true scalable fonts to be selected use:
|
||||
|
||||
gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
|
||||
GTK_FONT_FILTER_BASE, GTK_FONT_SCALABLE,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
*/
|
||||
void gtk_font_selection_dialog_set_filter (GtkFontSelectionDialog *fsd,
|
||||
GtkFontFilterType filter_type,
|
||||
GtkFontType font_type,
|
||||
gchar **foundries,
|
||||
gchar **weights,
|
||||
gchar **slants,
|
||||
gchar **setwidths,
|
||||
gchar **spacings,
|
||||
gchar **charsets);
|
||||
|
||||
/* 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);
|
||||
|
||||
/* 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);
|
||||
|
||||
|
@ -986,7 +986,7 @@ gtk_object_remove_no_notify_by_id (GtkObject *object,
|
||||
}
|
||||
|
||||
void
|
||||
gtk_object_set_data_destroy (GtkObject *object,
|
||||
gtk_object_remove_no_notify (GtkObject *object,
|
||||
const gchar *key)
|
||||
{
|
||||
g_return_if_fail (object != NULL);
|
||||
|
@ -268,19 +268,19 @@ GtkArg* gtk_object_query_args (GtkType class_type,
|
||||
* where 'data' is NULL
|
||||
* `gtk_object_get_data' gets the data associated with "key".
|
||||
*/
|
||||
void gtk_object_set_data (GtkObject *object,
|
||||
const gchar *key,
|
||||
gpointer data);
|
||||
void gtk_object_set_data_full (GtkObject *object,
|
||||
const gchar *key,
|
||||
gpointer data,
|
||||
GtkDestroyNotify destroy);
|
||||
void gtk_object_remove_data (GtkObject *object,
|
||||
const gchar *key);
|
||||
gpointer gtk_object_get_data (GtkObject *object,
|
||||
const gchar *key);
|
||||
void gtk_object_remove_no_notify(GtkObject *object,
|
||||
const gchar *key);
|
||||
void gtk_object_set_data (GtkObject *object,
|
||||
const gchar *key,
|
||||
gpointer data);
|
||||
void gtk_object_set_data_full (GtkObject *object,
|
||||
const gchar *key,
|
||||
gpointer data,
|
||||
GtkDestroyNotify destroy);
|
||||
void gtk_object_remove_data (GtkObject *object,
|
||||
const gchar *key);
|
||||
gpointer gtk_object_get_data (GtkObject *object,
|
||||
const gchar *key);
|
||||
void gtk_object_remove_no_notify (GtkObject *object,
|
||||
const gchar *key);
|
||||
|
||||
/* Set/get the "user_data" object data field of "object". It should
|
||||
* be noted that these functions are no different than calling
|
||||
@ -305,19 +305,19 @@ void gtk_object_add_arg_type (const gchar *arg_name,
|
||||
guint arg_id);
|
||||
|
||||
/* Object data method variants that operate on key ids. */
|
||||
void gtk_object_set_data_by_id (GtkObject *object,
|
||||
GQuark data_id,
|
||||
gpointer data);
|
||||
void gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
GQuark data_id,
|
||||
gpointer data,
|
||||
void gtk_object_set_data_by_id (GtkObject *object,
|
||||
GQuark data_id,
|
||||
gpointer data);
|
||||
void gtk_object_set_data_by_id_full (GtkObject *object,
|
||||
GQuark data_id,
|
||||
gpointer data,
|
||||
GtkDestroyNotify destroy);
|
||||
gpointer gtk_object_get_data_by_id (GtkObject *object,
|
||||
GQuark data_id);
|
||||
void gtk_object_remove_data_by_id (GtkObject *object,
|
||||
GQuark data_id);
|
||||
void gtk_object_remove_no_notify_by_id (GtkObject *object,
|
||||
GQuark key_id);
|
||||
gpointer gtk_object_get_data_by_id (GtkObject *object,
|
||||
GQuark data_id);
|
||||
void gtk_object_remove_data_by_id (GtkObject *object,
|
||||
GQuark data_id);
|
||||
void gtk_object_remove_no_notify_by_id (GtkObject *object,
|
||||
GQuark key_id);
|
||||
#define gtk_object_data_try_key g_quark_try_string
|
||||
#define gtk_object_data_force_id g_quark_from_string
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user