Top |
GtkWidget * | gimp_size_entry_new () |
void | gimp_size_entry_add_field () |
GtkWidget * | gimp_size_entry_attach_label () |
void | gimp_size_entry_set_resolution () |
void | gimp_size_entry_set_size () |
void | gimp_size_entry_set_value_boundaries () |
gdouble | gimp_size_entry_get_value () |
void | gimp_size_entry_set_value () |
void | gimp_size_entry_set_refval_boundaries () |
void | gimp_size_entry_set_refval_digits () |
gdouble | gimp_size_entry_get_refval () |
void | gimp_size_entry_set_refval () |
GimpUnit | gimp_size_entry_get_unit () |
void | gimp_size_entry_set_unit () |
void | gimp_size_entry_set_pixel_digits () |
void | gimp_size_entry_show_unit_menu () |
void | gimp_size_entry_grab_focus () |
void | gimp_size_entry_set_activates_default () |
GtkWidget * | gimp_size_entry_get_help_widget () |
GObject ╰── GInitiallyUnowned ╰── GtkObject ╰── GtkWidget ╰── GtkContainer ╰── GtkTable ╰── GimpSizeEntry
This widget is used to enter pixel distances/sizes and resolutions.
You can specify the number of fields the widget should provide. For each field automatic mappings are performed between the field's "reference value" and its "value".
There is a GimpUnitComboBox right of the entry fields which lets you specify the GimpUnit of the displayed values.
For each field, there can be one or two GtkSpinButton's to enter
"value" and "reference value". If you specify show_refval
as
FALSE in gimp_size_entry_new()
there will be only one
GtkSpinButton and the GimpUnitComboBox will contain an item for
selecting GIMP_UNIT_PIXEL.
The "reference value" is either of GIMP_UNIT_PIXEL or dpi,
depending on which GimpSizeEntryUpdatePolicy you specify in
gimp_size_entry_new()
. The "value" is either the size in pixels
mapped to the size in a real-world-unit (see GimpUnit) or the dpi
value mapped to pixels per real-world-unit.
GtkWidget * gimp_size_entry_new (gint number_of_fields
,GimpUnit unit
,const gchar *unit_format
,gboolean menu_show_pixels
,gboolean menu_show_percent
,gboolean show_refval
,gint spinbutton_width
,GimpSizeEntryUpdatePolicy update_policy
);
Creates a new GimpSizeEntry widget.
To have all automatic calculations performed correctly, set up the widget in the following order:
gimp_size_entry_new()
(for each additional input field) gimp_size_entry_add_field()
gimp_size_entry_set_unit()
For each input field:
gimp_size_entry_set_resolution()
gimp_size_entry_set_refval_boundaries()
(or gimp_size_entry_set_value_boundaries()
)
gimp_size_entry_set_size()
gimp_size_entry_set_refval() (or gimp_size_entry_set_value()
)
The GimpSizeEntry is derived from GtkTable and will have an empty border of one cell width on each side plus an empty column left of the GimpUnitComboBox to allow the caller to add labels or a GimpChainButton.
number_of_fields |
The number of input fields. |
|
unit |
The initial unit. |
|
unit_format |
A printf-like unit-format string as is used with
|
|
menu_show_pixels |
|
|
menu_show_percent |
|
|
show_refval |
|
|
spinbutton_width |
The minimal horizontal size of the GtkSpinButton's. |
|
update_policy |
How the automatic pixel <-> real-world-unit calculations should be done. |
void gimp_size_entry_add_field (GimpSizeEntry *gse
,GtkSpinButton *value_spinbutton
,GtkSpinButton *refval_spinbutton
);
Adds an input field to the GimpSizeEntry.
The new input field will have the index 0. If you specified show_refval
as TRUE
in gimp_size_entry_new()
you have to pass an additional
GtkSpinButton to hold the reference value. If show_refval
was FALSE
,
refval_spinbutton
will be ignored.
GtkWidget * gimp_size_entry_attach_label (GimpSizeEntry *gse
,const gchar *text
,gint row
,gint column
,gfloat alignment
);
Attaches a GtkLabel to the GimpSizeEntry (which is a GtkTable).
void gimp_size_entry_set_resolution (GimpSizeEntry *gse
,gint field
,gdouble resolution
,gboolean keep_size
);
Sets the resolution (in dpi) for field # field
of the GimpSizeEntry.
The resolution
passed will be clamped to fit in
[GIMP_MIN_RESOLUTION..GIMP_MAX_RESOLUTION].
This function does nothing if the GimpSizeEntryUpdatePolicy specified in
gimp_size_entry_new()
doesn't equal to GIMP_SIZE_ENTRY_UPDATE_SIZE.
gse |
The sizeentry you want to set a resolution for. |
|
field |
The index of the field you want to set the resolution for. |
|
resolution |
The new resolution (in dpi) for the chosen |
|
keep_size |
|
void gimp_size_entry_set_size (GimpSizeEntry *gse
,gint field
,gdouble lower
,gdouble upper
);
Sets the pixel values for field # field
of the GimpSizeEntry
which will be treated as 0% and 100%.
These values will be used if you specified menu_show_percent
as TRUE
in gimp_size_entry_new()
and the user has selected GIMP_UNIT_PERCENT in
the GimpSizeEntry's GimpUnitComboBox.
This function does nothing if the GimpSizeEntryUpdatePolicy specified in
gimp_size_entry_new()
doesn't equal to GIMP_SIZE_ENTRY_UPDATE_SIZE.
void gimp_size_entry_set_value_boundaries (GimpSizeEntry *gse
,gint field
,gdouble lower
,gdouble upper
);
Limits the range of possible values which can be entered in field # field
of the GimpSizeEntry.
The current value of the field
will be clamped to fit in the field
's
new boundaries.
NOTE: In most cases you won't be interested in this function because the
GimpSizeEntry's purpose is to shield the programmer from unit
calculations. Use gimp_size_entry_set_refval_boundaries()
instead.
Whatever you do, don't mix these calls. A size entry should either
be clamped by the value or the reference value.
gdouble gimp_size_entry_get_value (GimpSizeEntry *gse
,gint field
);
Returns the value of field # field
of the GimpSizeEntry.
The value
returned is a distance or resolution
in the GimpUnit the user has selected in the GimpSizeEntry's
GimpUnitComboBox.
NOTE: In most cases you won't be interested in this value because the
GimpSizeEntry's purpose is to shield the programmer from unit
calculations. Use gimp_size_entry_get_refval()
instead.
void gimp_size_entry_set_value (GimpSizeEntry *gse
,gint field
,gdouble value
);
Sets the value for field # field
of the GimpSizeEntry.
The value
passed is treated to be a distance or resolution
in the GimpUnit the user has selected in the GimpSizeEntry's
GimpUnitComboBox.
NOTE: In most cases you won't be interested in this value because the
GimpSizeEntry's purpose is to shield the programmer from unit
calculations. Use gimp_size_entry_set_refval()
instead.
void gimp_size_entry_set_refval_boundaries (GimpSizeEntry *gse
,gint field
,gdouble lower
,gdouble upper
);
Limits the range of possible reference values which can be entered in
field # field
of the GimpSizeEntry.
The current reference value of the field
will be clamped to fit in the
field
's new boundaries.
gse |
The sizeentry you want to set the reference value boundaries for. |
|
field |
The index of the field you want to set the reference value boundaries for. |
|
lower |
The new lower boundary of the reference value of the chosen |
|
upper |
The new upper boundary of the reference value of the chosen |
void gimp_size_entry_set_refval_digits (GimpSizeEntry *gse
,gint field
,gint digits
);
Sets the decimal digits of field # field
of the GimpSizeEntry to
digits
.
If you don't specify this value explicitly, the reference value's number of digits will equal to 0 for GIMP_SIZE_ENTRY_UPDATE_SIZE and to 2 for GIMP_SIZE_ENTRY_UPDATE_RESOLUTION.
gse |
The sizeentry you want to set the reference value digits for. |
|
field |
The index of the field you want to set the reference value for. |
|
digits |
The new number of decimal digits for the GtkSpinButton which
displays |
gdouble gimp_size_entry_get_refval (GimpSizeEntry *gse
,gint field
);
Returns the reference value for field # field
of the GimpSizeEntry.
The reference value is either a distance in pixels or a resolution
in dpi, depending on which GimpSizeEntryUpdatePolicy you chose in
gimp_size_entry_new()
.
void gimp_size_entry_set_refval (GimpSizeEntry *gse
,gint field
,gdouble refval
);
Sets the reference value for field # field
of the GimpSizeEntry.
The refval
passed is either a distance in pixels or a resolution in dpi,
depending on which GimpSizeEntryUpdatePolicy you chose in
gimp_size_entry_new()
.
GimpUnit
gimp_size_entry_get_unit (GimpSizeEntry *gse
);
Returns the GimpUnit the user has selected in the GimpSizeEntry's GimpUnitComboBox.
void gimp_size_entry_set_unit (GimpSizeEntry *gse
,GimpUnit unit
);
Sets the GimpSizeEntry's unit. The reference value for all fields will
stay the same but the value in units or pixels per unit will change
according to which GimpSizeEntryUpdatePolicy you chose in
gimp_size_entry_new()
.
void gimp_size_entry_set_pixel_digits (GimpSizeEntry *gse
,gint digits
);
This function allows you set up a GimpSizeEntry so that sub-pixel sizes can be entered.
void gimp_size_entry_show_unit_menu (GimpSizeEntry *gse
,gboolean show
);
Controls whether a unit menu is shown in the size entry. If
show
is TRUE, the menu is shown; otherwise it is hidden.
Since: 2.4
void
gimp_size_entry_grab_focus (GimpSizeEntry *gse
);
This function is rather ugly and just a workaround for the fact that
it's impossible to implement gtk_widget_grab_focus()
for a GtkTable.
void gimp_size_entry_set_activates_default (GimpSizeEntry *gse
,gboolean setting
);
Iterates over all entries in the GimpSizeEntry and calls
gtk_entry_set_activates_default()
on them.
Since: 2.4
GtkWidget * gimp_size_entry_get_help_widget (GimpSizeEntry *gse
,gint field
);
You shouldn't fiddle with the internals of a GimpSizeEntry but
if you want to set tooltips using gimp_help_set_help_data()
you
can use this function to get a pointer to the spinbuttons.
“refval-changed”
signalvoid user_function (GimpSizeEntry *gimpsizeentry, gpointer user_data)
Flags: Run First
“unit-changed”
signalvoid user_function (GimpSizeEntry *gimpsizeentry, gpointer user_data)
Flags: Run First
“value-changed”
signalvoid user_function (GimpSizeEntry *gimpsizeentry, gpointer user_data)
Flags: Run First