Commit Graph

12 Commits

Author SHA1 Message Date
31f690cf24 added properties for "children_type" and "policy". Ref/unref the
2001-10-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontainer.[ch]: added properties for "children_type"
	and "policy". Ref/unref the "children_type" class so we can do
	signal lookups and use other introspection features without an
	existing instance of "children_type".

	The new properties are G_PARAM_CONSTRUCT_ONLY and *MUST* be passed
	to g_object_new() to ref/unref children_type's class correctly.

	* app/core/gimpdatalist.c
	* app/core/gimplist.c: pass them as construct properties.

	* app/core/gimp.c: no need to manually ref classes any more.
2001-10-18 12:43:31 +00:00
357f463d59 added a TODO entry about additional image/file info.
2001-08-11  Michael Natterer  <mitch@gimp.org>

	* TODO.xml: added a TODO entry about additional image/file info.

	* app/file-save.c: #include "core/gimpdocuments.h"

	* app/core/gimpcontainer.[ch]: made virtual functions out of some
	signals.

	* app/core/*.[ch]: more GObject stuff: ported all
	gimp_foo_get_type() functions and replaced almost all "destroy"
	implementations with either "finalize" or "dispose" functions.
2001-08-11 14:39:19 +00:00
06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
90e8b4d790 cleanup.
2001-04-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: cleanup.

	* app/interface.c: #include "gimpui.h"

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c
	* app/gui/test-commands.[ch]: changes for the image menu below.

	* app/apptypes.h
	* app/widgets/Makefile.am
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
	implemtation lives in a separate file because
	gimpcontainermenu.c's code is identical to gimpcontainerview.c's
	except for the base class. This will become an interface with Gtk 2.0.

	* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
	pages still don't follow the context correctly.

	* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.

	* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
	the constructor and provide a method to create a new dock within
	this factory's context.

	* app/widgets/gimpdock.[ch]: removed the constructor because we
	create only image docks now. Put the vbox into a main_vbox (which
	also contains the image menu).

	* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
	factory.

	* app/gimpcontainer.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.[ch]
	* app/gimplist.[ch]
	* app/gimpviewable.[ch]
	* app/widgets/gimpbrushpreview.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainerlistview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistitem.[ch]
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpdrawablepreview.[ch]
	* app/widgets/gimplayerlistitem.[ch]
	* app/widgets/gimplayerlistview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimppalettepreview.[ch]
	* app/widgets/gimppatternpreview.[ch]
	* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-22 00:38:56 +00:00
6e9296c542 new function.
2001-02-19  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainer.[ch] (gimp_container_insert): new function.
2001-02-19 03:35:55 +00:00
2f6f9bdd0b app/gimpcontainer.[ch] app/gimpcontainergridview.c
2001-02-17  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainer.[ch]
	* app/gimpcontainergridview.c
	* app/gimpcontainerlistview.c
	* app/gimpcontainerview.[ch]
	* app/gimplist.c
	* app/gimpmarshal.[ch]: the GimpContainer has a new virtual "reorder"
	method which is much more eficient then the current remove/add
	braindeadness when renaming data objects.
	Changed the views to connect to "reorder" and call the
	GimpContainerView's new "reorder_item" method which then does
	the right thing in the view subclasses.

	* app/gimpdatafactory.c
	* app/gimpdatafactoryview.c
	* app/gimpdatalist.[ch]: removed the data list loading and saving
	stuff from GimpDataList because that's the job of the
	GimpDataFactory.

	* app/brush_edit.[ch]
	* app/brush_select.c: cleanup.

	* app/gradient_editor.[ch]: changed it to work like the brush
	editor: return a GradientEditor pointer in the constructor
	and statically store this pointer in the gradient selection file.
	Removed the global "g_editor" variable and added tons of
	GradientEditor* variables to function calls so they know their
	context without the global variable.

	* app/gradient_select.c: changed accordingly.
2001-02-17 21:20:10 +00:00
d6a2d391e9 took gimpcontextpreview.[ch] out of the build but still left the sources
2001-02-12  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: took gimpcontextpreview.[ch] out of the build
	but still left the sources there as reference.

	* app/app_procs.c: initialize the render stuff before creating the
	toolbox (needed for the previews).

	* app/devices.c
	* app/indicator_area.c: use GimpPreviews instead of
	GimpContextPreviews.

	* app/context_manager.[ch]: create the global data lists here
	because they now must exist before any context is created.

	* app/brushes.[ch]
	* app/gradients.[ch]
	* app/palettes.[ch]
	* app/patterns.[ch]: removed them here.

	* app/gimpcontainer.[ch]: added a "freeze_count" and emit the
	"freeze" and "thaw" signals accordingly.

	* app/gimpcontext.[ch]: greatly simplified the way how the
	contexts connect to the data lists (simply keep them connected all
	the time). Also removed all those ugly explicit update functions
	because "thaw" callbacks do this job now.

	* app/gimpdata.c: a GimpData object now becomes dirty on
	"name_changed"; "dirty" now triggers "invalidate_preview" because
	the context does not dispatch these signals any more soon.

	* app/brush_select.c
	* app/convert.c
	* app/gimpdnd.c
	* app/gradient_editor.c
	* app/gradient_select.c
	* app/pattern_select.c
	* app/gradient_editor.c
	* app/gradient_select.c
	* app/gradients.[ch]
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/convert_cmds.c
	* app/pdb/gradient_select_cmds.c
	* app/pdb/gradients_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-12 03:27:28 +00:00
6fc9702bb3 added the datafile loader_func typedefs.
2001-02-11  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h: added the datafile loader_func typedefs.

	* app/datafiles.h: removed from here.

	* app/gimpcontainer.[ch]: emit "freeze" and "thaw" signals to get
	rid of those blah_select_[freeze|thaw]_all() stuff.

	* app/gimpdatalist.[ch]: new function gimp_data_list_load() which
	takes a va_list of GimpDataObjectLoaderFuncs and file extensions
	and is almost a replacement for the four files below.

	* app/brushes.c
	* app/gradients.c
	* app/palettes.c
	* app/patterns.c: very simple now. It may be worth thinking about
	making all GimpData subclasses managed by a descriptive array in
	the context_manager.
2001-02-11 21:08:04 +00:00
2e464cf5e6 app/gimpcontainer.[ch] made the "get_by_name" and the "by_index" access
2001-02-05  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainer.[ch]
	* app/gimplist.[ch]: made the "get_by_name" and the "by_index"
	access functions methods of the GimpContainerClass. The semantic
	of this index is somewhat unclear if we have e.g. a hash table
	implementation but the container needs to have an order for the
	ContainerView. Finally, the ordering will be a feature of the
	ContainerView.

	* app/gimpmarshal.[ch]: marshallers needed for the new methods.

	* app/brushes.[ch]
	* app/patterns.[ch]: the public global brush and pattern lists
	are GimpContainers now (they are really GimpLists of course).

	* app/brush_select.c
	* app/devices.c
	* app/gimpcontainerlistview.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/pattern_select.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb: changed accordingly.
2001-02-05 17:48:50 +00:00
1994facc9e renamed gimp_container_lookup() back to gimp_container_have(). Virtualized
2001-02-04  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontainer.[ch]: renamed gimp_container_lookup() back
	to gimp_container_have(). Virtualized the "add", "remove",
	"have" and "foreach" methods and removed the "children" list.

	* app/gimplist.[ch]: derived from GimpContainer now.

	* app/Makefile.am
	* app/gimpdatalist.[ch]: new object: an alphabetically sorted
	GimpList with unique names.

	* app/gimpbrushlist.[ch]: removed. It's job is done by the
	GimpDataList now.

	* app/brushes.[ch]: new files. Contain the "brushes_()" functions
	for the global brush list.

	* app/app_procs.c
	* app/apptypes.h
	* app/brush_select.[ch]
	* app/colormap_dialog.[ch]
	* app/context_manager.c
	* app/devices.c
	* app/gimpbrush.c
	* app/gimpcontext.c
	* app/gimpdnd.c
	* app/info_window.c
	* app/lc_dialog.c
	* app/module_db.c
	* app/nav_window.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/tools/by_color_select.c
	* app/tools/paintbrush.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* po/POTFILES.in: changed accordingly.
2001-02-04 14:10:03 +00:00
c46bdc37f0 app/Makefile.am removed.
2001-02-03  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimpset.[ch]: removed.

	* app/gimpcontainer.[ch]: some minor fixes, cleanup.

	* app/context_manager.[ch]: made the "image_context" a GimpContainer
	and moved it here...

	* app/appenv.h
	* app/main.c: ...from here.

	* app/app_procs.c
	* app/colormap_dialog.[ch]
	* app/commands.c
	* app/gimage.c
	* app/gimpcontext.c
	* app/gimpimage.c
	* app/info_window.c
	* app/lc_dialog.c
	* app/lut_funcs.c
	* app/module_db.c
	* app/nav_window.c
	* app/palette_import.c
	* app/paths_dialog.c
	* app/pixel_region.c
	* app/scale.c
	* app/scroll.c
	* app/selection.c
	* app/temp_buf.c
	* app/undo.c
	* app/pdb/procedural_db.c
	* app/tools/by_color_select.c
	* app/tools/clone.c
	* app/tools/color_balance.c
	* app/tools/color_picker.c
	* app/tools/convolve.c
	* app/tools/crop.c
	* app/tools/curves.c
	* app/tools/paint_core.c
	* app/tools/transform_core.c: s/GimpSet/GimpContainer/g, removed
	many useless #include "appenv.h".

	* app/gimpdrawablepreview.c
	* app/gdisplay.c: found two badly crashing bugs i have introduced
	with my last changes here.
2001-02-03 22:05:41 +00:00
7c85e907b6 app/Makefile.am app/apptypes.h
2001-02-03  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h

	* app/gimpcontainer.[ch]: new (yet unused and untested) object
	which will replace GimpSet, GimpList and GimpBrushList and be the
	container and signal proxy for all collections of GimpObjects.
2001-02-03 16:51:10 +00:00