Commit Graph

161 Commits

Author SHA1 Message Date
Ell e30d235ede app: derive the layer-mode menu layout entirely from the info arrays
Replace the 'with-behind' and 'with-replace' properties with a
single 'context' property, and use it to select the included
layer modes, according to their context mask.

Add a dummy GIMP_LAYER_MODE_SEPARATOR value to the GimpLayerMode
enum, and use it to explicitly mark the menu separators in the
layer-mode group arrays; add separators to the layer-mode menu
accordingly.

Update the rest of the code to use 'context' instead of 'with-behind'
and 'with-replace'.  In particular, in the layers and layer options
dialogs, select the right context based on whether or not the
selected layer is a group.
2017-02-17 06:26:32 -05:00
Michael Natterer c58d471af7 app: remove gimp_paint_mode_menu_new() and use GimpLayerModeBox
I know this looks absolutely horrible, please spare me comments about
that. This commit has the purpose to let everybody experiment with the
new modes, and suggest improvements of the GimpLayerModeBox widget; we
need *some* way of controlling the new layer mode madness.
2017-01-30 13:24:35 +01:00
Michael Natterer e8309826b7 app, libgimpwidgets: use the new config path <-> GFile functions
Gets rid of temporary variables to hold both expanded and unexpanded
paths.
2016-09-30 22:07:00 +02:00
Michael Natterer beb3279bf2 Bug 320447 - fast switching between "color managed display" and "softproof"
Add a SELECT_SOFTPROOF_PROFILE mode to the color profile dialog and
use it to select a profile from a newly added "Soft-Proofing Profile..."
menu item in view -> color management.
2016-09-30 20:56:04 +02:00
Jehan 4e6d320591 app: remove current implementation of GimpSpinScale soft bounds.
Mitch gets a better idea to deal with soft limits (i.e. min/max values
different from the property min/max) applied to a spin scale created by
gimp_prop_spin_scale_new().
So let's just remove the current implementation (using locale data on
the GimpConfig object). The symmetry spin scales are back with crazy
huge maximums, which makes quite a horrible GUI, but this is only
temporary until Mitch commits his new implementation.
2016-07-01 13:58:55 +02:00
Jehan cafa912c98 app: allow locale lower and upper values in gimp_prop_spin_scale_new().
Currently a GimpSpinScale created with gimp_prop_spin_scale_new() will
use the associated property's lower and upper values.
Unfortunately these generic values may not be always relevant and we
may want to construct a spin scale UI adapted to the current image.
For instance, several symmetry painting have a x/y property which has
to stay within the image's dimension, but changing the property's lower
and upper values would affect the symmetry on the class level (i.e. for
all similar symmetries on all images).
Let's allow setting data on object with key "property-name:min|max" to
provide locale min/max values specifically for this object.
This is used only on the symmetry dock for now, but could be used as
well on GEGL op UIs.
2016-06-14 16:52:52 +02:00
Michael Natterer 6b246ff6c2 app: remove ancient utility function gimp_toggle_button_set_visible()
and use g_object_bind_property() instead.
2016-05-21 14:28:11 +02:00
Michael Natterer d4d03d186d app: use gimp_config_path_expand() in gimp_prop_profile_combo_box_new() 2016-05-08 23:12:29 +02:00
Michael Natterer d37d39bc71 app: some cleanup in gimp_prop_profile_combo_box_new()
- don't warn if an object property is passed (for GFile properties)
- pass the history file to gimp_color_profile_combo_box_new()
2016-05-08 21:13:55 +02:00
Michael Natterer 20f5e25195 app: add gimp_prop_profile_combo_box_new()
and remove the same but less flexible code from the prefs dialog.
2016-05-08 20:38:46 +02:00
Jehan 30e4826473 app, libgimpwidgets: update gimp_prop_foo_new() documentation comments.
Explains what happens when NULL labels are used.
2016-02-11 16:35:45 +01:00
Michael Natterer 9c4dd960a0 app, libgimpwidgets: allow NULL labels in some gimp_prop_foo_new() functions
and fall back to the GParamSpec's nick.
2016-02-09 23:35:06 +01:00
Michael Natterer cf159ac68a app: get rid of some GtkObject variables, makes the gtk3-port diff smaller 2014-07-21 02:34:39 +02:00
Michael Natterer 77a515dd0f app, libgimpwidgets: don't set unchanged object properties again
gimp_prop_adjustment_callback(): compare the property's current value
before setting it.
2014-06-19 02:01:10 +02:00
Michael Natterer 1464bee257 app: use the GParamSpec's nick as label in gimp_prop_spin_scale_new()
if a NULL label was passed. Override this with explicit calls to
gimp_spin_scale_set_label() in the two cases where we really don't
want a label.
2014-06-01 23:39:19 +02:00
Michael Natterer fe7aa1384d app: add gimp_prop_polar_new() 2014-05-30 00:36:43 +02:00
Michael Natterer 907939edc9 app: add gimp_prop_angle_range_dial_new()
which is by no means general and needs to be improved if ever widely
used.
2014-05-28 00:59:44 +02:00
Michael Natterer 98d6f44231 app: move GimpDial's background drawing to a new parent class, GimpCircle
so we can use that as a parent class for other circle/wheer interactions
in other subclasses.
2014-05-26 09:23:55 +02:00
Michael Natterer 4ec888a771 app: add gimp_prop_angle_dial_new() which handles deg and rad 2014-05-25 21:52:39 +02:00
Michael Natterer f3092ebfa4 app: minor cosmetic cleanup in the GEGL property code 2014-05-20 20:47:31 +02:00
Michael Natterer 8be52f6aa7 app, libgimp*: pass translated blurbs to GIMP_CONFIG_INSTALL_PROP_FOO()
instead of passing N_()-strings; and remove gettext() calls on these
strings when using them. Reduces complexitx, and fixes double- and
untranslated strings. Also enables to treat properties of GIMP and
GEGL objects the same way, which was totally broken before.
2014-05-14 23:34:01 +02:00
Michael Natterer ab6a0fe9cb app: port GimpIconPicker to named icons 2014-05-09 02:24:42 +02:00
Michael Natterer 7385e030dd app, libgimp: add increment parameters to gimp_prop_widget_set_factor()
Step and page increments can't be reasonable calculated or guessed
based on the GUI widget's factor, so pass them each time we call
set_factor(). This change reintroduces sane ranges for the levels tool
for != u8 images again.
2014-02-03 22:57:51 +01:00
Michael Natterer 731360a8f7 app: add gimp_prop_widget_set_factor()
which allows adjustment-based prop widgets to display the property
value multiplied by factor. Remove gimp_prop_opacity_spin_scale_new()
because that's simply a factor of 100.0.
2013-06-15 01:28:54 +02:00
Michael Natterer 73d7c28f76 app: add dedicated source files for gimp_prop_table_new() 2013-05-30 16:33:30 +02:00
Michael Natterer 74b134d75b app: use the GEGL properties' ui_min and ui_max for step calculation 2013-05-19 23:23:32 +02:00
Michael Natterer acf917fbb8 Bug 699278 - "GEGL Operation" parameter arrows should be more adapted
to the span of the parameter

Set step_size to 0.1 and page_size to 1.0 for floating point sliders
with a value range of < 10.0.
2013-05-19 19:05:25 +02:00
Michael Natterer c0c813d9f1 app: minor formatting cleanup in gimppropwidgets 2013-03-10 19:48:32 +01:00
Daniel Sabo 2614404764 Add support for custom icons for tool presets
Adds an icon-pixbuf property to GimpViewable that is used for a default
implementation of new_pixbuf.

Extend gimp_icon_picker to allow the user to pick non-stock icons for tool
presets (or any other class derived from GimpViewable). Icons can come
from any file GdkPixbuf can load or from image data on the clipboard.
2013-03-08 08:19:54 -08:00
Michael Natterer d8a9804702 app: support GeglParamSpecSeed in generated operation UI
and add a "New Seed" button next to the random seed entry.
2012-11-30 02:58:48 +01:00
Michael Natterer c0351f0706 app: connect x/y and width/height properties of GEGL ops with chain buttons
Add (too) simple heuristic that connects to subsequent numeric property
widgets with a chain button if their property names have the suffixes
"x" and "y", or "width" and "height".
2012-05-19 02:30:32 +02:00
Michael Natterer 3db9deed1c app: add color pickers to all GEGL tool color properties
The way to make gimp_prop_table_new() create tool pickers is
disgusting, but works.
2012-05-02 17:51:22 +02:00
Michael Natterer aa8e580381 app: make color buttons generated for GEGL tools continuously update the caller 2012-05-02 17:50:49 +02:00
Øyvind Kolås b8e340b5bc app: update paramspec duplication with changes in gegl paramspecs 2012-05-02 17:50:44 +02:00
Øyvind Kolås 1cee8d79bf app: respect GEGLs ui-range hints for properties 2012-05-02 17:50:44 +02:00
Michael Natterer 28913496bb app: use a GimpSpinScale instead of a scale entry in the prop_table 2012-05-02 17:50:43 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer fa9453eea1 app: add gimp_prop_icon_picker_new()
and use it in GimpTemplateEditor instead of handling the icon picker
manually.
2011-03-22 15:20:03 +01:00
Michael Natterer 37038ab77f app: add an opacity prop scale 2010-11-01 22:07:39 +01:00
Michael Natterer 8bf497294e app: enable adjustment based prop widgets for all numeric param types 2010-11-01 21:48:19 +01:00
Michael Natterer e84a0eebf9 app: fix gimp_prop_spin_scale_new() by setting the pspec on the right object 2010-11-01 20:54:43 +01:00
Michael Natterer 01f4bad1f6 app: add gimp_prop_spin_scale_new() 2010-11-01 20:04:35 +01:00
Sven Neumann 8f6fea7636 app: prepare another refactoring 2010-01-05 22:30:17 +01:00
Sven Neumann d2804b48fb app: add GimpLanguageComboBox and use it from the Preferences dialog 2010-01-05 22:30:16 +01:00
Sven Neumann 5febc2e417 Add functions to get the ISO 639-1 language code from GimpLanguageEntry
and to set the language using this code.
2009-08-04 22:46:01 +02:00
Sven Neumann e2dbd56c5a app: add stubs for gimp_prop_language_entry_new() 2009-08-04 22:46:01 +02:00
Michael Natterer 9ae1fa8872 app/widgets/Makefile.am remove this evil hack.
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gtkscalebutton.[ch]: remove this evil hack.

	* app/widgets/gimpscalebutton.[ch]
	* app/widgets/gimppropwidgets.c: minor adjustments so the widget
	from GTK+ gets used.


svn path=/trunk/; revision=28194
2009-03-22 18:12:36 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Michael Natterer 07197c4880 This is completely evil:
2008-06-28  Michael Natterer  <mitch@gimp.org>

	This is completely evil:

	* app/widgets/Makefile.am
	* app/widgets/gimpscalebutton.[ch]: copy GtkScaleButton from GTK+
	upstream trunk and hack around until symbol conflicts are gone
	and it builds.

	* app/widgets/gimppropwidgets.c
	* app/widgets/gtkscalebutton.[ch]: use the hacked version instead
	of the one from GTK+. Set the orientation to horizontal.


svn path=/trunk/; revision=26013
2008-06-28 19:01:25 +00:00
Sven Neumann 081a273f99 some more fiddling to simplify the API
svn path=/trunk/; revision=25811
2008-05-26 16:41:34 +00:00