The way we currently manage tool options, and particularly copy things
around for "global_brush", "global_pattern" etc. sucks, is spread
across files, happens only on tool change, is thus buggy and leads to
all sorts of small inconsistencies.
This new manager will replace all of that stuff, and it does it in one
place, and will keep the user context, the global paint options, and
all tool options connected permanently, and only connect/disconnect
things when settings change, so everything is always in a consistent
state.
Pushed for review only, nothing is used yet.
(cherry picked from commit ef952f2926)
265 lines
7.3 KiB
Makefile
265 lines
7.3 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
AM_CPPFLAGS = \
|
|
-DG_LOG_DOMAIN=\"Gimp-Tools\" \
|
|
-I$(top_builddir) \
|
|
-I$(top_srcdir) \
|
|
-I$(top_builddir)/app \
|
|
-I$(top_srcdir)/app \
|
|
$(GEGL_CFLAGS) \
|
|
$(GTK_CFLAGS) \
|
|
-I$(includedir)
|
|
|
|
noinst_LIBRARIES = libapptools.a
|
|
|
|
libapptools_a_sources = \
|
|
tools-enums.h \
|
|
tools-types.h \
|
|
gimp-tool-options-manager.c \
|
|
gimp-tool-options-manager.h \
|
|
gimp-tools.c \
|
|
gimp-tools.h \
|
|
tool_manager.c \
|
|
tool_manager.h \
|
|
\
|
|
gimpairbrushtool.c \
|
|
gimpairbrushtool.h \
|
|
gimpalignoptions.c \
|
|
gimpalignoptions.h \
|
|
gimpaligntool.c \
|
|
gimpaligntool.h \
|
|
gimpbrightnesscontrasttool.c \
|
|
gimpbrightnesscontrasttool.h \
|
|
gimpbrushtool.c \
|
|
gimpbrushtool.h \
|
|
gimpbucketfilloptions.c \
|
|
gimpbucketfilloptions.h \
|
|
gimpbucketfilltool.c \
|
|
gimpbucketfilltool.h \
|
|
gimpbycolorselecttool.c \
|
|
gimpbycolorselecttool.h \
|
|
gimpcageoptions.c \
|
|
gimpcageoptions.h \
|
|
gimpcagetool.c \
|
|
gimpcagetool.h \
|
|
gimpcloneoptions-gui.c \
|
|
gimpcloneoptions-gui.h \
|
|
gimpclonetool.c \
|
|
gimpclonetool.h \
|
|
gimpcoloroptions.c \
|
|
gimpcoloroptions.h \
|
|
gimpcolortool.c \
|
|
gimpcolortool.h \
|
|
gimpcolorpickeroptions.c \
|
|
gimpcolorpickeroptions.h \
|
|
gimpcolorpickertool.c \
|
|
gimpcolorpickertool.h \
|
|
gimpconvolvetool.c \
|
|
gimpconvolvetool.h \
|
|
gimpcropoptions.c \
|
|
gimpcropoptions.h \
|
|
gimpcroptool.c \
|
|
gimpcroptool.h \
|
|
gimpcurvestool.c \
|
|
gimpcurvestool.h \
|
|
gimpdodgeburntool.c \
|
|
gimpdodgeburntool.h \
|
|
gimpdrawtool.c \
|
|
gimpdrawtool.h \
|
|
gimpeditselectiontool.c \
|
|
gimpeditselectiontool.h \
|
|
gimpellipseselecttool.c \
|
|
gimpellipseselecttool.h \
|
|
gimperasertool.c \
|
|
gimperasertool.h \
|
|
gimpfilteroptions.c \
|
|
gimpfilteroptions.h \
|
|
gimpfiltertool.c \
|
|
gimpfiltertool.h \
|
|
gimpfiltertool-settings.c \
|
|
gimpfiltertool-settings.h \
|
|
gimpfiltertool-widgets.c \
|
|
gimpfiltertool-widgets.h \
|
|
gimpflipoptions.c \
|
|
gimpflipoptions.h \
|
|
gimpfliptool.c \
|
|
gimpfliptool.h \
|
|
gimpfreeselecttool.c \
|
|
gimpfreeselecttool.h \
|
|
gimpforegroundselectoptions.c \
|
|
gimpforegroundselectoptions.h \
|
|
gimpforegroundselecttool.c \
|
|
gimpforegroundselecttool.h \
|
|
gimpforegroundselecttoolundo.c \
|
|
gimpforegroundselecttoolundo.h \
|
|
gimpfuzzyselecttool.c \
|
|
gimpfuzzyselecttool.h \
|
|
gimpgegltool.c \
|
|
gimpgegltool.h \
|
|
gimpgenerictransformtool.c \
|
|
gimpgenerictransformtool.h \
|
|
gimpgradientoptions.c \
|
|
gimpgradientoptions.h \
|
|
gimpgradienttool.c \
|
|
gimpgradienttool.h \
|
|
gimpgradienttool-editor.c \
|
|
gimpgradienttool-editor.h \
|
|
gimpguidetool.c \
|
|
gimpguidetool.h \
|
|
gimphandletransformoptions.c \
|
|
gimphandletransformoptions.h \
|
|
gimphandletransformtool.c \
|
|
gimphandletransformtool.h \
|
|
gimphealtool.c \
|
|
gimphealtool.h \
|
|
gimphistogramoptions.c \
|
|
gimphistogramoptions.h \
|
|
gimpinkoptions-gui.c \
|
|
gimpinkoptions-gui.h \
|
|
gimpinktool.c \
|
|
gimpinktool.h \
|
|
gimpiscissorsoptions.c \
|
|
gimpiscissorsoptions.h \
|
|
gimpiscissorstool.c \
|
|
gimpiscissorstool.h \
|
|
gimplevelstool.c \
|
|
gimplevelstool.h \
|
|
gimpoperationtool.c \
|
|
gimpoperationtool.h \
|
|
gimpmagnifyoptions.c \
|
|
gimpmagnifyoptions.h \
|
|
gimpmagnifytool.c \
|
|
gimpmagnifytool.h \
|
|
gimpmeasureoptions.c \
|
|
gimpmeasureoptions.h \
|
|
gimpmeasuretool.c \
|
|
gimpmeasuretool.h \
|
|
gimpmoveoptions.c \
|
|
gimpmoveoptions.h \
|
|
gimpmovetool.c \
|
|
gimpmovetool.h \
|
|
gimpmybrushoptions-gui.c \
|
|
gimpmybrushoptions-gui.h \
|
|
gimpmybrushtool.c \
|
|
gimpmybrushtool.h \
|
|
gimpnpointdeformationoptions.c \
|
|
gimpnpointdeformationoptions.h \
|
|
gimpnpointdeformationtool.c \
|
|
gimpnpointdeformationtool.h \
|
|
gimppaintbrushtool.c \
|
|
gimppaintbrushtool.h \
|
|
gimppaintoptions-gui.c \
|
|
gimppaintoptions-gui.h \
|
|
gimppainttool.c \
|
|
gimppainttool.h \
|
|
gimppainttool-paint.c \
|
|
gimppainttool-paint.h \
|
|
gimppenciltool.c \
|
|
gimppenciltool.h \
|
|
gimpperspectiveclonetool.c \
|
|
gimpperspectiveclonetool.h \
|
|
gimpperspectivetool.c \
|
|
gimpperspectivetool.h \
|
|
gimprectangleselecttool.c \
|
|
gimprectangleselecttool.h \
|
|
gimprectangleselectoptions.c \
|
|
gimprectangleselectoptions.h \
|
|
gimprectangleoptions.c \
|
|
gimprectangleoptions.h \
|
|
gimpregionselectoptions.c \
|
|
gimpregionselectoptions.h \
|
|
gimpregionselecttool.c \
|
|
gimpregionselecttool.h \
|
|
gimprotatetool.c \
|
|
gimprotatetool.h \
|
|
gimpsamplepointtool.c \
|
|
gimpsamplepointtool.h \
|
|
gimpscaletool.c \
|
|
gimpscaletool.h \
|
|
gimpseamlesscloneoptions.c \
|
|
gimpseamlesscloneoptions.h \
|
|
gimpseamlessclonetool.c \
|
|
gimpseamlessclonetool.h \
|
|
gimpselectionoptions.c \
|
|
gimpselectionoptions.h \
|
|
gimpselectiontool.c \
|
|
gimpselectiontool.h \
|
|
gimpsheartool.c \
|
|
gimpsheartool.h \
|
|
gimpsmudgetool.c \
|
|
gimpsmudgetool.h \
|
|
gimpsourcetool.c \
|
|
gimpsourcetool.h \
|
|
gimptextoptions.c \
|
|
gimptextoptions.h \
|
|
gimptexttool.c \
|
|
gimptexttool.h \
|
|
gimptexttool-editor.c \
|
|
gimptexttool-editor.h \
|
|
gimpthresholdtool.c \
|
|
gimpthresholdtool.h \
|
|
gimptilehandleriscissors.c \
|
|
gimptilehandleriscissors.h \
|
|
gimptool.c \
|
|
gimptool.h \
|
|
gimptool-progress.c \
|
|
gimptool-progress.h \
|
|
gimptoolcontrol.c \
|
|
gimptoolcontrol.h \
|
|
gimptooloptions-gui.c \
|
|
gimptooloptions-gui.h \
|
|
gimptransformgridoptions.c \
|
|
gimptransformgridoptions.h \
|
|
gimptransformgridtool.c \
|
|
gimptransformgridtool.h \
|
|
gimptransformgridtoolundo.c \
|
|
gimptransformgridtoolundo.h \
|
|
gimptransformoptions.c \
|
|
gimptransformoptions.h \
|
|
gimptransformtool.c \
|
|
gimptransformtool.h \
|
|
gimpunifiedtransformtool.c \
|
|
gimpunifiedtransformtool.h \
|
|
gimpvectoroptions.c \
|
|
gimpvectoroptions.h \
|
|
gimpvectortool.c \
|
|
gimpvectortool.h \
|
|
gimpwarpoptions.c \
|
|
gimpwarpoptions.h \
|
|
gimpwarptool.c \
|
|
gimpwarptool.h
|
|
|
|
libapptools_a_built_sources = tools-enums.c
|
|
|
|
libapptools_a_SOURCES = $(libapptools_a_built_sources) $(libapptools_a_sources)
|
|
|
|
#
|
|
# rules to generate built sources
|
|
#
|
|
# setup autogeneration dependencies
|
|
gen_sources = xgen-tec
|
|
CLEANFILES = $(gen_sources)
|
|
|
|
xgen-tec: $(srcdir)/tools-enums.h $(GIMP_MKENUMS) Makefile.am
|
|
$(AM_V_GEN) $(GIMP_MKENUMS) \
|
|
--fhead "#include \"config.h\"\n#include <gio/gio.h>\n#include \"libgimpbase/gimpbase.h\"\n#include \"core/core-enums.h\"\n#include \"tools-enums.h\"\n#include \"gimp-intl.h\"" \
|
|
--fprod "\n/* enumerations from \"@basename@\" */" \
|
|
--vhead "GType\n@enum_name@_get_type (void)\n{\n static const G@Type@Value values[] =\n {" \
|
|
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
|
--vtail " { 0, NULL, NULL }\n };\n" \
|
|
--dhead " static const Gimp@Type@Desc descs[] =\n {" \
|
|
--dprod " { @VALUENAME@, @valuedesc@, @valuehelp@ },@if ('@valueabbrev@' ne 'NULL')@\n /* Translators: this is an abbreviated version of @valueudesc@.\n Keep it short. */\n { @VALUENAME@, @valueabbrev@, NULL },@endif@" \
|
|
--dtail " { 0, NULL, NULL }\n };\n\n static GType type = 0;\n\n if (G_UNLIKELY (! type))\n {\n type = g_@type@_register_static (\"@EnumName@\", values);\n gimp_type_set_translation_context (type, \"@enumnick@\");\n gimp_@type@_set_value_descriptions (type, descs);\n }\n\n return type;\n}\n" \
|
|
$< > $@
|
|
|
|
# copy the generated enum file back to the source directory only if it's
|
|
# changed; otherwise, only update its timestamp, so that the recipe isn't
|
|
# executed again on the next build, however, allow this to (harmlessly) fail,
|
|
# to support building from a read-only source tree.
|
|
$(srcdir)/tools-enums.c: xgen-tec
|
|
$(AM_V_GEN) if ! cmp -s $< $@; then \
|
|
cp $< $@; \
|
|
else \
|
|
touch $@ 2> /dev/null \
|
|
|| true; \
|
|
fi
|