Commit graph

37 commits

Author SHA1 Message Date
Alx Sa
bd23d5a926 libgimpwidgets: More widgets are now FINAL types 2024-10-19 02:27:07 +00:00
Jehan
d493f0537f Issue #8900 and #9923: reimplementing GimpUnit as a proper class.
This fixes all our GObject Introspection issues with GimpUnit which was
both an enum and an int-derived type of user-defined units *completing*
the enum values. GIR clearly didn't like this!

Now GimpUnit is a proper class and units are unique objects, allowing to
compare them with an identity test (i.e. `unit == gimp_unit_pixel ()`
tells us if unit is the pixel unit or not), which makes it easy to use,
just like with int, yet adding also methods, making for nicer
introspected API.

As an aside, this also fixes #10738, by having all the built-in units
retrievable even if libgimpbase had not been properly initialized with
gimp_base_init().
I haven't checked in details how GIR works to introspect, but it looks
like it loads the library to inspect and runs functions, hence
triggering some CRITICALS because virtual methods (supposed to be
initialized with gimp_base_init() run by libgimp) are not set. This new
code won't trigger any critical because the vtable method are now not
necessary, at least for all built-in units.

Note that GimpUnit is still in libgimpbase. It could have been moved to
libgimp in order to avoid any virtual method table (since we need to
keep core and libgimp side's units in sync, PDB is required), but too
many libgimpwidgets widgets were already using GimpUnit. And technically
most of GimpUnit logic doesn't require PDB (only the creation/sync
part). This is one of the reasons why user-created GimpUnit list is
handled and stored differently from other types of objects.

Globally this simplifies the code a lot too and we don't need separate
implementations of various utils for core and libgimp, which means less
prone to errors.
2024-08-02 10:46:38 +02:00
Alx Sa
afce1c1f02 libgimpwidgets: Convert more gimpwidgets to derivable type
Continuation of work from 74e7e16e
2024-08-01 03:55:31 +00:00
Michael Natterer
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer
d57ab7faf2 libgimpwidgets: move all GimpSizeEntry members to private 2018-05-25 19:15:00 +02:00
Michael Natterer
f4f106ad26 libimp*: add private pointers to all instance structs
even if we don't have private members (yet). Also make class padding 8
pointers in all headers. This commit moves nothing to private, it just
makes all headers consistent and adjusts .c files accordigly.
2018-05-20 21:06:33 +02:00
Simon Budig
72e63887ba libgimpwidgets: convert GimpSizeEntry to a GtkGrid. 2018-05-20 21:06:32 +02:00
Michael Natterer
844df2b4df libgimp*: add guards that #error out if individual files are included
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.

The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2011-04-28 14:30:41 +02: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
Sven Neumann
f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
William Skaggs
ed9bc27163 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* libgimpwidgets/gimpsizeentry.[ch]: added function
	gimp_size_entry_show_unit_menu() for convenience.

	* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangletool.[ch]:  more work on
	controls in Tool Options.  Can now resize rectangle
	by dragging any corner or edge -- move rectangle by
	clicking inside and dragging.
2005-03-09 22:22:38 +00:00
Sven Neumann
381e762ee6 libgimpwidgets/gimpsizeentry.[ch] added new function
2005-02-09  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpsizeentry.[ch]
	* libgimpwidgets/gimpwidgets.def: added new function
	gimp_size_entry_set_activates_default().

	* app/dialogs/image-new-dialog.c: set the initial focus on the
	Width entry and set the activates_default flag for the size entry.
	Fixes bug #165748.
2005-02-09 16:57:18 +00:00
Sven Neumann
b298b90cc7 return the created label widget so that it can for example be put into a
2004-05-18  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpsizeentry.[ch] (gimp_size_entry_attach_label):
	return the created label widget so that it can for example be put
	into a GtkSizeGroup.

	* plug-ins/libgimpoldpreview/gimpoldpreview.[ch]: removed the
	optional "Preview" frame. Always put the preview into a sunken
	frame.

	* plug-ins/common/AlienMap2.c
	* plug-ins/common/blinds.c
	* plug-ins/common/flarefx.c
	* plug-ins/common/glasstile.c
	* plug-ins/common/grid.c
	* plug-ins/common/illusion.c
	* plug-ins/common/jigsaw.c
	* plug-ins/common/max_rgb.c
	* plug-ins/common/nlfilt.c
	* plug-ins/common/noisify.c
	* plug-ins/common/nova.c
	* plug-ins/common/plasma.c
	* plug-ins/common/polar.c
	* plug-ins/common/waves.c
	* plug-ins/common/wind.c: changed accordingly, HIG-ified.
2004-05-18 17:06:06 +00:00
Michael Natterer
e8843a2372 reset binary age because of struct changes below. require GIMP 1.3.26.
2004-01-29  Michael Natterer  <mitch@gimp.org>

	* configure.in: reset binary age because of struct changes below.
	* m4macros/gimp-2.0.m4: require GIMP 1.3.26.

	* libgimpmodule/gimpmodule.h
	* libgimpmodule/gimpmoduledb.h
	* libgimpthumb/gimpthumbnail.h
	* libgimpwidgets/gimpbutton.h
	* libgimpwidgets/gimpchainbutton.h
	* libgimpwidgets/gimpcolorarea.h
	* libgimpwidgets/gimpcolorbutton.h
	* libgimpwidgets/gimpcolordisplay.h
	* libgimpwidgets/gimpcolordisplaystack.h
	* libgimpwidgets/gimpcolornotebook.h
	* libgimpwidgets/gimpcolorscale.h
	* libgimpwidgets/gimpcolorselection.h
	* libgimpwidgets/gimpcolorselector.h
	* libgimpwidgets/gimpdialog.h
	* libgimpwidgets/gimpfileentry.h
	* libgimpwidgets/gimpmemsizeentry.h
	* libgimpwidgets/gimpoffsetarea.h
	* libgimpwidgets/gimppickbutton.h
	* libgimpwidgets/gimppixmap.h
	* libgimpwidgets/gimpsizeentry.h
	* libgimpwidgets/gimpunitmenu.h: added 4 function pointers padding
	to all class structures.
2004-01-29 00:21:33 +00:00
Sven Neumann
d86e56e4d7 added new function gimp_size_entry_get_help_widget() to make it possible
2003-10-15  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpsizeentry.[ch]: added new function
	gimp_size_entry_get_help_widget() to make it possible to set
	tooltips on a GimpSizeEntry.
2003-10-15 11:57:36 +00:00
Sven Neumann
2f855afa6a added an API to allow for sub-pixel sizes in spinbuttons connected to a
2003-10-01  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpunitmenu.[ch]:
	* libgimpwidgets/gimpwidgets.c: added an API to allow for
	sub-pixel sizes in spinbuttons connected to a GimpUnitMenu.
	Make GimpUnitMenu emit "unit-changed" when the unit is changed
	programmatically.

	* libgimpwidgets/gimpsizeentry.[ch}: added a similar API here.
	Make GimpSizeEntry emit "unit-changed" when the unit is changed
	programmatically. The other signals will need similar changes.

	* plug-ins/common/gauss_rle.c
	* plug-ins/common/gauss_iir.c
	* app/widgets/gimpstrokeeditor.c: use the new API.
2003-09-30 23:19:48 +00:00
Sven Neumann
757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00
Manish Singh
7117483fcb configure.in app/Makefile.am app/plug-in/Makefile.am plug-ins/Makefile.am
2001-11-11  Manish Singh  <yosh@gimp.org>

        * configure.in
        * app/Makefile.am
        * app/plug-in/Makefile.am
        * plug-ins/Makefile.am
        * modules/Makefile.am: fixes to build with automake 1.5 (just hacks
        to get it to work, real fixes to come later)

        * app/gui/preferences-dialog.c: unset GValue from tree model when
        we're done with it.

        * libgimpwidgets/gimpcolorarea.c
        * libgimpwidgets/gimpcolorbutton.c
        * libgimpwidgets/gimpsizeentry.[ch]
        * libgimpwidgets/gimpwidgets.[ch]
        * plug-ins/common/animationplay.c
        * plug-ins/common/colorify.c
        * plug-ins/common/curve_bend.c
        * plug-ins/common/diffraction.c
        * plug-ins/common/film.c
        * plug-ins/common/gbr.c
        * plug-ins/common/gee.c
        * plug-ins/common/gee_zoom.c
        * plug-ins/common/gicon.c
        * plug-ins/common/gih.c
        * plug-ins/common/gtm.c
        * plug-ins/common/jpeg.c
        * plug-ins/common/mail.c
        * plug-ins/common/pat.c
        * plug-ins/common/plugindetails.c
        * plug-ins/common/png.c
        * plug-ins/common/ps.c
        * plug-ins/common/sample_colorize.c
        * plug-ins/common/sinus.c
        * plug-ins/common/spheredesigner.c
        * plug-ins/common/tileit.c
        * plug-ins/common/uniteditor.c
        * plug-ins/common/xbm.c: gtk_widget_set_usize is deprecated. Use
        gtk_widget_set_size_request instead.

        * libgimpwidgets/gimpunitmenu.[ch]: changed to use GtkTreeView.
2001-11-11 18:35:25 +00:00
Michael Natterer
6002aaf5a8 EEK, broken pipe on last try. 2001-08-03 19:52:08 +00:00
Michael Natterer
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
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
Michael Natterer
cdd0a5147d app/fileops.c Make sure that we don't try to destroy query_boxes twice or
2000-11-18  Michael Natterer  <mitch@gimp.org>

	* app/fileops.c
	* libgimp/gimpquerybox.[ch]: Make sure that we don't try to destroy
	query_boxes twice or try to disconnect not-any-more connected
	handlers.

	* app/color_notebook.c
	* app/gimpcontext.[ch]
	* app/gimphelp.[ch]
	* app/lc_dialog.[ch]
	* app/menus.h
	* app/preferences_dialog.c
	* app/tools.[ch]
	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimpexport.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimppixmap.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpui.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: in a coding attack, changed help_data
	and many other strings passed to UI functions to (const gchar *).
	As a consequence, I had to fix lots of warnings ;)

	* plug-ins/common/tga.c
	* plug-ins/imagemap/imap_main.c: fixed warnings.

	Code cleanup and indentation all over the place.
2000-11-18 00:25:42 +00:00
Michael Natterer
804af727f6 app/gimpunit.c all libgimp headers are included via gimp.h or gimpui.h, so
2000-05-31  Michael Natterer  <mitch@gimp.org>

	* app/gimpunit.c
	* libgimp/*: all libgimp headers are included via gimp.h or
	gimpui.h, so include <gtk/gtk.h> there and in the *.c files.
	Various cleanups.
2000-05-30 23:38:46 +00:00
Sven Neumann
2d578df303 excluded gserialize.[ch] from the build
* libgimp/Makefile.am: excluded gserialize.[ch] from the build

* libgimp/*: header cleanup


--Sven
2000-02-26 03:41:06 +00:00
Michael Natterer
ef17866973 app/* libgimp/* plug-ins/* did a global s/GUnit/GimpUnit/ and
2000-02-07  Michael Natterer  <mitch@gimp.org>

	* app/*
	* libgimp/*
	* plug-ins/*
	* tools/pdbgen/*: did a global s/GUnit/GimpUnit/ and
	s/GimpSizeEntryUP/GimpSizeEntryUpdatePolicy/

	* libgimp/gimpcolorspace.c: renamed the parameter names to match
	the names in the header.

	* libgimp/gimphelpui.h
	* libgimp/gimpimage.c
	* libgimp/gimpmatrix.h
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: added documentation and use g* types
	all over the place (enables cross-referencing with the glib and
	gtk+ html documentation).

	* plug-ins/common/exchange.c
	* plug-ins/common/max_rgb.c: small cleanups.

	* plug-ins/common/mapcolor.c: the color buttons were attached in
	the wrong order.
2000-02-07 20:35:13 +00:00
Michael Natterer
dd20d22192 attach labels and the unit_menu with GTK_SHRINK.
2000-02-01  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpsizeentry.[ch]: attach labels and the unit_menu with
	GTK_SHRINK.

	* libgimp/gimpwidgets.[ch]: new convenience constructor
	gimp_coordinates_new() which creates a sizeentry with two fields,
	labels and a chainbutton.

	* plug-ins/common/gauss_iir.c
	* plug-ins/common/gauss_rle.c
	* plug-ins/common/spread.c: use the coordinate constructor.

	* plug-ins/common/mblur.c: put the settings into two separate
	frames instead of using two nested frames.

	* plug-ins/common/sample_colorize.c: don't #include <math.h>

	* plug-ins/script-fu/script-fu-scripts.c: use the libgimp ui
	functions.

	* plug-ins/script-fu/script-fu.c: hm, don't remember, I guess it
	was indentation paranoia...
2000-01-31 20:47:44 +00:00
Manish Singh
b8e03bd1c7 added spec file to EXTRA_DIST
* Makefile.am: added spec file to EXTRA_DIST

* docs/Makefile.am: added undo.txt to EXTRA_DIST

* app/interface.c: removed the DODGY warning, doesn't look dodgy to me

* libgimp/*.h: missed an s/Library/Lesser/

* tools/pdbgen/*: lots of work on the libgimp portion

-Yosh
1999-12-26 07:54:39 +00:00
Marc Lehmann
df8b445be6 *** empty log message *** 1999-11-17 21:13:50 +00:00
Michael Natterer
aaa3ef2161 app/Makefile.am new files. Does nothing yet. Checked in because I found
1999-06-17  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpcontext.[ch]: new files. Does nothing yet. Checked in
	because I found some bugs while hacking it:

	* libgimp/gimpchainbutton.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunitmenu.[ch]: fixed some cut & paste bugs and some
	gtk 1.0 artefacts in the object class initialisation code.
1999-06-17 19:13:08 +00:00
Michael Natterer
dcfb450b25 app/[all files with resolution info] libgimp/gimp.h libgimp/gimpimage.c
1999-05-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all files with resolution info]
	* libgimp/gimp.h
	* libgimp/gimpimage.c
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunit.[ch]
	* plug-ins/newsprint/newsprint.c
	* plug-ins/pgn/png.c
	* plug-ins/tiff/tiff.c: double instead of float for all resolution
	and unit-factor variables.

	* app/commands.c
	* app/crop.c
	* app/interface.c
	* app/layers_dialog.c
	* app/move_tool.c
	* app/resize.c
	* app/rotate_tool.c
	* app/scale_tool.c: pass the image's unit *and* gdisp->dot_for_dot
	to all functions which create sizeentries. Never create a
	sizeentry with UNIT_PIXEL but with the image's unit and set it's
	unit to UNIT_PIXEL after creation if dot_for_dot is on.
	This way the image's unit can always be picked from the menu
	without selecting "More...".

	* app/interface.c: made the query_*_box() functions use the
	ActionArea.

	* plug-ins/gimpunitmenu.c: GTK_WIN_POS_MOUSE for the unit
	selection dialog.
1999-05-22 17:56:35 +00:00
Michael Natterer
16e7aadaf3 app/gimpunit.c libgimp/gimpunit.[ch] libgimp/gimpunitmenu.c enabled
1999-04-06  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gimpunit.c
	* libgimp/gimpunit.[ch]
	* libgimp/gimpunitmenu.c
	* libgimp/gimpsizeentry.[ch]: enabled "percent" pseudo-unit.
	New function gimp_size_entry_set_size() to set the values which
	will be treated as 0% and 100%.

	* app/crop.c
	* app/rotate_tool.c
	* app/scale_tool.c: enable "percent".

	* app/rect_select.c fixed size selections can be made in units and
	percent now, table layout, label adjustment.
1999-04-06 12:13:54 +00:00
Michael Natterer
24ffa60f1b #include <gtk/gtk.h>.
1999-04-05  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/action_area.h: #include <gtk/gtk.h>.

	* app/devices.c: made the "Input Devices" dialog follow the action
	area conventions. Grab pointer in the pattern/brush preview popups.

	* app/errorconsole.c: use the actionarea functions.

	* app/gimpunit.c: had the wrong copyright header.

	* app/info_dialog.c: correctly set the spinbuttons' digits.

	* app/perspectice_tool.c: removed #include <stdio.h> again but
	didn't forget to s/sprintf/g_snprintf/ this time.

	* app/preferences_dialog.c: unified order of varible definitions,
	removed some unused variables.

	* app/crop.c
	* app/file_new_dialog.c
	* app/info_dialog.[ch]
	* app/interface.c
	* app/preferences_dialog.c
	* app/rotate_tool.c
	* app/scale_tool.c
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpunitmenu.[ch]: prepared for "percent" in size
	entries.
1999-04-05 12:48:48 +00:00
Michael Natterer
f70fc7d307 made function headers ansi compliant.
1999-04-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gimage_mask.[ch]: made function headers ansi compliant.

	* app/file_new_dialog.c
	* app/preferences_dialog.c: minor GUI and signal handling
	changes. Added a WM hint pixmap to the prefs dialog but commented
	it out because it looked ugly. If someone has a nice pixmap,
	please try it and tell me ;)

	* app/color_picker.c
	* app/crop.c
	* app/info_window.c
	* app/perspective_tool.c
	* app/rotate_tool.c
	* app/scale_tool.c
	* app/info_dialog.[ch]: the info_dialog allows scales, spinbuttons
	and sizeentries now. Made some dialogs use these widgets and
	added unit support. Sprinkled some g_snprintf's, removed
	#include's, ansi issues, ...

	* app/session.c: don't call a NULL callback.

	* libgimp/gimpsizeentry.[ch]: new function
	gimp_size_entry_add_field() which allows a more flexible GUI
	layout. More intelligent signal handling.
1999-04-02 19:46:59 +00:00
Michael Natterer
844a73d33f removed two unused directories from plug-in-path.
1999-03-14  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* gimprc.in: removed two unused directories from plug-in-path.

	* app/file_new_dialog.c: make the first spinbutton grab the focus
	and one more unit initialisation bugfix

	* app/interface.c: grab focus in query_[string|int|..]_box()
	This still needs to be done in many dialogs to be consistent.

	* app/preferences_dialog.c: made the module-path configurable

	* libgimp/gimppatheditor.[ch]: change the order of the buttons to
	match the order in the L&C dialog

	* libgimp/gimpsizeentry.[ch]: enabled highlighting of the
	spinbuttons' contents on focus_in_event.
	Ugly new function gimp_size_entry_grab_focus() because it seems
	impossible to implement gtk_widget_grab_focus(sizeentry).
1999-03-14 18:03:58 +00:00
Michael Natterer
7fd5b7c18e This is mostly unit stuff and code cleanup
1999-03-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        This is mostly unit stuff and code cleanup

        * libgimp/gimpi.def: add some functions

        * libgimp/gimpsizeentry.[ch]: new function
        gimp_size_entry_set_refval_digits() which allows for float pixel
        input. SIGFPE bugfix from Yasuhiro Shirasaki
        <yasuhiro@awa.tohoku.ac.jp>, minor bugfixes.

        * libgimp/gimpunitmenu.[ch]: add a separator after "pixels",
        bugfixes.

        * app/interface.[ch]: split up the old query_string_box() into
        query_[string|int|float|size]_box(). All functions take an
        optional GtkObject* parameter and connect to that object's
        "destroy" signal, this fixes some segfaults. And a global
        s/container_border_width/container_set_border_width/

        * app/commands.s: grow, shrink, border, feather now use the
        query_size_box. Used MIN(xres,yres) for now for the pixel<->unit
        calculations. Fixed some memory leaks.

        * app/global_edit.c
        * app/gradient.c
        * app/palette.c
        * app/paths_dialog.c: changed the query_string_box() calls
1999-03-12 03:44:59 +00:00
Sven Neumann
764d88274b Applied the patch to the gimpsizeentry Michael Natterer sent me.
--Sven
1999-02-24 18:30:58 +00:00
Sven Neumann
f2e351cc5b Moved the gimpentry stuff to gimpsizeentry and made it use the new
gimpunit functionality.


--Sven
1999-02-21 21:45:50 +00:00