Commit graph

10 commits

Author SHA1 Message Date
Michael Natterer a75c675d03 added GimpToolRegisterFunc, GimpToolRegisterCallback and
2001-11-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-types.h: added GimpToolRegisterFunc,
	GimpToolRegisterCallback and GimpToolOptionsNewFunc typedefs
	which are used to register tools.

	* app/tools/tools.c: put the register funcs in an array of
	GimpToolRegisterFuncs. Pass a Gimp pointer *plus* a
	GimpToolRegisterCallback (which is tool_manager_register_tool())
	to the tools' register functions.

	* app/tools/tool_manager.[ch]: added a GimpToolOptionsNewFunc to
	the parameters of tool_manager_register_tool(). Create the tool
	options here, not in each tool.

	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]
	* app/tools/tool_options.[ch]
	* app/tools/transform_options.[ch]: all _init() and _new()
	functions take a GimpToolInfo pointer now. The _reset() func needs
	to be set manually now.

	* app/tools/[all_tools].[ch]: changed accordingly:

	- pass GimpToolOptionsNewFuncs to the register callback.
	- don't create the tool options in the tools' _init() function.
	- removed all static tool options variables.
	- get the options from the tool system in the cases i missed
	  in my last commit.
	- added minor hacks to get rid of the static options pointer
	  in some pathological cases :) (i.e. the ink tool).
2001-11-20 23:00:47 +00:00
Michael Natterer b844c98549 removed path_to_beziersel() so this file can be safely included from
2001-07-17  Michael Natterer  <mitch@gimp.org>

	* app/path.[ch]: removed path_to_beziersel() so this file can be
	safely included from core/.

	* app/tools/gimpbezierselecttool.[ch]: added it here.

	* app/core/core-types.h: added a GimpToolOptions typedef. Removes
	deps into tools/ and will later be a core object anyway.

	* app/tools/tools-types.h: removed the ToolOptions typedef here.

	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-mask.c
	* app/core/gimpimage.c
	* app/core/gimptoolinfo.[ch]: removed deps into tools/, misc stuff.

	* app/tools/tool_manager.[ch]: some ugly temp hacks. Please ignore.

	* app/widgets/gimpdialogfactory.[ch]: added a "remember_if_open" field
	to the GimpDialogFactoryEntry so we can manage dialogs which should
	not be re-opened on startup.

	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c: register & create all editor dialog with the
	"global_dialog_factory".

	* app/gui/tool-options-dialog.c
	* app/tools/*: s/ToolOptions/GimpToolOptions/
2001-07-17 20:50:01 +00:00
Michael Natterer 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +00:00
Michael Natterer 3eb62f8756 removed crap from ancient times when tools used to be an enum.
2001-02-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c: removed crap from ancient times when tools
	used to be an enum.

	* app/brush_select.[ch]: cleaned up the gui and made global paint
	mode toggling much simpler by expanding vertically instead of
	reparenting.

	* app/context_manager.c: removed hack by using a tool manager
	accessor function.

	* app/gimpcontext.c: use the new standard tool info object. Tools
	also _behave_ like all other data types now (can e.g. be
	refreshed).

	* app/tools/tool.[ch]

	* app/tools/gimptoolinfo.[ch]: added an "identifier" which is an
	untranslated string with a meaningful prefix and name, e.g.
	"gimp:color_picker_tool". Renamed "tool_name" and "tool_desc"
	to "blurb" and "help", changed the constructor accordingly.
	Added gimp_tool_info_get_standards() to make the context work
	with tool refresh.

	* app/tools/tool_manager.[ch]
	* app/tools/tools.c: removed the global list of tool class
	structures because the tool info list is in place.
	Added tool_manager_register_tool_options() which calls
	tool_options_dialog_add() and registers the options in the
	global_tool_info_list.

	* app/tools/Makefile.am
	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]
	* app/tools/tool_options.[ch]
	* app/tools/tool_options_dialog.[ch]: build them all again. This
	is mostly the old tool options system with minor modifications to
	work with the new stuff. The tool options auto-update with the user
	context now, so there are no update functions any more.

	* app/gimpdnd.c
	* app/toolbox.c
	* app/tools/color_picker.c
	* app/tools/measure.c
	* app/tools/move.c: changed accordingly.
2001-02-23 21:32:47 +00:00
Michael Natterer 22371de3e7 added a note about apptype.h and about not including headers in headers.
2001-02-14  Michael Natterer  <mitch@gimp.org>

	* HACKING: added a note about apptype.h and about not including
	headers in headers.

	* app/apptypes.h: added GimpTool and BitmapCursor.

	* app/cursorutil.h
	* app/devices.h
	* app/draw_core.h
	* app/tools/color_picker.h
	* app/tools/tool.h
	* app/tools/tool_options.h
	* app/gimpcontext.h: removed includes of "tools/tool.h"

	* app/gimprc.[ch]: indentadion cleanup, added
	"module_db_load_inhibit".

	* app/module_db.c: removed the above variable here.

	* app/gimpdata.[ch]: added a vitrual "duplicate" method.

	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpgradient.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern.[ch]: all "load", "new" and "get_standard"
	functions return a GimpData pointer now.

	* app/gimpdatafactory.[ch]: made some stuff const.

	* app/gimpdatafactoryview.c: activate the "duplicate" button and
	set the initial button sensitivity correctly.

	* app/brush_select.c
	* app/gradient_select.c
	* app/pattern_select.c: use the new GimpDataFactoryView.

	* libgimp/Makefile.am: grouped the file to sort out what _may_
	go to subdirs or separate libs.

	* libgimp/gimpenv.[ch]: added many "const".

	* app/app_procs.c
	* app/brush_edit.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/gradient_editor.c
	* app/palette.c
	* app/palette_import.c
	* app/user_install.c: many related changes.

	* libgimpmath/gimpmathtypes.h
	* libgimpmath/gimpvector.[ch]: minor cleanups.

	* plug-ins/script-fu/script-fu.c: gimp_data_directory() is const now.
2001-02-14 14:57:14 +00:00
Nate Summers 35ac032ff1 prototype for an extension that allows gmodules as plugins. Known bug:
* plug-ins/plugin-helper/*: prototype for an extension that allows
        gmodules as plugins.  Known bug: crashes on gmodules with a static "query" function

        * app/tools/tool.c
        * app/tools/tool.h: created new GimpTool object.  Did away with ToolInfo.
        Most tools still need to be ported over to the new api.
        * plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment.  Pathetic, huh?
2001-02-14 04:55:21 +00:00
Michael Natterer cf15da5729 app/Makefile.am removed.
2001-01-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/selection_options.h: removed.

	* app/tools/Makefile.am
	* app/tools/selection_options.h: added.

	* app/tools/selection_options.c
	* app/tools/paint_options.c: new files cut out of tool_options.c

	* app/tools/tool_options.c: removed the paint & selection
	options code.

	* app/tools/tool_options.h
	* app/tools/paint_options.h: cleanup.

	* po/POTFILES.in: added selection_options.c and paint_options.c
2001-01-22 04:17:17 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Sven Neumann dfa2bed505 Last-minute cleanup:
2000-12-16  Sven Neumann  <sven@gimp.org>

	Last-minute cleanup:

	* app/gimpdrawableF.h
	* app/gimphistogramF.h
	* app/gimpimageF.h
	* app/gimplistF.h
	* app/gimplutF.h
	* app/gimpobjectF.h
	* app/gimpsetF.h
	* app/layerF.h
	* app/parasitelistF.h: removed these files

	* app/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly

	* app/[almost every file]: include cleanup
2000-12-16 21:37:03 +00:00
Michael Natterer 8dbd5f9b65 app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/bezier_select.c
        * app/blend.c
        * app/brightness_contrast.c
        * app/bucket_fill.c
        * app/by_color_select.c
        * app/clone.c
        * app/color_balance.c
        * app/color_picker.c
        * app/convolve.c
        * app/crop.c
        * app/curves.c
        * app/ellipse_select.c
        * app/eraser.c
        * app/flip_tool.c
        * app/free_select.c
        * app/fuzzy_select.c
        * app/histogram_tool.c
        * app/hue_saturation.c
        * app/ink.c
        * app/iscissors.c
        * app/levels.c
        * app/magnify.c
        * app/move.c
        * app/paintbrush.c
        * app/pencil.c
        * app/posterize.c
        * app/rect_select.[ch]
        * app/text_tool.c
        * app/threshold.c
        * app/transform_tool.c

        * app/tools.[ch]
        * app/toolsF.h: again: all tools :(

        * app/Makefile.am
        * app/tool_options.[ch]
        * app/selection_options.h
        * app/tool_options_ui.h: new files.

        Ok, this time it's general enough for future extensions:

        - The tool options structures are organized like the gtk object
          system to allow derived tool options.
        - Renamed all create and reset functions to *_options_new() and
          *_options_reset() to reflect this.
        - Changed tools_register() again. Now it takes just a pointer to a
          ToolOptions structure.
        - Moved almost the entire tool options gui code to tool_options.c.
        - Visually separated the common selection options from the
          tool-specific ones. I'd like to do the same with opacity/paint
          mode in all paint tool options but I think this needs some more
          discussion.

        * app/histogram_tool.c: changed packing boxes, label alignments.

        * app/paintbrush.c: some more sensitive settings. The gradient
        feature can now be toggled with a button. Hopefully didn't break
        anything.
1999-04-12 17:55:06 +00:00