Commit 2dee4f69 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer

HACKING updated, mention pkg-config.

2001-07-25  Michael Natterer  <mitch@gimp.org>

	* HACKING
	* INSTALL: updated, mention pkg-config.

	* app/gdisplay_ops.c
	* app/gui/resize-dialog.c
	* app/gui/toolbox.c: more GObject porting and const stuff.
parent fe8b81d8
2001-07-25 Michael Natterer <mitch@gimp.org>
* HACKING
* INSTALL: updated, mention pkg-config.
* app/gdisplay_ops.c
* app/gui/resize-dialog.c
* app/gui/toolbox.c: more GObject porting and const stuff.
2001-07-25 Sven Neumann <sven@gimp.org> 2001-07-25 Sven Neumann <sven@gimp.org>
* configure.in: check for pkg-config (>= 0.7) * configure.in: check for pkg-config (>= 0.7)
......
...@@ -9,10 +9,12 @@ to have the following packages installed: ...@@ -9,10 +9,12 @@ to have the following packages installed:
- GNU gettext 10.35 - GNU gettext 10.35
Available in ftp://alpha.gnu.org/gnu Available in ftp://alpha.gnu.org/gnu
These should be available by ftp from prep.ai.mit.edu or any of the These should be available by ftp from prep.ai.mit.edu or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org. fine GNU mirrors. Beta software can be found at alpha.gnu.org.
- pkg-config 0.7.0 or better
Available from http://www.freedesktop.org/software/pkgconfig
Compilation Compilation
----------- -----------
...@@ -30,30 +32,30 @@ Basically this does the following for you: ...@@ -30,30 +32,30 @@ Basically this does the following for you:
can run the configure script in cvsroot/gimp to create all can run the configure script in cvsroot/gimp to create all
the Makefiles. the Makefiles.
Before running autogen.sh or configure, make sure you have libtool Before running autogen.sh or configure, make sure you have libtool in
in your path. Also make sure gtk.m4 is in the same --prefix relative your path. Also make sure gtk-2.0.m4 is in the same --prefix relative
to your automake installation. to your automake installation.
Note that autogen.sh runs configure for you. If you wish to pass Note that autogen.sh runs configure for you. If you wish to pass
options like --prefix=/usr to configure you can give those options options like --prefix=/usr to configure you can give those options to
to autogen.sh and they will be passed on to configure. autogen.sh and they will be passed on to configure.
CVS CVS
--- ---
If at all possible, please use CVS to get the latest development version of If at all possible, please use CVS to get the latest development
gimp, as well as the CVS version of gtk+. You can do the following to get version of gimp, as well as the CVS version of gtk-doc, glib, pango,
gimp and gtk+ from cvs: atk and gtk+. You can do the following to get them all from cvs:
$ export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/cvs/gnome' $ export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/cvs/gnome'
$ cvs login $ cvs login
(there is no password, just hit return) (there is no password, just hit return)
$ cvs -z3 checkout gtk+ gimp $ cvs -z3 checkout gtk-doc glib pango atk gtk+ gimp
Patches Patches
------- -------
Please submit patches to the gimp-developer@scam.xcf.berkeley.edu mailing Please submit patches to the gimp-developer@lists.xcf.berkeley.edu mailing
list. All kinds of contributions are accepted. Patches that you wish to go list. All kinds of contributions are accepted. Patches that you wish to go
into the distribution should also be uploaded to ftp://ftp.gimp.org/incoming. into the distribution should also be uploaded to ftp://ftp.gimp.org/incoming.
Follow the rules there for naming your patches. Follow the rules there for naming your patches.
...@@ -91,13 +93,15 @@ The GIMP coding style is defined as follows: ...@@ -91,13 +93,15 @@ The GIMP coding style is defined as follows:
in the first column of the following line. All parameters are in the first column of the following line. All parameters are
prototyped and there's a new line for each. prototyped and there's a new line for each.
Try to make use of GTK's object system as much as possible. Do not create Try to make use of GLib's object system as much as possible. Do not create
wrappers around functions of parent classes. If you end up duplicating code, wrappers around functions of parent classes. If you end up duplicating code,
try to create a common parent class and implement the common methods there. try to create a common parent class and implement the common methods there.
Don't include headers in headers except where unavoidable (e.g. for Don't include headers in headers except where unavoidable (e.g. for
deriving objects). Opaque typedefs go to app/apptypes.h deriving objects). Opaque typedefs go to app/apptypes.h
Don't use the GTK wrappers around the GLib object and signal system.
One goal of the 1.3 development branch is to make the GIMP code more readable One goal of the 1.3 development branch is to make the GIMP code more readable
and understandable. Please help us to achieve this goal by cleaning up the and understandable. Please help us to achieve this goal by cleaning up the
present code and make sure that all new code follows the coding guidelines. present code and make sure that all new code follows the coding guidelines.
...@@ -4,8 +4,8 @@ STABLE VERSION 1.2 INSTEAD !! YOU HAVE BEEN WARNED! ...@@ -4,8 +4,8 @@ STABLE VERSION 1.2 INSTEAD !! YOU HAVE BEEN WARNED!
There are six basic steps to building and installing the GIMP: There are six basic steps to building and installing the GIMP:
1. You need to have installed GTK version 1.2.8 or better. Do not try 1. You need to have installed GTK version 1.3.7 or better. Do not try
to use the unstable GTK+ versions 1.3.x, it will not work. to use the stable GTK+ versions 1.2.x, it will not work.
2. You may want to install other third party libraries or programs that 2. You may want to install other third party libraries or programs that
are needed for some of the available plugins: TIFF, PNG, JPEG, MPEG, are needed for some of the available plugins: TIFF, PNG, JPEG, MPEG,
perl, etc. perl, etc.
......
...@@ -208,7 +208,7 @@ resize_widget_new (ResizeType type, ...@@ -208,7 +208,7 @@ resize_widget_new (ResizeType type,
_("Reset"), reset_callback, _("Reset"), reset_callback,
resize, NULL, NULL, FALSE, FALSE, resize, NULL, NULL, FALSE, FALSE,
_("Cancel"), cancel_cb ? cancel_cb : gtk_widget_destroy, _("Cancel"), cancel_cb ? cancel_cb : G_CALLBACK (gtk_widget_destroy),
cancel_cb ? user_data : NULL, cancel_cb ? user_data : NULL,
cancel_cb ? NULL : (gpointer) 1, cancel_cb ? NULL : (gpointer) 1,
NULL, FALSE, TRUE, NULL, FALSE, TRUE,
......
...@@ -34,11 +34,11 @@ ...@@ -34,11 +34,11 @@
#include "libgimp/gimpintl.h" #include "libgimp/gimpintl.h"
static void gdisplay_close_warning_callback (GtkWidget *widget, static void gdisplay_close_warning_callback (GtkWidget *widget,
gboolean close, gboolean close,
gpointer data); gpointer data);
static void gdisplay_close_warning_dialog (gchar *image_name, static void gdisplay_close_warning_dialog (const gchar *image_name,
GDisplay *gdisp); GDisplay *gdisp);
/* /*
* This file is for operations on the gdisplay object * This file is for operations on the gdisplay object
...@@ -284,8 +284,8 @@ gdisplay_close_warning_callback (GtkWidget *widget, ...@@ -284,8 +284,8 @@ gdisplay_close_warning_callback (GtkWidget *widget,
} }
static void static void
gdisplay_close_warning_dialog (gchar *image_name, gdisplay_close_warning_dialog (const gchar *image_name,
GDisplay *gdisp) GDisplay *gdisp)
{ {
GtkWidget *mbox; GtkWidget *mbox;
gchar *warning_buf; gchar *warning_buf;
......
...@@ -34,11 +34,11 @@ ...@@ -34,11 +34,11 @@
#include "libgimp/gimpintl.h" #include "libgimp/gimpintl.h"
static void gdisplay_close_warning_callback (GtkWidget *widget, static void gdisplay_close_warning_callback (GtkWidget *widget,
gboolean close, gboolean close,
gpointer data); gpointer data);
static void gdisplay_close_warning_dialog (gchar *image_name, static void gdisplay_close_warning_dialog (const gchar *image_name,
GDisplay *gdisp); GDisplay *gdisp);
/* /*
* This file is for operations on the gdisplay object * This file is for operations on the gdisplay object
...@@ -284,8 +284,8 @@ gdisplay_close_warning_callback (GtkWidget *widget, ...@@ -284,8 +284,8 @@ gdisplay_close_warning_callback (GtkWidget *widget,
} }
static void static void
gdisplay_close_warning_dialog (gchar *image_name, gdisplay_close_warning_dialog (const gchar *image_name,
GDisplay *gdisp) GDisplay *gdisp)
{ {
GtkWidget *mbox; GtkWidget *mbox;
gchar *warning_buf; gchar *warning_buf;
......
...@@ -208,7 +208,7 @@ resize_widget_new (ResizeType type, ...@@ -208,7 +208,7 @@ resize_widget_new (ResizeType type,
_("Reset"), reset_callback, _("Reset"), reset_callback,
resize, NULL, NULL, FALSE, FALSE, resize, NULL, NULL, FALSE, FALSE,
_("Cancel"), cancel_cb ? cancel_cb : gtk_widget_destroy, _("Cancel"), cancel_cb ? cancel_cb : G_CALLBACK (gtk_widget_destroy),
cancel_cb ? user_data : NULL, cancel_cb ? user_data : NULL,
cancel_cb ? NULL : (gpointer) 1, cancel_cb ? NULL : (gpointer) 1,
NULL, FALSE, TRUE, NULL, FALSE, TRUE,
......
...@@ -259,15 +259,15 @@ toolbox_tool_changed (GimpContext *context, ...@@ -259,15 +259,15 @@ toolbox_tool_changed (GimpContext *context,
if (toolbox_button && ! GTK_TOGGLE_BUTTON (toolbox_button)->active) if (toolbox_button && ! GTK_TOGGLE_BUTTON (toolbox_button)->active)
{ {
gtk_signal_handler_block_by_func (GTK_OBJECT (toolbox_button), g_signal_handlers_block_by_func (G_OBJECT (toolbox_button),
toolbox_tool_button_toggled, toolbox_tool_button_toggled,
tool_info); tool_info);
gtk_widget_activate (toolbox_button); gtk_widget_activate (toolbox_button);
gtk_signal_handler_unblock_by_func (GTK_OBJECT (toolbox_button), g_signal_handlers_unblock_by_func (G_OBJECT (toolbox_button),
toolbox_tool_button_toggled, toolbox_tool_button_toggled,
tool_info); tool_info);
} }
} }
} }
...@@ -292,7 +292,7 @@ create_tools (GtkWidget *wbox, ...@@ -292,7 +292,7 @@ create_tools (GtkWidget *wbox,
button = gtk_radio_button_new (group); button = gtk_radio_button_new (group);
gtk_object_set_data (GTK_OBJECT (tool_info), "toolbox_button", button); g_object_set_data (G_OBJECT (tool_info), "toolbox_button", button);
gtk_container_set_border_width (GTK_CONTAINER (button), 0); gtk_container_set_border_width (GTK_CONTAINER (button), 0);
group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); group = gtk_radio_button_group (GTK_RADIO_BUTTON (button));
...@@ -309,13 +309,13 @@ create_tools (GtkWidget *wbox, ...@@ -309,13 +309,13 @@ create_tools (GtkWidget *wbox,
gtk_container_add (GTK_CONTAINER (alignment), preview); gtk_container_add (GTK_CONTAINER (alignment), preview);
gtk_widget_show (preview); gtk_widget_show (preview);
gtk_signal_connect (GTK_OBJECT (button), "toggled", g_signal_connect (G_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (toolbox_tool_button_toggled), G_CALLBACK (toolbox_tool_button_toggled),
tool_info); tool_info);
gtk_signal_connect (GTK_OBJECT (button), "button_press_event", g_signal_connect (G_OBJECT (button), "button_press_event",
GTK_SIGNAL_FUNC (toolbox_tool_button_press), G_CALLBACK (toolbox_tool_button_press),
tool_info); tool_info);
gimp_help_set_help_data (button, gimp_help_set_help_data (button,
tool_info->help, tool_info->help,
...@@ -343,17 +343,17 @@ toolbox_create (void) ...@@ -343,17 +343,17 @@ toolbox_create (void)
gtk_window_set_title (GTK_WINDOW (window), _("The GIMP")); gtk_window_set_title (GTK_WINDOW (window), _("The GIMP"));
gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, FALSE); gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, FALSE);
gtk_signal_connect (GTK_OBJECT (window), "delete_event", g_signal_connect (G_OBJECT (window), "delete_event",
GTK_SIGNAL_FUNC (toolbox_delete), G_CALLBACK (toolbox_delete),
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy", g_signal_connect (G_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (toolbox_destroy), G_CALLBACK (toolbox_destroy),
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (window), "style_set", g_signal_connect (G_OBJECT (window), "style_set",
GTK_SIGNAL_FUNC (toolbox_style_set_callback), G_CALLBACK (toolbox_style_set_callback),
NULL); NULL);
/* We need to know when the current device changes, so we can update /* We need to know when the current device changes, so we can update
* the correct tool - to do this we connect to motion events. * the correct tool - to do this we connect to motion events.
...@@ -370,9 +370,9 @@ toolbox_create (void) ...@@ -370,9 +370,9 @@ toolbox_create (void)
if (! list) /* all devices have cursor */ if (! list) /* all devices have cursor */
{ {
gtk_signal_connect (GTK_OBJECT (window), "motion_notify_event", g_signal_connect (G_OBJECT (window), "motion_notify_event",
GTK_SIGNAL_FUNC (toolbox_check_device), G_CALLBACK (toolbox_check_device),
NULL); NULL);
gtk_widget_set_events (window, GDK_POINTER_MOTION_MASK); gtk_widget_set_events (window, GDK_POINTER_MOTION_MASK);
gtk_widget_set_extension_events (window, GDK_EXTENSION_EVENTS_CURSOR); gtk_widget_set_extension_events (window, GDK_EXTENSION_EVENTS_CURSOR);
...@@ -406,11 +406,11 @@ toolbox_create (void) ...@@ -406,11 +406,11 @@ toolbox_create (void)
create_tools (wbox, gimp_get_user_context (the_gimp)); create_tools (wbox, gimp_get_user_context (the_gimp));
gtk_signal_connect_while_alive (GTK_OBJECT (gimp_get_user_context (the_gimp)), g_signal_connect_object (G_OBJECT (gimp_get_user_context (the_gimp)),
"tool_changed", "tool_changed",
GTK_SIGNAL_FUNC (toolbox_tool_changed), G_CALLBACK (toolbox_tool_changed),
NULL, G_OBJECT (wbox),
GTK_OBJECT (wbox)); 0);
create_color_area (wbox); create_color_area (wbox);
......
...@@ -259,15 +259,15 @@ toolbox_tool_changed (GimpContext *context, ...@@ -259,15 +259,15 @@ toolbox_tool_changed (GimpContext *context,
if (toolbox_button && ! GTK_TOGGLE_BUTTON (toolbox_button)->active) if (toolbox_button && ! GTK_TOGGLE_BUTTON (toolbox_button)->active)
{ {
gtk_signal_handler_block_by_func (GTK_OBJECT (toolbox_button), g_signal_handlers_block_by_func (G_OBJECT (toolbox_button),
toolbox_tool_button_toggled, toolbox_tool_button_toggled,
tool_info); tool_info);
gtk_widget_activate (toolbox_button); gtk_widget_activate (toolbox_button);
gtk_signal_handler_unblock_by_func (GTK_OBJECT (toolbox_button), g_signal_handlers_unblock_by_func (G_OBJECT (toolbox_button),
toolbox_tool_button_toggled, toolbox_tool_button_toggled,
tool_info); tool_info);
} }
} }
} }
...@@ -292,7 +292,7 @@ create_tools (GtkWidget *wbox, ...@@ -292,7 +292,7 @@ create_tools (GtkWidget *wbox,
button = gtk_radio_button_new (group); button = gtk_radio_button_new (group);
gtk_object_set_data (GTK_OBJECT (tool_info), "toolbox_button", button); g_object_set_data (G_OBJECT (tool_info), "toolbox_button", button);
gtk_container_set_border_width (GTK_CONTAINER (button), 0); gtk_container_set_border_width (GTK_CONTAINER (button), 0);
group = gtk_radio_button_group (GTK_RADIO_BUTTON (button)); group = gtk_radio_button_group (GTK_RADIO_BUTTON (button));
...@@ -309,13 +309,13 @@ create_tools (GtkWidget *wbox, ...@@ -309,13 +309,13 @@ create_tools (GtkWidget *wbox,
gtk_container_add (GTK_CONTAINER (alignment), preview); gtk_container_add (GTK_CONTAINER (alignment), preview);
gtk_widget_show (preview); gtk_widget_show (preview);
gtk_signal_connect (GTK_OBJECT (button), "toggled", g_signal_connect (G_OBJECT (button), "toggled",
GTK_SIGNAL_FUNC (toolbox_tool_button_toggled), G_CALLBACK (toolbox_tool_button_toggled),
tool_info); tool_info);
gtk_signal_connect (GTK_OBJECT (button), "button_press_event", g_signal_connect (G_OBJECT (button), "button_press_event",
GTK_SIGNAL_FUNC (toolbox_tool_button_press), G_CALLBACK (toolbox_tool_button_press),
tool_info); tool_info);
gimp_help_set_help_data (button, gimp_help_set_help_data (button,
tool_info->help, tool_info->help,
...@@ -343,17 +343,17 @@ toolbox_create (void) ...@@ -343,17 +343,17 @@ toolbox_create (void)
gtk_window_set_title (GTK_WINDOW (window), _("The GIMP")); gtk_window_set_title (GTK_WINDOW (window), _("The GIMP"));
gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, FALSE); gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, FALSE);
gtk_signal_connect (GTK_OBJECT (window), "delete_event", g_signal_connect (G_OBJECT (window), "delete_event",
GTK_SIGNAL_FUNC (toolbox_delete), G_CALLBACK (toolbox_delete),
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy", g_signal_connect (G_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (toolbox_destroy), G_CALLBACK (toolbox_destroy),
NULL); NULL);
gtk_signal_connect (GTK_OBJECT (window), "style_set", g_signal_connect (G_OBJECT (window), "style_set",
GTK_SIGNAL_FUNC (toolbox_style_set_callback), G_CALLBACK (toolbox_style_set_callback),
NULL); NULL);
/* We need to know when the current device changes, so we can update /* We need to know when the current device changes, so we can update
* the correct tool - to do this we connect to motion events. * the correct tool - to do this we connect to motion events.
...@@ -370,9 +370,9 @@ toolbox_create (void) ...@@ -370,9 +370,9 @@ toolbox_create (void)
if (! list) /* all devices have cursor */ if (! list) /* all devices have cursor */
{ {
gtk_signal_connect (GTK_OBJECT (window), "motion_notify_event", g_signal_connect (G_OBJECT (window), "motion_notify_event",
GTK_SIGNAL_FUNC (toolbox_check_device), G_CALLBACK (toolbox_check_device),
NULL); NULL);
gtk_widget_set_events (window, GDK_POINTER_MOTION_MASK); gtk_widget_set_events (window, GDK_POINTER_MOTION_MASK);
gtk_widget_set_extension_events (window, GDK_EXTENSION_EVENTS_CURSOR); gtk_widget_set_extension_events (window, GDK_EXTENSION_EVENTS_CURSOR);
...@@ -406,11 +406,11 @@ toolbox_create (void) ...@@ -406,11 +406,11 @@ toolbox_create (void)
create_tools (wbox, gimp_get_user_context (the_gimp)); create_tools (wbox, gimp_get_user_context (the_gimp));
gtk_signal_connect_while_alive (GTK_OBJECT (gimp_get_user_context (the_gimp)), g_signal_connect_object (G_OBJECT (gimp_get_user_context (the_gimp)),
"tool_changed", "tool_changed",
GTK_SIGNAL_FUNC (toolbox_tool_changed), G_CALLBACK (toolbox_tool_changed),
NULL, G_OBJECT (wbox),
GTK_OBJECT (wbox)); 0);
create_color_area (wbox); create_color_area (wbox);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment