Compare commits

..

430 Commits

Author SHA1 Message Date
Owen Taylor
908364e30d ==== Released 2.0.7 ====
Mon Nov  4 16:55:37 2002  Owen Taylor  <otaylor@redhat.com>

        * ==== Released 2.0.7 ====

        * configure.in: Version 2.0.7, interface, binary 7.

        * NEWS: Updates.
2002-11-04 22:52:41 +00:00
Kjartan Maraas
650ade3e2d Updated Norwegian (bokml) translation.
2002-11-04  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-11-04 22:27:50 +00:00
Stanislav Visnovsky
45e74e7742 Updated Slovak translation.
2002-11-04  Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>

	* sk.po: Updated Slovak translation.
2002-11-04 17:16:02 +00:00
Sven Neumann
981f7c3269 removed redundant code that did nothing, caused a compiler warning and is
2002-11-04  Sven Neumann  <sven@gimp.org>

	* io-bmp.c (DecodeHeader): removed redundant code that did nothing,
	caused a compiler warning and is also not in the HEAD branch.
2002-11-04 11:08:23 +00:00
Takayuki KUSANO
ff92fd244a Updated Japanese translation.
* ja.po: Updated Japanese translation.
2002-11-04 03:20:10 +00:00
Tor Lillqvist
57d5b11d24 Lots of changes to the Win32 backend:
2002-11-03  Tor Lillqvist  <tml@iki.fi>

	Lots of changes to the Win32 backend:

	One big improvement is that scrolling of windows with background
	pixmaps now works much better. (This can be seen in for instance
	testgtk's "text" test.) Blitting inside a window
	(gdk_draw_drawable) also works much better now (can also seen in
	the "text" test).

	Another major change is we don't (try to) do guffaw scrolling as
	there is no static window gravity on Windows. Guffaw scrolling
	would be unnecessary anyway, as there is the ScrollWindow()
	API. This improves the behaviour of the Text Widget demo in
	gtk-demo a lot. But I have no idea how the lack of static win
	gravity should be handled in other places where the X11 code uses
	it. Especially _gdk_window_move_resize_child().

	Big windows still don't work correctly, I assume.
l
	Another vague area is the translate_queue. I don't think the queue
	items actually ever gets used, at least not in the code as of now.

	There is still some problem in expose handling. By moving an
	obscuring window back and forth over testgtk's main window, for
	instance, every now and then you typically get narrow vertical or
	horizontal strips of pixels that haven't been properly redrawn
	after being exposed. A fencepost error somewhere?

	* gdk/win32/gdkevents-win32.c: Cast known GdkWindowObjects
	directly instead of using GDK_WINDOW_OBJECT(). Remove unused
	latin_locale_loaded variable.

	(_gdk_win32_get_next_tick): New function. Used to make sure
	timestamps of events are always increasing, both in events
	generated from the window procedure and in events gotten via
	PeekMessage(). Not sure whether this is actually useful, but it
	seemed as a good idea.

	(real_window_procedure): Don't use a local GdkEventPrivate
	variable. Don't attempt any compression of configure or expose
	events here, handled elsewhere.

	(erase_background): Accumulate window offsets when traversing up
	the parent chain for GDK_PARENT_RELATIVE_BG, in order to get
	correct alignment of background pixmaps. Don't fill with
	BLACK_BRUSH if GDK_NO_BG.

	(gdk_event_get_graphics_expose): A bit more verbose debugging output.

	(gdk_event_translate): Use _gdk_win32_get_next_tick(). In the
	WM_PAINT handler, call GetUpdateRgn() before calling BeginPaint()
	and EndPaint() (which empty the update region).

	* gdk/win32/gdkdnd-win32.c
	* gdk/win32/gdkinput-win32.c:
	Use _gdk_win32_get_next_tick().

	* gdk/win32/gdkfont-win32.c: Use %p to print HFONTs.

	(gdk_text_size): Remove, unused.

	* gdk/win32/gdkgeometry-win32.c
	(_gdk_windowing_window_queue_antiexpose): Always return FALSE for
	now, until figured out whether antiexposes actually can work on
	Win32.

	(gdk_window_copy_area_scroll): Scroll also children with the
	ScrollWindowEx() call. No need to call gdk_window_move() on the
	children.

	(gdk_window_scroll): Don't do guffaw scrolling.

	(gdk_window_compute_position): Fix typo, used win32_y where x was
	intended.

	(gdk_window_queue_append): Use GetTickCount() for serial number,
	not GetMessageTime(), which can be very far back.

	* gdk/win32/gdkwindow-win32.c (gdk_window_gravity_works): Remove,
	we know that there is no such thing on Windows.

	(gdk_window_set_static_bit_gravity,
	gdk_window_set_static_win_gravity): Ditto, remove, they didn't do
	anything anyway.

	(_gdk_windowing_window_init, gdk_window_foreign_new): Call
	_gdk_window_init_position() like in the X11 backend.

	(gdk_window_reparent): Don't call the now nonexistent
	gdk_window_set_static_win_gravity(). No idea what should be done
	instead.

	(gdk_window_get_geometry): The returned x and y should be relative
	to parent. Used to be always zero..

	(gdk_window_set_static_gravities): Return FALSE if trying to set
	static gravity.

	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_draw_tiles):
	Rewrite. Make static. Must take tile origin parameters, too.

	(gdk_win32_draw_rectangle): Pass the tile/stipple origin to
	_gdk_win32_draw_tiles(). Remove #if 0 code.

	(blit_inside_window): Don't call ScrollDC(), that didn't work at
	all like I thought. A simple call to BitBlt() is enough.

	* gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string,
	gdk_win32_print_paletteentries, gdk_win32_print_system_palette,
	gdk_win32_print_hpalette)
	* gdk/win32/gdkdrawable-win32.c (gdk_win32_drawable_description)
	* gdk/win32/gdkevents-win32.c (gdk_win32_message_name):
	Move all debugging helper functions to gdkmain-win32.c.

	* gdk/win32/gdkmain-win32.c: (gdk_win32_lbstyle_to_string,
	gdk_win32_pstype_to_string, gdk_win32_psstyle_to_string,
	gdk_win32_psendcap_to_string, gdk_win32_psjoin_to_string): New
	debugging functions.

	(static_printf): Helper function for the above. sprintfs into a
	static circular buffer, return value should be used "soon".

	* gdk/win32/gdkgc-win32.c: Use above debugging functions.

	* gdk/win32/gdkprivate-win32.h: Declare new functions, remove
	obsoleted ones.
2002-11-03 22:55:08 +00:00
Kristian Rietveld
fe87e35ac8 Bah, and of course I broke something ...
Sun Nov  3 21:26:20 2002  Kristian Rietveld  <kris@gtk.org>

        Bah, and of course I broke something ...

        * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach): fix
        up the mess I caused with my commit of Oct 23 fixing #50263, things
        should be fine now.
2002-11-03 20:16:37 +00:00
Owen Taylor
f794cb4259 Remove check for winsock.h since it might show up on Linux+Wine. Instead
Sun Nov  3 13:03:29 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilesel.c configure.in: Remove check for
        winsock.h since it might show up on Linux+Wine.
        Instead just conditionalize of G_OS_WIN32.
        (#97396, Gaute Lindkvist)
2002-11-03 18:18:31 +00:00
Dmitry Mastrukov
a89315e38e be.po: Updated Belarusian translation from Belarusian team <i18n@infonet.by>. 2002-11-03 04:41:23 +00:00
Daniel Yacob
ca9070915a tweak. 2002-11-03 04:39:58 +00:00
Kristian Rietveld
a2de78cfea check if width isn't zero instead of calc_width ...
Sun Nov  3 01:27:40 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size):
        check if width isn't zero instead of calc_width ...
2002-11-03 00:13:07 +00:00
Kristian Rietveld
6a6f059c99 Merge fest from HEAD, note that only a selection of bug fixes on HEAD got
Sun Nov  3 01:22:01 2002  Kristian Rietveld  <kris@gtk.org>

        Merge fest from HEAD, note that only a selection of bug fixes on
        HEAD got committed to stable.

        #94868, reported and testcase provided by Daniel Elstner.
        * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
        free anchor if applicable.

        #92014, fixed with help of detailed traces from Morten Welinder.
        * gtk/gtkliststore.c (gtk_list_store_remove_silently): free the
        actual link after the node has been removed.

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_column_finalize):
        free the cell_list and the child if it exists.

        #85858, #85859, #85860, #85872, reported by David L. Cooper II.
        * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
        s/guint/GtkCellRendererState/.

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
        ditto.

        * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render),
        (gtk_cell_renderer_toggle_activate): ditto.

        * gtk/gtkliststore.c (gtk_list_store_get_flags): a
        s/guint/GtkTreeModelFlags/ on the return type.

        #93629, fixes a really evil GtkTreeModelSort bug. Reported and
        testcase by Hans Petter Jansson.
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed): if we
        are swapping two rows (re-insertion on row_changed), also *emit*
        a rows_reordered signal. oops.

        #96851, reported by Jorn Baayen.
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): remove
        the second ref command on the child_model, we only have to ref it
        once here. (#96851, reported by Jorn Baayen).

        #50263, reported by Havoc Pennington.
        * gtk/gtktreeselection.c (model_changed): new function,
        (gtk_tree_selection_selected_foreach): monitor changes in the model,
        bail out if the model has been changed from the foreach func.
2002-11-03 00:10:23 +00:00
Daniel Yacob
5f15e342f9 Updated Amharic translation. 2002-11-02 05:28:58 +00:00
Changwoo Ryu
4465f7aabd Updated Korean translation.
2002-11-02  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2002-11-02 03:37:34 +00:00
Christian Neumair
0a86c2230e Updated German translation. 2002-11-01 14:49:54 +00:00
Matthias Clasen
6f97292648 The label is "Folders" now, not "Directories". (#97224, Vitaly Tishkov)
* gtk/tmpl/gtkfilesel.sgml: The label is "Folders" now, not
	"Directories".  (#97224, Vitaly Tishkov)
2002-10-31 23:42:39 +00:00
Matthias Clasen
188b3d5f38 use GTK_SELECTION_SINGLE, not GTK_SELECT_SINGLE. (#96516, Erik Grinaker)
* gtk/tree_widget.sgml (select): use GTK_SELECTION_SINGLE, not
	GTK_SELECT_SINGLE.  (#96516, Erik Grinaker)
2002-10-31 23:35:35 +00:00
German Poo-Caaman~o
360c357f8f Updated spanish translation by Juan Manual Garcia Molina
2002-10-30  German Poo-Caaman~o <gpoo@ubiobio.cl>

	* es.po: Updated spanish translation by Juan Manual Garcia Molina
			<juanma_gm@wanadoo.es>
2002-10-31 01:19:46 +00:00
Yuri Syrota
574f875146 Updated Ukrainian translation 2002-10-30 19:01:54 +00:00
Yuri Syrota
aeeaede190 Updated Ukrainian translation 2002-10-30 15:18:46 +00:00
Yuri Syrota
f4b56d140c Updated Ukrainian translation 2002-10-30 15:11:22 +00:00
Daniel Yacob
bfe6864c03 tweaks. 2002-10-29 14:16:52 +00:00
Pablo Saratxaga
866096d039 fixed syntax error 2002-10-29 13:55:57 +00:00
Tor Lillqvist
71737f4d14 Don't call GetWindowLong for GWL_EXSTYLE, the extended window style wasn't
2002-10-28  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_decorations,
	gdk_window_set_functions): Don't call GetWindowLong for
	GWL_EXSTYLE, the extended window style wasn't used or
	changed. After setting the window style with SetWindowLong, call
	SetWindowPos with the SWP_FRAMECHANGED flag for the window to
	actually be updated, as Platform SDK docs say one should. (#95812,
	huzheng)
2002-10-28 20:41:47 +00:00
Peteris Krisjanis
34579a11b3 2002-10-28 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation 2002-10-28 15:07:30 +00:00
Peteris Krisjanis
a9a49698fc 2002-10-28 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po: Updated Latvian translation 2002-10-28 14:52:28 +00:00
Yanko Kaneti
8188594b73 Updated Bulgarian translation.
2002-10-27  Yanko Kaneti <yaneti@declera.com>

        * bg.po: Updated Bulgarian translation.
2002-10-27 11:22:45 +00:00
Ole Laursen
3582604c0e Updated Danish translation.
2002-10-26  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-10-26 20:23:36 +00:00
Daniel Yacob
f1867cd355 Adding (for real this time) Amharic translation. 2002-10-26 13:06:48 +00:00
Jordi Mallach
62fdaec47e Updated Catalan translation. 2002-10-25 14:09:39 +00:00
Stanislav Brabec
864fd11cdf Updated Czech translation from Michal Bukovjan <bukm@centrum.cz>.
2002-10-25  Stanislav Brabec  <sbrabec@suse.cz>

	* cs.po: Updated Czech translation from Michal Bukovjan
	<bukm@centrum.cz>.
2002-10-25 12:12:25 +00:00
Dmitry Mastrukov
dd219a5112 be.po: Added Belorusian (be) translation to ALL_LINGUAS 2002-10-25 10:13:14 +00:00
Dmitry Mastrukov
eb9862f889 be.po: Added Belorusian translation from Ales Nyakhaychyk <i18n@infonet.by>. 2002-10-25 10:09:38 +00:00
Daniel Yacob
e17b6d1a2e Adding Amharic Translation. 2002-10-25 01:12:52 +00:00
Pablo Saratxaga
b14fb3091a Updated Vietnamese file 2002-10-24 10:38:17 +00:00
Christian Rose
552a69bc1e Updated Swedish translation.
2002-10-23  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-10-23 12:08:25 +00:00
Owen Taylor
09e8356f96 When popping up the list without any selected items, hack the focus on the
Tue Oct 22 20:02:22 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombo.c: When popping up the list without
        any selected items, hack the focus on the list to
        avoid triggering a bug in GtkList when clicking
        on focused-but-not-selected items (#86700,
        Zimler Attila, Matthias Clasen) and to keep
        GtkWindow from selecting the first item.
2002-10-23 00:51:06 +00:00
Matthias Clasen
4b25e80f50 Check for stack overflow throughout. (#91808, Elliot Lee)
* io-gif.c (lzw_read_byte): Check for stack overflow throughout.
	(#91808, Elliot Lee)
2002-10-22 22:45:35 +00:00
Owen Taylor
35211e0e34 Include config.h (#96441, Morten Welinder)
Tue Oct 22 15:13:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimmulticontext.c: Include config.h
        (#96441, Morten Welinder)
2002-10-22 19:16:51 +00:00
Owen Taylor
0ffc25735f When compiling our on fnmatch.c, #define fnmatch _gtk_fnmatch (#92890,
Tue Oct 22 15:03:41 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/fnmatch.h: When compiling our on fnmatch.c,
        #define fnmatch _gtk_fnmatch (#92890, Jacob Berkman)
2002-10-22 19:08:13 +00:00
Owen Taylor
27683d3c57 Return "" for entry->invisible_char == 0, otherwise N copies of
Mon Oct 21 14:04:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.c (gtk_entry_get_public_chars): Return
        "" for entry->invisible_char == 0, otherwise N copies
        of entry->invisible_char. (#95486, Vitaly Tishkov)

        * gtk/gtkentry.c: Fix a bunch of places where entry->text
        instead of layout->text was being used for computation
        of offsets/indices in the layout. Using layout->text
        is necessary because when the entry is invisible, it
        doesn't correspond to entry->text.
2002-10-21 19:04:30 +00:00
Simos Xenitellis
1216a77dd3 Updated Greek translation 2002-10-16 13:40:16 +00:00
Duarte Loreto
2d2ad5b7a8 Updated Portuguese translation.
2002-10-16  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-10-15 23:42:57 +00:00
Kjartan Maraas
b5b6495c40 Updated Norwegian (bokml) translation.
2002-10-15  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-10-15 20:19:11 +00:00
Dmitry Mastrukov
18383df52d ru.po: Updated Russian translation. 2002-10-15 10:27:36 +00:00
Manish Singh
9c44dfb07c use GTK_IS_RADIO_MENU_ITEM instead of comparing the type directly. This
Sat Oct 12 15:28:06 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkitemfactory.c: use GTK_IS_RADIO_MENU_ITEM instead
        of comparing the type directly. This handles possible subclasses
        too. (Recommended by Tim Janik)
2002-10-12 22:44:03 +00:00
Gil Osher
91dc02591a *** empty log message *** 2002-10-12 22:10:58 +00:00
Owen Taylor
94b2571215 Privately export _gtk_scrolled_window_get_scrollbar_spacing().
Thu Oct 10 14:35:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkscrolledwindow.[ch]: Privately export
        _gtk_scrolled_window_get_scrollbar_spacing().

        * gtk/gtkcombo.c: Properly account from scrollbar
        spacing when computing the size of the popup window.
        (#84955, Marco Pesenti Gritti)
2002-10-10 18:45:45 +00:00
Stanislav Brabec
d9c56a2daa Fix bug ID. 2002-10-09 15:35:18 +00:00
Stanislav Brabec
4261d83c9f Added support for hungarian characters (addition to bug #91258). Only via
2002-10-09  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Added support for hungarian characters
	(addition to bug #91258). Only via dead keys, because compose key
	combinations in X are erratic.
2002-10-09 14:14:43 +00:00
Owen Taylor
9017c02a76 Patch from Takuro Ashie to fix updating of open_ims list. (#95150)
Tue Oct  8 09:41:43 2002  Owen Taylor  <otaylor@redhat.com>

        * Patch from Takuro Ashie to fix updating of open_ims
        list. (#95150)
2002-10-08 13:50:42 +00:00
Peteris Krisjanis
585a031032 2002-10-08 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po: Updated Latvian translation by Artis Trops <hornet@navigators.lv> 2002-10-08 11:31:10 +00:00
Peteris Krisjanis
5987ee1302 2002-10-08 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation by Artis Trops <hornet@navigators.lv> 2002-10-08 11:30:52 +00:00
Owen Taylor
4117e38789 Fix a conflict indicator 2002-10-07 20:17:15 +00:00
Owen Taylor
e3e93f6362 Fix infinite loop from last change.
Mon Oct  7 15:52:13 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix infinite
        loop from last change.
2002-10-07 20:16:56 +00:00
jacob berkman
f01fdf1ba8 fix build
2002-10-07  jacob berkman  <jacob@ximian.com>

	* gdk/x11/gdkkeys-x11.c (update_keymaps): fix build
2002-10-07 18:38:30 +00:00
Owen Taylor
e2a7d8519b Clean up the handling of clearing transient state settings, fixing bug
Mon Oct  7 12:40:39 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_move_resize): Clean
        up the handling of clearing transient state
        settings, fixing bug #95026, reported by Jami
        Pekannen.
2002-10-07 16:51:36 +00:00
Owen Taylor
dc61c7e769 If Mode_switch is used for a known modifier like Mod1, assume it won't be
Mon Oct  7 11:45:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
        is used for a known modifier like Mod1, assume it won't
        be used to switch group. (#94841, problem reported by
        Szekeres Istvan)
2002-10-07 16:05:56 +00:00
Owen Taylor
2a8da05d05 Patch from Shivram U <shivaram.upadhyayula@wipro.com>
Fri Oct  4 14:49:04 2002  Owen Taylor  <otaylor@redhat.com>

        Patch from Shivram U <shivaram.upadhyayula@wipro.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Increased the keycount to
        (max_keycode - min_keycode) + 1 from (max_keycode - min_keycode).
        (update_keymaps), (gdk_keymap_get_entries_for_keyval) looping through
        less than or equal to max_keycode. (#79184)
2002-10-04 18:55:37 +00:00
Owen Taylor
6c827aef8a Fix memory leak. (#94399)
Thu Oct  3 18:25:57 2002  Owen Taylor  <otaylor@redhat.com>

        * io-jpeg.c (gdk_pixbuf__jpeg_image_save):
        Fix memory leak. (#94399)
2002-10-03 22:32:33 +00:00
Owen Taylor
746d28a9dd Patch from Andy Wingo to always escape ? to avoid accidentally generating
Tue Oct  1 17:35:43 2002  Owen Taylor  <otaylor@redhat.com>

        * gdkpixdata.c: Patch from Andy Wingo to always
        escape ? to avoid accidentally generating trigraphs
        in the output (#94631)
2002-10-01 21:42:39 +00:00
Stanislav Brabec
b04368dba1 Fixed alphabetical order (bug #91258).
2002-10-01  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Fixed alphabetical order (bug #91258).
2002-10-01 10:20:46 +00:00
Vincent van Adrighem
11167a98bd Dutch translation updated by Tino Meinen.
2002-10-01 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
	* nl.po: Dutch translation updated by Tino Meinen.
2002-10-01 07:19:18 +00:00
Owen Taylor
7de7ba548f Initialize ->parsed field. (#94536, patch from Sebastian Ritau. Maybe
Mon Sep 30 14:46:49 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkbindings.c (gtk_binding_set_new): Initialize
        ->parsed field. (#94536, patch from Sebastian Ritau. Maybe
        fixes #87411?)
2002-09-30 19:05:20 +00:00
Stanislav Brabec
fb1a0b7d62 Completed ISO-8859-2 characters support (#93421), fixed cacute, umacron,
2002-09-30  Stanislav Brabec  <sbrabec@suse.cz>

	* gtk/gtkimcontextsimple.c: Completed ISO-8859-2 characters
	support (#93421), fixed cacute, umacron, completed dead_key+space
	convention.
2002-09-30 16:39:21 +00:00
Pablo Saratxaga
d083357669 updated Vietnamese file 2002-09-30 09:13:56 +00:00
Stanislav Brabec
8da809253a Updated Czech translation from Michal Bukovjan <bukm@centrum.cz>.
2002-09-30  Stanislav Brabec  <sbrabec@suse.cz>

	* cs.po: Updated Czech translation from Michal Bukovjan
	<bukm@centrum.cz>.
2002-09-30 08:33:53 +00:00
Manish Singh
c4d17a42df use #defines instead of enum for GtkFundamentalType compat, to prevent
Sun Sep 29 12:59:42 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtktypeutils.h: use #defines instead of enum for
        GtkFundamentalType compat, to prevent 64-bit vs. 32-bit
        confusion (#90400)
2002-09-29 20:04:42 +00:00
Yanko Kaneti
3a0e00aa1f Updated Bulgarian translation.
2002-09-29  Yanko Kaneti <yaneti@declera.com>

        * bg.po: Updated Bulgarian translation.
2002-09-29 17:56:25 +00:00
Christian Neumair
7c1a21d928 Updated German translation. 2002-09-29 16:27:31 +00:00
Chyla Zbigniew
abe51903b7 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-09-29 11:36:12 +00:00
Tor Lillqvist
5a7f184e57 Instead of forcing -fnative-struct into CFLAGS when using gcc for Win32,
2002-09-29  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Instead of forcing -fnative-struct into CFLAGS
	when using gcc for Win32, check for gcc version 3.x which uses
	-mms-bitfields instead. Also check if either of these switches is
	actually available at all, and warn if not. Thanks to Soren
	Andersen for the inspiration. (#93965)
2002-09-29 00:18:24 +00:00
Hasbullah Bin Pit
f7c32f0e6d Updated Malay Translation.
2002-09-28  Hasbullah Bin Pit <sebol@ikhlas.com>

        * ms.po: Updated Malay Translation.
2002-09-28 17:12:28 +00:00
Ole Laursen
757e9830ff Updated Danish translation.
2002-09-28  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-09-28 16:16:47 +00:00
Kjartan Maraas
7feb206d02 Updated Norwegian (bokml) translation.
2002-09-28  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-09-28 09:39:43 +00:00
Tor Lillqvist
04719c5da6 Don't use .type on Cygwin, either (#91597, Masahiro Sakai).
2002-09-28  Tor Lillqvist  <tml@iki.fi>

	* pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
	Sakai).
2002-09-28 02:48:17 +00:00
Christian Rose
a645b473ba Updated Swedish translation.
2002-09-28  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-09-28 02:00:19 +00:00
Jordi Mallach
13633e0d89 Updated Catalan translation. 2002-09-27 23:20:39 +00:00
Matthias Clasen
d6a45265a4 Make drawing to the root window work. (#89492) Changes to support depth 8
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init): Make
	drawing to the root window work.  (#89492)
	* gdk/gdkrgb.c (gdk_rgb_try_colormap):
	(gdk_rgb_create_info):
	(gdk_rgb_select_conv):
	(gdk_draw_gray_image):
	(gdk_rgb_cmap_get_info): Changes to support depth 8 StaticColor
	visuals.  (#81631)
	(gdk_rgb_cmap_free): Don't loop forever.
2002-09-27 23:03:05 +00:00
Owen Taylor
ea2eef7bd4 ri Sep 27 18:14:00 2002 Owen Taylor <otaylor@redhat.com>
(#91249, Thomas Leonard)

        * gtk/gtkselection.c (gtk_selection_convert): Initialize
        idle time to 0.

        * gtk/gtkselection.c: Up idle timeout to 5 minutes
        from 5 seconds.
2002-09-27 22:55:12 +00:00
Federico Mena Quintero
0075b342e9 Free the context if we cannot allocate the HeaderBuf.
2002-09-27  Federico Mena Quintero  <federico@ximian.com>

	* io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
	we cannot allocate the HeaderBuf.
2002-09-27 22:07:41 +00:00
Owen Taylor
1c39be5abb Patch from J. Ali Harlow to avoid generating gtk.immodules when
Fri Sep 27 17:40:47 2002  Owen Taylor  <otaylor@redhat.com>
        * modules/input/Makefile.am: Patch from J. Ali Harlow
        to avoid generating gtk.immodules when cross-compiling.
        (#87774)
2002-09-27 22:00:48 +00:00
Federico Mena Quintero
1dfa0ef23b Fix the update region notification to handle top-to-bottom and
2002-09-27  Federico Mena Quintero  <federico@ximian.com>

	* io-bmp.c (OneLine): Fix the update region notification to handle
	top-to-bottom and bottom-to-top BMPs correctly.
2002-09-27 21:40:35 +00:00
Owen Taylor
7c0ed9ea8a Fix some signed/unsigned warnings. (#85863, David L. Cooper II)
Fri Sep 27 17:23:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcolorsel.c: Fix some signed/unsigned warnings.
        (#85863, David L. Cooper II)
2002-09-27 21:26:07 +00:00
Owen Taylor
f91a9055ff Replaced instances where strlen (label->label) is used to get a byte code
Fri Sep 27 16:23:49 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtklabel.c : Replaced instances where strlen (label->label) is
        used to get a byte code with strlen (label->text) as label->text
        contains the actual display text, while label->label contains
        markup / mnemonics. (#92683, Patch from Shivram U
        <shivaram.upadhyayula@wipro.com>, with some additions.)

        * gtk/gtklabel.c (gtk_label_set_uline_text_internal):
        Fix a leftover, now incorrect comment.
2002-09-27 20:51:23 +00:00
Owen Taylor
5ad5e9aa62 Handle the case where the first page isn't visible. (#90336, bug tracked
Fri Sep 27 16:15:11 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtknotebook.c (gtk_notebook_get_event_window_position):
        Handle the case where the first page isn't visible.
        (#90336, bug tracked down by Chema Celorio)
2002-09-27 20:19:28 +00:00
Owen Taylor
2f6eea91c6 Change accelerator from C_ut to Cu_t. (#82747, Paolo Maggi)
Fri Sep 27 15:57:15 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstock.c (builtin_items): Change accelerator
        from C_ut to Cu_t. (#82747, Paolo Maggi)
2002-09-27 19:59:34 +00:00
Owen Taylor
a3a972d4fd Reset the animation iter on unrealize as well as unmap. (#94336)
Fri Sep 27 15:27:45 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkimage.c (gtk_image_unrealize): Reset the
        animation iter on unrealize as well as unmap.
        (#94336)

        * gtk/gtkprogressbar.c: Back out change that should
        have been applied on HEAD.
2002-09-27 19:52:48 +00:00
Christian Neumair
5a23ae1fcb Updated German translation. 2002-09-27 12:57:19 +00:00
Jordi Mallach
d8d9bf88af Updated Catalan translation. 2002-09-27 11:08:41 +00:00
Federico Mena Quintero
e4b64fdcfc Merged the CMYK changes from HEAD.
2002-09-25  Federico Mena Quintero  <federico@ximian.com>

	* io-jpeg.c: Merged the CMYK changes from HEAD.
2002-09-26 02:14:43 +00:00
Owen Taylor
6fea756129 Don't turn a value of "" into NULL. (#94157, Vitaly Tishkov)
Wed Sep 25 08:16:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkprogressbar.c (gtk_progress_bar_set_text): Don't
        turn a value of "" into NULL. (#94157, Vitaly Tishkov)
2002-09-25 12:22:12 +00:00
Manish Singh
433a163a1f check if last_selected is valid before doing a strcmp on it, which may
Tue Sep 24 23:43:10 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkfilesel.c: check if last_selected is valid before doing
        a strcmp on it, which may happen if selections happen programmatically
        instead of through the UI (#86566)
2002-09-25 06:50:03 +00:00
Manish Singh
05137fb63d preserve ordering from gtk_tree_selection_foreach when returning filenames
Tue Sep 24 23:09:19 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkfilesel.c: preserve ordering from gtk_tree_selection_foreach
        when returning filenames for gtk_file_selection_get_selections
        (#86567)
2002-09-25 06:12:15 +00:00
German Poo-Caaman~o
5197f0c19d Fixed bug #93072 by Juan Manual Garcia Molina <juanma_gm@wanadoo.es>
2002-09-24  German Poo-Caaman~o <gpoo@ubiobio.cl>

	* es.po: Fixed bug #93072 by Juan Manual Garcia Molina
			<juanma_gm@wanadoo.es>
2002-09-24 16:05:55 +00:00
Owen Taylor
1da89e3efc Add the gxid_* files to EXTRA_DIST (#90511, Zenith Lau)
Tue Sep 24 06:39:36 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/Makefile.am: Add the gxid_* files to
        EXTRA_DIST (#90511, Zenith Lau)
2002-09-24 10:45:37 +00:00
Owen Taylor
871b511660 Remove the check for editable. (Reported by Brent Fox)
Thu Aug  8 16:58:22 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkspinbutton.c (gtk_spin_button_real_change_value):
        Remove the check for editable. (Reported by Brent Fox)
2002-09-24 10:31:49 +00:00
Owen Taylor
51420fcc03 Fixes to GtkIMContextSimple compose table for us-intl keyboards (Red Hat
Tue Sep 24 05:12:14 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontextsimple.c: Fixes to GtkIMContextSimple
        compose table for us-intl keyboards (Red Hat bugzilla
        #70995, Alexandre Oliva)
2002-09-24 09:13:42 +00:00
Owen Taylor
8e33776188 Use 'signed int' not 'gint' for signed bitfields. (#93020, Vitaly Tishkov)
Mon Sep 23 14:58:04 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkhandlebox.h gtk/gtktextbtree.[ch]:
        Use 'signed int' not 'gint' for signed bitfields.
        (#93020, Vitaly Tishkov)

        * gtk/gtktextlayout.h gtk/gtktextbtree.[ch]:
        Fix some 'gint' bitfields that should have been
        unsigned.
2002-09-23 19:10:37 +00:00
Owen Taylor
f9e2c279e3 Patch from Joshua N Pritikin to fix problem where signal connection wasn't
Mon Sep 23 12:12:48 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkspinbutton.c: Patch from Joshua N Pritikin to
        fix problem where signal connection wasn't removed
        from adjustment on finalize. (#93962)
2002-09-23 16:14:36 +00:00
Owen Taylor
441acdaec2 Set the IM context client window to NULL, not to the window that is about
Fri Sep 20 18:01:26 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkentry.c (gtk_entry_unrealize): Set the IM
        context client  window to NULL, not to the window that
        is about to be destroyed. (#88231)
2002-09-23 16:12:06 +00:00
Kwok-Koon Cheung
8eae55ec10 Updated traditional Chinese translation from Ben Wu <hpwu@redhat.com> 2002-09-23 07:23:37 +00:00
Pablo Saratxaga
0d9115e303 updated Vietnamese file 2002-09-22 18:40:56 +00:00
Tor Lillqvist
74ce92f524 Silence a gcc warning, use %p to print a HKL.
2002-09-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkmain-win32.c (_gdk_windowing_init_check): Silence a
	gcc warning, use %p to print a HKL.
2002-09-21 18:52:39 +00:00
Tor Lillqvist
8d49bd81d6 Umm, no. Retract the code addition by Florent Duguet to WM_PAINT
handling. For me, window update has bugs with that code snippet in
there.
2002-09-21 18:48:50 +00:00
Tor Lillqvist
b0e90d1858 WM_SYSKEYDOWN, WM_SYSKEYUP: Need to handle F10 specially here in order to
2002-09-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	WM_SYSKEYDOWN, WM_SYSKEYUP: Need to handle F10 specially here in
	order to be able to handle it normally in the application. Set
	ignore_wm_char also always when handling WM_SYSKEY{DOWN,UP}, this
	way we can generate GDK events also for Alt-Fn keys, for instance.
	WM_PAINT: If window is visible, call gdk_window_process_updates().
	This fixes bugs in window updates, says Florent Duguet.
2002-09-21 18:30:08 +00:00
Tor Lillqvist
14fdea7c4f Copy from X11 backend. The old version mishandled consecutive newlines.
2002-09-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkselection-win32.c (sanitize_utf8): Copy from X11
	backend. The old version mishandled consecutive newlines.
2002-09-21 12:54:16 +00:00
Tor Lillqvist
a85841e827 Remove obsolete mention of gtk-engines and Pixmap theme engine on Win32.
2002-09-21  Tor Lillqvist  <tml@iki.fi>

	* tests/testgtkrc: Remove obsolete mention of gtk-engines and
	Pixmap theme engine on Win32.
2002-09-21 05:06:32 +00:00
Tor Lillqvist
b5fbd51495 On Win32, look explicitly for LANG, LC_ALL and LC_CTYPE, and if not found,
2002-09-20  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkmain.c (gtk_get_default_language): On Win32, look
	explicitly for LANG, LC_ALL and LC_CTYPE, and if not found, use
	g_win32_getlocale(). The setlocale() in msvcrt.dll would return a
	locale name in the form Swedish_Finland for sv_FI.
2002-09-19 23:19:24 +00:00
Gil Osher
a3c4bfba73 First version by Gil Osher. Some basic fixes and translations. 2002-09-19 12:52:58 +00:00
Gil Osher
dfbd07cb46 First version bt Gil Osher. Some basic fixes and translations. 2002-09-17 13:25:17 +00:00
Matthias Clasen
a71eb3f768 line-wrap all images to avoid problems with line-length-limited compilers.
* test-images.h: line-wrap all images to avoid problems with
	line-length-limited compilers.  (#90662)
2002-09-16 21:45:15 +00:00
Pablo Saratxaga
c80bca65f0 updated Vietnamese file 2002-09-16 15:27:23 +00:00
Tor Lillqvist
4f4dad93f0 Delete leftover declarations of the obsolete Win32-only functions
2002-09-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdkfont.h: Delete leftover declarations of the obsolete
	Win32-only functions gdk_font_full_name_get() and
	gdk_font_full_name_free().

	* gdk/gdk.def: Delete from here, too.

	* gdk/win32/gdkfont-win32.c (logfont_to_xlfd,
	gdk_font_full_name_get, gdk_font_full_name_free): Delete
	implementation, and helper functions.

	(pattern_match, InnerEnumFontFamExProc, EnumFontFamExProc,
	gdk_font_list_new, gdk_font_list_free): Delete unused functions.

	(gdk_text_width, gdk_text_width_wc) Instead of code duplication,
	let gdk_text_extents() and gdk_text_extents_wc() do the job.

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
	Don't use the above removed functions in debugging output.
2002-09-15 21:57:07 +00:00
Tor Lillqvist
aa9d95a1d1 Use correct function name in warning messages.
2002-09-16  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct
	function name in warning messages.
2002-09-15 21:37:47 +00:00
Andras Timar
0202b6aaef Updated Hungarian translation.
2002-09-14  Andras Timar  <timar@gnome.hu>

        * hu.po: Updated Hungarian translation.
2002-09-14 17:23:10 +00:00
Sven Neumann
981b10dd24 fixed my latest change.
2002-09-14  Sven Neumann  <sven@gimp.org>

	* gdk/gdkpixbuf-drawable.c: fixed my latest change.
2002-09-14 17:11:12 +00:00
Sven Neumann
c2698fbc8e use the most significant bits of the GdkColor components (#89703).
2002-09-13  Sven Neumann  <sven@gimp.org>

	* gdk/gdkpixbuf-drawable.c: use the most significant bits of the
	GdkColor components (#89703).
2002-09-13 16:11:22 +00:00
Jonathan Blandford
8f4b598071 free the root list.
Tue Sep 10 15:39:42 2002  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkliststore.c (gtk_list_store_finalize): free the root
        list.

        * gtk/gtktreestore.c (gtk_tree_store_finalize): free the root
        nodes.
2002-09-10 21:04:02 +00:00
Hidetoshi Tajima
42da415403 put source module name(fix for last commit). 2002-09-10 18:37:55 +00:00
Hidetoshi Tajima
8c5556808b (gtk_im_context_xim_get_ic, gtk_im_with_preedit,
gtk_im_without_preeedit): filter key release events only when
	input methods ask for (#81759)
2002-09-10 18:09:03 +00:00
Owen Taylor
218b29cf59 Take focus mode into account when tracking FocusIn/Out events, so we don't
Tue Sep 10 09:29:00 2002  Owen Taylor  <otaylor@redhat.com>
        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Take
        focus mode into account when tracking FocusIn/Out events,
        so we don't get confused by focus changes while a
        keyboard grab is in effect. (Probably fixes #90563)
2002-09-10 13:45:45 +00:00
Yanko Kaneti
343aaa612a "Translate" "default:LTR" correctly. ..doh..
2002-09-09  Yanko Kaneti <yaneti@declera.com>

        * bg.po: "Translate" "default:LTR" correctly. ..doh..
2002-09-09 23:57:02 +00:00
Shivram U
52c4bda3e9 If the end iter is also a part of the selection, then we are in the
Mon Sep  9 16:16:25 2002  Shivram U  <shivaram.upadhyayula@wipro.com>

	* gtk/gtktextview.c (gtk_text_view_drag_motion): If the end iter
	is also a part of the selection, then we are in the selection.
	(#92768)
2002-09-09 10:24:40 +00:00
Tor Lillqvist
1c60e7ba45 Actually commit a change I thought I had committed already:
2002-09-08  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Add AM_CONDITIONAL calls also in the non-x11
	branch. Otherwise we get "conditional \"$1\" was never defined.
	Usually this means the macro was only invoked conditionally."
	errors when running configure if using automake 1.6a. Yeah, I know
	that autogen.sh says to use automake 1.4, but on Win32 I more or
	less have to use the bleeding edge. I think.

Fix an earlier ChangeLog entry to include the file name:

2002-08-31  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilesel.c: Include <sys/cygwin.h on Cygwin, for
2002-09-08 07:44:48 +00:00
Soeren Sandmann
fe86606062 call gtk_widget_ensure_style() before reading "button_relief". Fixes
Sat Sep  7 21:24:55 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c (get_button_relief): call
	gtk_widget_ensure_style() before reading "button_relief". Fixes
	(#92741).
2002-09-07 22:34:02 +00:00
Owen Taylor
95a1a84cb4 Only set gc->colormap if it isn't already set. (Alex Larsson, #90632)
Fri Sep  6 15:35:01 2002  Owen Taylor  <otaylor@redhat.com>
        * gdk/gdkgc.c (gdk_gc_new_with_values): Only set
        gc->colormap if it isn't already set. (Alex Larsson,
        #90632)
2002-09-06 19:36:21 +00:00
Owen Taylor
a5dbedacc4 ri Sep 6 12:41:16 2002 Owen Taylor <otaylor@redhat.com>
* modules/input/gtkimcontextxim.c: Pass the actual input
        keycode to XIM, rather than the result of backconverting
        the keysym. Fixes the <> input problem! (#74922)

        * gtk/gtkimmodule.c: Fix bug where GTK_IM_MODULE environment
        variable couldn't be used to force the input method to
        the default input method.
2002-09-06 16:49:01 +00:00
jacob berkman
b2b1f5e8ba run automake-1.4 when checking version, not automake
2002-09-05  jacob berkman  <jacob@ximian.com>

	* autogen.sh: run automake-1.4 when checking version, not automake
2002-09-05 19:59:11 +00:00
Tor Lillqvist
5da99208c6 Use HWND_NOTOPMOST instead of HWND_TOPMOST. Suggested by Florent Duguet.
2002-09-05  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_transient_for):
	Use HWND_NOTOPMOST instead of HWND_TOPMOST. Suggested by Florent
	Duguet.
2002-09-04 21:46:26 +00:00
Tor Lillqvist
3b7138fb49 Fix braino, actually do check each char, not just the first one, when
2002-09-05  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkproperty-win32.c (gdk_property_change): Fix braino,
	actually do check each char, not just the first one, when looping
	through the text looking to insert CR in front of each LF. Bug
	noticed and fix provided by Florent Duguet.
2002-09-04 21:15:38 +00:00
Stanislav Brabec
6707e385b7 Updated Czech translation. 2002-09-03 09:05:06 +00:00
Peteris Krisjanis
03e3a60c39 2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po: Updated Latvian translation 2002-09-02 18:54:05 +00:00
Peteris Krisjanis
31c1c86f48 2002-09-02 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation 2002-09-02 18:53:28 +00:00
Takayuki KUSANO
d06b2f19d5 Updated Japanese translation.
* ja.po: Updated Japanese translation.
2002-09-01 00:49:11 +00:00
Tor Lillqvist
b6d93de016 On Cygwin, open /dev/windows instead of using the magic G_WIN32_MSG_HANDLE
2002-08-31  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (_gdk_events_init): On Cygwin, open
	/dev/windows instead of using the magic G_WIN32_MSG_HANDLE fd that
	is implemented (in GLib) only on native Win32. (#91683, Masahiro
	Sakai)
2002-08-31 18:17:09 +00:00
Tor Lillqvist
c0c79f82f5 Use cygwin_conv_to_posix_path(). (gtk_file_selection_dir_activate): Call
2002-08-31  Tor Lillqvist  <tml@iki.fi>

	* Include <sys/cygwin.h on Cygwin, for cygwin_conv_to_posix_path().
	(translate_win32_path, get_real_filename): Use
	cygwin_conv_to_posix_path().
	(gtk_file_selection_dir_activate): Call get_real_filename() here,
	too. (#91843, Masahiro Sakai)
2002-08-31 17:56:42 +00:00
Peteris Krisjanis
6802957a0c 2002-08-30 Peteris Krisjanis <peteris.krisjanis@os.lv> * lv.po: Updated Latvian translation by Artis Trops 2002-08-30 12:40:51 +00:00
Peteris Krisjanis
3f029fc402 2002-08-30 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation by Artis Trops 2002-08-30 12:39:57 +00:00
Naba Kumar
0dbd180a16 Added hindi translation (hi) in ALL_LINGUS. Added new hindi translation.
* configure.in: Added hindi translation (hi) in ALL_LINGUS.
    * po/hi.po: Added new hindi translation.
2002-08-28 15:29:29 +00:00
German Poo-Caaman~o
5302da5ff5 Updated Spanish translation by Juan Manuel Garca Molina
2002-08-27  German Poo-Caaman~o <gpoo@ubiobio.cl>

	* es.po: Updated Spanish translation by Juan Manuel Garca Molina
	<juanma_gm@wanadoo.es>
2002-08-27 18:49:50 +00:00
Tor Lillqvist
99e112a7a4 Use MAX_PATH (from windef.h) insted of _MAX_PATH (from stdlib.h in mingw
2002-08-26  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Use MAX_PATH
	(from windef.h) insted of _MAX_PATH (from stdlib.h in mingw and
	MSVC, but not there in Cygwin) (#91681, Masahiro Sakai).
2002-08-26 20:05:22 +00:00
Tor Lillqvist
f1b5dac5ac Don't include <winsock.h> on Cygwin (#91654, Masahiro Sakai).
2002-08-25  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilesel.c: Don't include <winsock.h> on Cygwin (#91654,
	Masahiro Sakai).
2002-08-25 20:29:31 +00:00
Tor Lillqvist
8a747e4449 Compile gtk_init_abi_check and gtk_init_check_abi_check when on
2002-08-25  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkmain.c: Compile gtk_init_abi_check and
	gtk_init_check_abi_check when on G_PLATFORM_WIN32, not just on
	G_OS_WIN32, to match gtkmain.h (#91649, Masahiro Sakai).
	(check_sizeof_GtkWindow, check_sizeof_GtkBox): Mention the
	-mms-bitfields swicth in addition to -fnative-struct.

	* gtk/gtkmain.h: Include gtkbox.h and gtkwindow.h on Win32, as the
	defines for struct packing checks use sizeof() on stuff from
	these. (#84211, Andreas Holzmann)
2002-08-25 19:33:30 +00:00
Roozbeh Pournader
d583224137 Updated Persian translation. 2002-08-25 08:58:29 +00:00
Tor Lillqvist
772f13a3e2 Add gtk_win32res_lo. (#87101, J. Ali Harlow)
2002-08-25  Tor Lillqvist  <tml@iki.fi>

	* gtk/Makefile.am (libgtk_win32_2_0_la_DEPENDENCIES): Add
	gtk_win32res_lo. (#87101, J. Ali Harlow)

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
	gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
2002-08-24 22:58:24 +00:00
Tor Lillqvist
e4613b06b9 Let the system handle Alt-Space, too. Thanks to Tim Evans (#91477).
2002-08-24  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Let the
	system handle Alt-Space, too. Thanks to Tim Evans (#91477).
2002-08-24 20:23:58 +00:00
Stanislav Brabec
cc084c1518 cs.po: Updated Czech translation from Michal Bukovjan <bukm@centrum.cz>. 2002-08-24 12:29:32 +00:00
Roozbeh Pournader
d9bf1f407a Updated Persian translation 2002-08-23 21:26:54 +00:00
Roozbeh Pournader
70325ffeb0 Update Persian translation. 2002-08-23 20:10:07 +00:00
Matthias Clasen
96862220d3 Plug a memory leak. (#91422, Sven Neumann)
* io-png.c (gdk_pixbuf__png_image_save): Plug a memory
	leak.  (#91422, Sven Neumann)
2002-08-22 21:32:41 +00:00
Tor Lillqvist
3fee1b835f Add AM_CONDITIONAL calls also in the non-x11 branch. Otherwise we get
2002-08-21  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Add AM_CONDITIONAL calls also in the non-x11
	branch. Otherwise we get "conditional \"$1\" was never defined.
	Usually this means the macro was only invoked conditionally."
	errors when running configure if using automake 1.6a. Yeah, I know
	that autogen.sh says to use automake 1.4, but on Win32 I more or
	less have to use the bleeding edge. I think.

	* gdk/win32/gdkdrawable-win32.c
	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkmain-win32.c: Some spacing and indentation cleanup.

	* gdk/win32/gdkdrawable-win32.c (render_line_horizontal,
	render_line_vertical): Return TRUE.

	* gdk/win32/gdkevents-win32.c (_gdk_events_init): Search if the
	system has some input locale identifier that uses a Latin
	keyboard. This is needed to be able to get the virtual-key code
	for the latin characters corresponding to ASCII control
	characters. If no such keyboard is present, try to load one
	then. Will this upset users with no wish to ever use a Latin-based
	keyboard layout?

	(vk_from_char): Convert all ASCII control chars to the
	corresponding uppercase char before calling VkKeyScanEx(). Idea by
	Florent Duguet. Makes Control-C work again. To make it hopefully
	work like I think it should on non-Latin keyboards, too, use
	latin_locale when looking for the corresponding keycode.

	* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
	to some functions, related to moving and resizing and expose
	and antiexpose queue processing. Use %p to output HWNDs.

	* gdk/win32/gdkkeys-win32.c (print_keysym_tab): Factor out
	debugging output to new function.

	* gdk/win32/gdkwindow-win32.c (gdk_window_resize,
	gdk_window_move_resize): Make more like X11 versions. Set
	resize_count similarily. Not that I have any idea what this is
	supposed to do.

	Fix for #81831 by Tim Evans:

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
	_gdk_event_button_generate() here, it would append the double- or
	triple-click events too early, before the single-click event.

	(real_window_procedure): If we got a single-click event, call
	_gdk_event_button_generate() to perhaps append the double- or
	triple-click event after that.

	Tentative fix for #79720 based on code by Florent Duguet:

	* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
	static function. Checks length of translate_queue, calls
	_gdk_window_process_expose() if length is >= 128. Then appends
	to translate_queue.
	(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
	Call gdk_window_queue_append().

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
	Set image->windowing_data to NULL, unref the image.

	Merge from gtk-1-3-win32-production branch:

	* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
	NULL before trying to propagate to it, and return FALSE in that
	case. (If parent is NULL, we are handling gdk_parent_root, and
	probably should have noticed that and bailed out earlier. But
	better late than never.)

	* gdk/win32/gdkinput-win32.c (gdk_input_init): Use
	GetSystemMetrics (SM_C[XY]SCREEN) instead of
	gdk_screen_{width,height}().

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Don't
	use return value from GlobalSize() as length of string when
	calling MultiByteToWideChar(). Pass -1 instead (zero-terminated
	string). Thanks to Iwasa Kazmi.
2002-08-22 05:42:04 +00:00
Peteris Krisjanis
3b8e32e309 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> *lv.po: Updated Latvian translation. 2002-08-20 17:21:07 +00:00
Peteris Krisjanis
f1b2404f13 2002-08-20 Peteris Krisjanis <peteris.krisjanis@os.lv> Updated Latvian translation. 2002-08-20 17:20:40 +00:00
Padraig O'Briain
e0637869c0 Use gtk_entry_set_positions() to update current_pos and selection_bound so
* gtk/gtkentry.c (gtk_entry_real_delete_text): Use
gtk_entry_set_positions() to update current_pos and selection_bound
so notifications are emitted (#90548)
2002-08-19 14:42:07 +00:00
Havoc Pennington
28dd23beb6 hardcode aclocal-1.4/automake-1.4 so that users with both automake 1.6 and
2002-08-18  Havoc Pennington  <hp@pobox.com>

	* autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
	both automake 1.6 and 1.4 installed get the right automake. Means
	compilation from CVS will now require the latest automake 1.4
	release, or manually creating symlinks called "automake-1.4" and
	"aclocal-1.4"
2002-08-18 22:21:45 +00:00
Isam Bayazidi
70e9ffa6ff Arabic Trans 2002-08-18 10:21:17 +00:00
Simos Xenitellis
f621767dc3 Updated Greek translation 2002-08-17 17:01:30 +00:00
Christophe Merlet
143e8cf48d Updated French translation. 2002-08-15 09:36:39 +00:00
Christian Meyer
cff5ffc5ca Fixed some typos and mnemonics. 2002-08-14 15:29:11 +00:00
Padraig O'Briain
dc257f4003 Move focus to children, if they exist, after GtkTextView is focused.
* gtk/gtktextview.c (gtk_text_view_focus): Move focus to
children, if they exist, after GtkTextView is focused. (#63844)
2002-08-14 08:14:07 +00:00
Gustavo Noronha Silva
84222a1a1a translation update 2002-08-13 19:50:36 +00:00
Pablo Gonzalo del Campo
eae0dee702 Fixed a couple of spanish mistyped strings
2002-08-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>

	* es.po: Fixed a couple of spanish mistyped strings
2002-08-08 00:58:44 +00:00
Christian Neumair
65e35529b1 Updated German translation. 2002-08-07 13:44:48 +00:00
Christian Rose
e3a98c525b Fixed Swedish translation.
2002-08-07  Christian Rose  <menthos@menthos.com>

	* sv.po: Fixed Swedish translation.
2002-08-06 23:47:24 +00:00
jacob berkman
c07ed89395 link gdk-pixbuf-xlib against x libs (bug #83442)
2002-08-06  jacob berkman  <jacob@ximian.com>

	* configure.in: link gdk-pixbuf-xlib against x libs (bug #83442)
2002-08-06 14:07:47 +00:00
Havoc Pennington
cae2bd114f Apply patch from Gustavo Giraldez for bug #78513
2002-07-24  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c: Apply patch from Gustavo
	Giraldez for bug #78513
2002-08-06 04:21:13 +00:00
Owen Taylor
af9dc2e105 When overriding LDFLAGS, include @LDFLAGS@, otherwise LDFLAGS the users
Mon Aug  5 17:01:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/Makefile.am (LDFLAGS): When overriding LDFLAGS,
        include @LDFLAGS@, otherwise LDFLAGS the users passes
        to configure don't get used. (#89946, Noah Levitt,
        Albert Chin)

        * gdk/linux-fb/Makefile.am: Remove LDFLAGS setting.
2002-08-05 21:10:27 +00:00
Duarte Loreto
684afa1353 Updated Portuguese translation.
2002-08-05  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-08-05 01:21:22 +00:00
Christian Rose
d24163028e Merged Sun changes that made sense.
2002-08-05  Christian Rose  <menthos@menthos.com>

	* sv.po: Merged Sun changes that made sense.
2002-08-04 22:58:57 +00:00
Gediminas Paulauskas
2d6203c0a3 revert 2002-08-02 23:00:25 +00:00
Gediminas Paulauskas
b0f0c30f1b prototypes with no parameters must be defined as (void), not ()
2002-08-02  Gediminas Paulauskas <menesis@delfi.lt>

	* gtkitemfactory.h: prototypes with no parameters must be
	defined as (void), not ()
2002-08-02 21:58:55 +00:00
Sven Neumann
65e58f5db1 trivial changes to some debug code so it compiles with VERBOSE being
2002-08-01  Sven Neumann  <sven@gimp.org>

	* gdk/gdkrgb.c: trivial changes to some debug code so it compiles
	with VERBOSE being defined.
2002-08-01 18:21:28 +00:00
Changwoo Ryu
a8acc04415 Updated Korean translation. Fixes bug #85906.
* ko.po: Updated Korean translation.  Fixes bug #85906.
2002-08-01 12:40:51 +00:00
Owen Taylor
749a1639cc Released 2.0.6
Wed Jul 31 16:42:03 2002  Owen Taylor  <otaylor@redhat.com>

        * Released 2.0.6

        * configure.in: 2.0.6, binary, interface age 6.
        Require GLib version 2.0.6.

        * NEWS: Updated
2002-07-31 22:19:53 +00:00
Sven Neumann
cec2b23e6b Fix wrong number of parameters in call to escape_string().
2002-07-31  Sven Neumann  <sven@gimp.org>

	* gtk/queryimmodules.c (print_escaped): Fix wrong number of
	parameters in call to escape_string().
2002-07-31 18:40:23 +00:00
Owen Taylor
f361d10ca1 Avoid using g_strescape(), since it mangles UTF-8, (#89479, Yao Zhang.)
Wed Jul 31 12:50:51 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/queryimmodules.c: Avoid using g_strescape(),
        since it mangles UTF-8, (#89479, Yao Zhang.)
2002-07-31 16:55:28 +00:00
Sven Neumann
ff76a7c353 free the result of gdk_pixdata_serialize() (bug #89411).
2002-07-31  Sven Neumann  <sven@gimp.org>

	* gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
	gdk_pixdata_serialize() (bug #89411).
2002-07-31 08:14:55 +00:00
Owen Taylor
5582c1f311 Handle inverted ranges correctly (#85436, fix from Norihiro UMEDA)
Tue Jul 30 19:09:46 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrange.c (gtk_range_scroll_event): Handle
        inverted ranges correctly (#85436, fix from
        Norihiro UMEDA)
2002-07-30 23:18:04 +00:00
Owen Taylor
37a25985d1 Fix bug in the selection mode option menus which were setting the wrong
Tue Jul 30 16:36:53 2002  Owen Taylor  <otaylor@redhat.com>

        * tests/testgtk.c: Fix bug in the selection mode option
        menus which were setting the wrong values.
        (#85763, Manuel Op de Coul)
2002-07-30 20:43:25 +00:00
Owen Taylor
82b355f5a8 Honor GDK_PIXBUF_CSOURCE from configure.in when cross-compiling. (#87099,
Tue Jul 30 15:39:06 2002  Owen Taylor  <otaylor@redhat.com>

        * demos/Makefile.am: Honor GDK_PIXBUF_CSOURCE from
        configure.in when cross-compiling. (#87099,
        J. Ali Harlow)
2002-07-30 20:00:28 +00:00
Owen Taylor
c5e483055c Fix some warnings by adding casts to PixopsInterpType. (#85839, David L.
Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf-scale.c: Fix some warnings by adding
        casts to PixopsInterpType. (#85839, David L. Cooper, II.)
2002-07-30 03:09:04 +00:00
Owen Taylor
b0f8c022a3 Fix up the example program a bit. (#88814, Johnson Wong)
Mon Jul 29 22:36:06 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/tmpl/gtkfilesel.sgml: Fix up the example program
        a bit. (#88814, Johnson Wong)
2002-07-30 02:40:07 +00:00
Owen Taylor
f29f8665fd Unset gtk-im-surrounding-info object data again. (Fix from Yao Zhang,
Mon Jul 29 16:42:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontext.c (gtk_im_context_real_get_surrounding):
        Unset gtk-im-surrounding-info object data again.
        (Fix from Yao Zhang, #86811)
2002-07-29 21:04:29 +00:00
Owen Taylor
071ba60b6e Replace uses of grep \(A\|B\) ... with egrep (A|B). (#84872, Arnaud
Fri Jul 26 17:59:06 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Replace uses of grep \(A\|B\) ... with
        egrep (A|B). (#84872, Arnaud Charlet)
2002-07-26 22:19:17 +00:00
Kristian Rietveld
d9d3beb099 return FALSE, (gtk_tree_store_finalize): use g_node_traverse instead of
Fri Jul 26 21:39:21 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreestore.c (node_free): return FALSE,
        (gtk_tree_store_finalize): use g_node_traverse instead of
        g_node_children_foreach, so the whole tree will be freed (#88854,
        patch from Emmanuel Briot).
2002-07-26 19:37:53 +00:00
Kristian Rietveld
f85c1d6f26 fix some memleaks, (#84426, patch from Matthias Clasen).
Fri Jul 26 21:24:03 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): fix some memleaks,
        (#84426, patch from Matthias Clasen).
2002-07-26 19:16:49 +00:00
Kristian Rietveld
e71cac0e1a _iter_children check shouldn't be in g_return_return_val_if_fail (pointed
Fri Jul 26 17:11:25 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): _iter_children
        check shouldn't be in g_return_return_val_if_fail (pointed out by
        Josh Green, #88997),
        (gtk_tree_view_set_model): call _gtk_tree_view_column_unset_model
        for each column when we unset the model (part of #82484),
        (gtk_tree_view_get_cell_area): return if we ran out of tree or
        if we got an invalid path (#82376).

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_unset_model.

        * gtk/gtktreeviewcolumn.c: implement _gtk_tree_view_column_unset_model
        which disconnects the sort_column_changed_signal (part of #82484).

        * gtk/gtkliststore.c (gtk_list_store_insert): append row if the
        given postion is off the end of the tree (#85813).

        * gtk/gtkentry.c (gtk_cell_editable_key_press_event): let's use
        2-space indent, commit changes if up/down keys has been pressed,
        this overrides the focus key foo so the user won't be surprised
        (#84665).
2002-07-26 18:12:28 +00:00
Changwoo Ryu
28235d58b4 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-07-26 18:10:22 +00:00
Matthias Clasen
0bc92be1c2 Use gdk_rgb_convert_4, not gdk_rgb_convert_8 for depth 4, bpp 8,
* gdk/gdkrgb.c (gdk_rgb_select_conv): Use gdk_rgb_convert_4,
	not gdk_rgb_convert_8 for depth 4, bpp 8, PseudoColor visuals.
	(#88697)
2002-07-25 20:30:00 +00:00
Owen Taylor
398405fdac When a menubar is up, use F10 to cycle menubars, not Control-Tab (#87159,
Thu Jul 25 14:14:46 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle
        menubars, not Control-Tab (#87159, Calum Benson. Patch from
        Padraig O'Briain.)

        * gtk/gtkmenubar.c: When cycling menu bars, cancel
        after the last instead of wrapping around.
2002-07-25 18:18:37 +00:00
Owen Taylor
658c98d77a [ Patch from Padraig O'Briain, #87904 ]
Thu Jul 25 11:57:57 2002  Owen Taylor  <otaylor@redhat.com>

        [ Patch from Padraig O'Briain, #87904 ]

        * gtk/gtkwidget.c (gtk_widget_class_init): Cleanup -
        use G_SIGNAL_RUN_LAST not GTK_RUN_LAST when using
        g_signal new.

        * gtk/gtktogglebutton.c (gtk_toggle_button_mnemonic_activate):
        Always focus the widget, even when we are activating
        as well.
2002-07-25 16:09:26 +00:00
Dmitry Mastrukov
a672bb715a ru.po: Updated Russian translation with help from SUN G11n <gnome_int_l10n@ireland.sun.com>. 2002-07-25 04:45:48 +00:00
Owen Taylor
2042a08ab0 ed Jul 24 16:43:49 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c docs/references/tmpl/gtkrc.sgml: Don't use
        GTK_RC_FILES, since it causes problems with what KDE (etc.)
        does to customize GTK+ themes, use GTK2_RC_FILES instead. (#88987)
2002-07-24 20:52:22 +00:00
Stanislav Visnovsky
9e38c2e5ec Updated Slovak translation.
2002-07-24  Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>

	* sk.po: Updated Slovak translation.
2002-07-24 12:59:22 +00:00
Yanko Kaneti
dd0f5b6567 Updated Bulgarian translation.
2002-07-23  Yanko Kaneti <yaneti@declera.com>

        * bg.po: Updated Bulgarian translation.
2002-07-23 11:56:09 +00:00
Jordi Mallach
69c615fcb1 Updated Catalan translation. 2002-07-22 11:02:31 +00:00
Changwoo Ryu
643006f533 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-07-21 12:33:50 +00:00
Christophe Merlet
f2bfc7d2c7 Updated French translation. 2002-07-21 10:02:54 +00:00
Kjartan Maraas
7904d1d663 Update slightly 2002-07-20 23:16:36 +00:00
Ole Laursen
25dc1c37fe Updated Danish translation.
2002-07-19  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-07-19 21:25:39 +00:00
Takayuki KUSANO
fbbc6bb79b Updated Japanese translation.
* ja.po: Updated Japanese translation.
2002-07-19 14:55:43 +00:00
Chyla Zbigniew
ca4cc77b50 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-07-19 14:03:25 +00:00
Dmitry Mastrukov
b096092530 ru.po: Updated Russian translation. 2002-07-18 17:39:09 +00:00
Christian Rose
09ffe845d9 Updated Swedish translation.
2002-07-17  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-07-17 08:42:09 +00:00
Matthias Clasen
57c4adc842 Support for compressed ras images (#84994):
* io-ras.c (RAS2State): Error on unsupported ras variations.
	(OneLine8): Fix colormap indexing.
	(OneLine): Call updated_func with proper region.
	(DoCompressed): New function, handles compressed ras data.
	(gdk_pixbuf__ras_image_load_increment): Handle compressed ras
	images.
2002-07-16 17:31:23 +00:00
Sven Neumann
e7fd4ff587 fixed the example code (return TRUE from the expose_event handler).
2002-07-16  Sven Neumann  <sven@gimp.org>

	* gdk/tmpl/rgb.sgml: fixed the example code (return TRUE from the
	expose_event handler).
2002-07-16 17:21:02 +00:00
Federico Mena Quintero
5b6c1d4f92 Fixed the LSB -> MSB case. Fixes #79463.
2002-07-16  Federico Mena Quintero  <federico@ximian.com>

	* gdk/gdkpixbuf-drawable.c (rgb565lsb): Fixed the LSB -> MSB case.
	Fixes #79463.
2002-07-16 17:14:26 +00:00
Ole Laursen
73ffaf1b0d Updated Danish translation.
2002-07-13  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-07-13 12:49:44 +00:00
Pablo Saratxaga
31a101fb95 updated Vietnamese file 2002-07-12 14:59:00 +00:00
Peteris Krisjanis
58f1891795 *configure.in - (ALL_LINGUAS) Added Latvian (lv) language support.
2002-07-11  Peteris Krisjanis <pecisk@inbox.lv>
*configure.in - (ALL_LINGUAS) Added Latvian (lv) language support.
2002-07-11 05:30:01 +00:00
Peteris Krisjanis
f4d3373525 (ALL_LINGUAS) Added Latvian (lv) language support.
2002-07-11  Peteris Krisjanis <pecisk@inbox.lv>
(ALL_LINGUAS) Added Latvian (lv) language support.
2002-07-11 05:29:38 +00:00
Peteris Krisjanis
3b8378fb2f lv.po (added) - Added Latvian translation.
2002-07-11  Peteris Krisjanis <pecisk@inbox.lv>
* lv.po (added) - Added Latvian translation.
2002-07-11 05:28:28 +00:00
Peteris Krisjanis
1b44a18767 Added Latvian translation.
2002-07-11  Peteris Krisjanis <pecisk@inbox.lv>
Added Latvian translation.
2002-07-11 05:27:37 +00:00
jacob berkman
8cfb7a3a7f activate the menu item so old apps work properly
2002-07-10  jacob berkman  <jacob@ximian.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_scroll_event): activate the
	menu item so old apps work properly
2002-07-10 18:46:34 +00:00
Owen Taylor
2c67a17bc5 Fix some cases where signal connection IDs where being assigned to guint
Wed Jul 10 14:27:14 2002  Owen Taylor  <otaylor@redhat.com>

        * modules/input/gtkimcontextxim.c gtk/gtkcolorsel.c
        gtk/gtkdialog.c gtk/gtktextbtree.c: Fix some cases
        where signal connection IDs where being assigned to
        guint rather than gulong. (part of #87281, Shivram U)
2002-07-10 18:30:41 +00:00
Jordi Mallach
c1dc8eed15 Updated Catalan translation. 2002-07-10 16:49:31 +00:00
Kjartan Maraas
f1e4445bce Updated Norwegian (bokml) translation.
2002-07-10  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-07-10 10:48:03 +00:00
Dmitry Mastrukov
c4f5ad3a0f ru.po: Updated Russian translation. 2002-07-10 04:41:25 +00:00
Changwoo Ryu
e067c2a9c4 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-07-09 10:56:49 +00:00
Chyla Zbigniew
609b29d2a8 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-07-08 10:30:30 +00:00
Christophe Fergeau
45664bc0f6 Updated French translation 2002-07-07 12:10:01 +00:00
Matthias Clasen
6ee45ace1b Correct computation of image height. (OneLine): Correct update
* io-ico.c (DecodeHeader): Correct computation of image height.
	(OneLine): Correct update notification.
2002-07-06 23:55:47 +00:00
Christian Rose
5f425b9f27 Updated Swedish translation.
2002-07-06  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-07-06 19:50:19 +00:00
Christophe Fergeau
2fe21816cc Updated French translation 2002-07-06 11:39:41 +00:00
Matthias Clasen
adc808729b Handle global_error == NULL better. (tiff_image_parse): Don't trust
* io-tiff.c (tiff_set_error): Handle global_error == NULL
	better.
	(tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
	the "put" routine.  (Fixes #87384)
	(gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too
	early.
2002-07-06 08:55:20 +00:00
Owen Taylor
94946ec0e4 Add an extra parameter to _gtk_menu_item_select_first() to allow us to
Fri Jul  5 20:18:23 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.[ch] gtk/gtkmenubar.c gtk/gtkmenuitem.c
        gtk/gtkentry.c gtk/gtktextview.c: Add an extra parameter
        to _gtk_menu_item_select_first() to allow us to choose
        whether we want to select the first item predictably
        or to select the first sensitive item. Fixes problem
        with insensitive menu items and keynav. (#85796,
        reported by Bill Haneman and others.)
2002-07-06 00:24:28 +00:00
Jonathan Blandford
b8c0aff312 fix warning. (gtk_tree_view_search_iter): fix warning, #85884
Fri Jul  5 02:50:24 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_collapse_all): fix warning.
	(gtk_tree_view_search_iter): fix warning, #85884

	* gtk/gtktreestore.c (gtk_tree_store_get_flags): change return
	value to GtkTreeModelFlags to fix compiler warning, #85883

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags): change
	return value to GtkTreeModelFlags to fix compiler warning, #85882

	* gtk/gtktreemodel.c (gtk_tree_path_prepend_index): fix compiler
	warning, #85881
2002-07-05 06:56:08 +00:00
Kristian Rietveld
bf033cc8e6 also update ->tail after sorting.
Thu Jul  4 19:49:08 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkliststore.c (gtk_list_store_sort): also update ->tail after
        sorting.
2002-07-04 17:39:57 +00:00
Matthias Clasen
81ecb7e80a New function to avoid crashes on unchecked reallocs. (DecodeHeader,
* io-bmp.c (grow_buffer): New function to avoid crashes
	on unchecked reallocs.
	(DecodeHeader, DecodeColormap, decode_bitmasks,
	DoCompressed): Use grow_buffer instead of g_realloc
	throughout. Change signatures where necessary to pass the
	errors up.  (#85448)
	(OneLine16): Fix loading of 16bpp BI_RGB bmps.  (#86286)
2002-07-02 17:51:27 +00:00
Stanislav Visnovsky
87943c865c Updated Slovak translation.
2002-07-02  Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>

	* sk.po: Updated Slovak translation.
2002-07-02 15:05:50 +00:00
Jonathan Blandford
582a76843a only validate the visible area if we've ever been requisitioned.
Tue Jul  2 00:33:26 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (validate_visible_area): only validate the
	visible area if we've ever been requisitioned.
2002-07-02 04:34:48 +00:00
Jonathan Blandford
e44ece4e36 sync up white space/variable names to match tree_store equiv.
Mon Jul  1 17:04:09 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_real_set_value): sync up
	white space/variable names to match tree_store equiv.

	* gtk/gtktreestore.c (gtk_tree_store_real_set_value): sort if we
	set the value.
2002-07-01 21:15:26 +00:00
Bill Haneman
60baed1179 Fix for gdk_pixbuf_xlib_get_from_drawable, to handle root window drawable. 2002-07-01 13:42:07 +00:00
Pablo Saratxaga
1457497c10 updated Vietnamese file 2002-06-30 22:09:24 +00:00
Sven Neumann
3a259d847d converted a Tab to spaces.
2002-06-28  Sven Neumann  <sven@gimp.org>

	* gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
2002-06-28 14:15:43 +00:00
Changwoo Ryu
9aff7ba8e5 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-06-21 06:59:20 +00:00
Yanko Kaneti
0d37ee8e59 Added Bulgarian (bg).
2002-06-18  Yanko Kaneti <yaneti@declera.com>

   * configure.in: (ALL_LINGUAS) Added Bulgarian (bg).

po/

   * bg.po (added): Bulgarian translation by
   Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>.
2002-06-18 20:20:20 +00:00
Pablo Saratxaga
ab237e4a09 updated Vietnamese file 2002-06-18 13:59:26 +00:00
Ole Laursen
549ed2d785 Updated Danish translation.
2002-06-17  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-06-17 21:20:19 +00:00
Vincent van Adrighem
09065c7696 Dutch translation updated by Tino Meinen.
2002-06-16 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
        * nl.po: Dutch translation updated by Tino Meinen.
2002-06-16 22:42:34 +00:00
Kjartan Maraas
39c59caa9d Update 2002-06-16 18:56:53 +00:00
Owen Taylor
f7d4be45ff fix bugzilla references 2002-06-16 13:48:28 +00:00
Carlos Perello Marin
f84c758861 Updated Spanish translation.
2002-06-16  Carlos Perello Marin <carlos@gnome-db.org>

	* es.po: Updated Spanish translation.
2002-06-16 13:03:21 +00:00
Owen Taylor
9af4e2c2c1 at Jun 15 23:21:24 2002 Owen Taylor <otaylor@redhat.com>
* Released 2.0.5

        * configure.in: Version 2.0.5, binary, interface age 5.

        * NEWS: Updated.
2002-06-16 05:37:12 +00:00
Owen Taylor
387cbde678 Remove conflict indicators 2002-06-16 03:59:29 +00:00
Owen Taylor
9e783527b3 Actually use the UTF-8 filename, so we actually fix #83386.
Sat Jun 15 23:53:03 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilesel.c (gtk_file_selection_set_filename):
        Actually use the UTF-8 filename, so we actually
        fix #83386.

        * tests/testgtk.c: Remember the directory as a
        test of gtk_file_selection_set_filename().
2002-06-16 03:59:06 +00:00
Owen Taylor
472348534f at Jun 15 23:05:19 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c (gtk_file_selection_set_filename):
        Fix backwards asssertion. (#85434)
2002-06-16 03:12:36 +00:00
Duarte Loreto
35fbd14600 Updated Portuguese translation.
2002-06-16  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-06-16 00:49:19 +00:00
James M. Cape
a66732b586 Notify about "background-full-height-set", not "bg_full_height_set".
Sat Jun 15 16:10:00 2002  James M. Cape <jcape@ignore-your.tv>

	* gtk/gtktexttag.c (gtk_text_tag_set_property):
	Notify about "background-full-height-set", not
	"bg_full_height_set".
2002-06-15 21:10:59 +00:00
Andraz Tori
cf694bc246 Updated Slovenian translation 2002-06-15 15:56:23 +00:00
Owen Taylor
e3585dacce Released 2.0.4.
Fri Jun 14 12:50:21 2002  Owen Taylor  <otaylor@redhat.com>

        * Released 2.0.4.

        * configure.in: 2.0.3, interface, binary age 4.

        * gtk/gtktreeselection.c gtk/gtktreeview.c gtk/gtkwindow.c
          gtk/gtkrc.c: Some doc SGML fixes.
2002-06-14 21:07:12 +00:00
Jonathan Blandford
2696fbc98f Fix bug #84268, where validate_rows sometimes didn't remove itself
Fri Jun 14 15:41:50 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c: Fix bug #84268, where validate_rows sometimes
	didn't remove itself correctly.  Thanks to Dave Camp for the fix.
2002-06-14 19:43:16 +00:00
Jonathan Blandford
1dc1b2c93f disconnect_by_func instead of disconnect_by_data. Someone else could use
Fri Jun 14 15:09:11 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_adjustments):
	disconnect_by_func instead of disconnect_by_data.  Someone else
	could use the same data as us.

	* gtk/gtktreeview.c (do_validate_rows): update the adjustment
	immediately after we update the size.  Fixes some scroll_to bugs.
	(validate_visible_area): ditto
2002-06-14 19:20:32 +00:00
Takayuki KUSANO
1d7f1372d0 Updated 2002-06-14 18:54:48 +00:00
Takayuki KUSANO
ec0e05525f Updated Japanese translation.
* ja.po: Updated Japanese translation.
2002-06-14 17:13:50 +00:00
Owen Taylor
9c8d313f38 Ignore state change events for windows that aren't our toplevels. (#84482,
Fri Jun 14 10:31:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed):
        Ignore state change events for windows that aren't
        our toplevels. (#84482, Thomas Leonard)
2002-06-14 14:34:22 +00:00
Owen Taylor
bf4292b24c Add missing GDK_THREADS_ENTER()/GDK_THREADS_LEAVE(). (Report of
Fri Jun 14 10:00:29 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.c (gdk_window_update_idle): Add
        missing GDK_THREADS_ENTER()/GDK_THREADS_LEAVE().
        (Report of non-thread-safety from Nicholas Allen)

        * gtk/gtkmain.c (rewrite_events_translate): Fix sign
        problem with coordinate translation. (Fix from
        Robin Lu, #85229)
2002-06-14 14:15:32 +00:00
Chyla Zbigniew
ceea5ef8fe Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-06-14 08:24:47 +00:00
Owen Taylor
56bc856b71 Fix type names for GtkIconSet, GtkIconSource, GtkSelectionData, GtkBorder,
Thu Jun 13 19:41:56 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkiconfactory.c gtk/gtkselection.c gtk/gtkstyle.c
        gtk/gtktextiter.c gtk/gtktexttag.c gtk/gtktreemodel.c
        gtk/gtkwidget.c: Fix type names for GtkIconSet,
        GtkIconSource, GtkSelectionData, GtkBorder, GtkTextIter,
        GtkTextAttributes, GtkTreePath, GtkTreeIter,
        GtkRequisition, which were all registered as GtkType*.
        (#84634, James Henstridge; patch from Jonathan Blandford.)

        * NEWS: Updates.
2002-06-13 23:45:32 +00:00
Owen Taylor
31be1165be hu Jun 13 18:48:14 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c: Make work
        gdk_colormap_sync() work for DirectColor visuals
        as well. Fill in the ->colors array in
        gdk_screen_get_system_colormap () for DirectColor visuals.
        (#81954, Based on a patch from shivaram.upadhyayula@wipro.com)
2002-06-13 22:53:08 +00:00
Owen Taylor
36446419a3 Fix problem where when no alpha was involved, we scaled rather than
Thu Jun 13 18:11:11 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c: Fix problem where when no alpha was
        involved, we scaled rather than composited, but then
        went ahead and composited anyways. (#76958, Patch
        from Matthias Clasen) Needs to be merged to GNOME
        1.4 gdk-pixbuf.
2002-06-13 22:11:41 +00:00
Owen Taylor
dafcd60b6c Add the obsolete CUA cut/copy/paste bindings. (#79078)
Thu Jun 13 17:50:36 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c gtk/gtkentry.c: Add the obsolete
        CUA cut/copy/paste bindings. (#79078)

        * gtk/gtktextview.c gtk/gtkentry.c: Make <Shift>BackSpace
        a synonym for for Backspace. (#80302, Jeff Waugh)
2002-06-13 22:06:17 +00:00
Owen Taylor
0c27054e73 Ignore all client events that were sent to a window that we don't know
Thu Jun 13 15:02:49 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c: Ignore all client events that
        were sent to a window that we don't know about or
        to a foreign window. (#81543, Young-Ho, Cha)
2002-06-13 19:36:14 +00:00
Jordi Mallach
8c5d2437f7 Updated Catalan translation. 2002-06-13 17:30:58 +00:00
Christian Rose
57fbd241ff Remove po/desk.pl and po/update.pl.
2002-06-13  Christian Rose  <menthos@menthos.com>

	* Makefile.am (EXTRA_DIST): Remove po/desk.pl and
	po/update.pl.
2002-06-13 16:35:30 +00:00
Owen Taylor
610a91de25 Fix so that the encoding of the filename is handled properly in the case
Thu Jun 13 12:24:09 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilesel.c (gtk_file_selection_set_filename):
        Fix so that the encoding of the filename is handled
        properly in the case of non-UTF-8 filesystems;
        document the encoding. (#83386, Sebastian Ritau)

        * gtk/gtkfilesel.c (filenames_drag_get): Remove
        debug printf. Fix UTF-8 / filename encoding
        confusion.
2002-06-13 16:32:45 +00:00
Owen Taylor
138d13b2a4 Don't return a positive status unless there is a text target in the drag.
Thu Jun 13 12:01:36 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.c (gtk_entry_drag_motion): Don't return
        a positive status unless there is a text target in
        the drag. (#83386, Thomas Leonard.)
2002-06-13 16:04:10 +00:00
jacob berkman
4d8116d641 remove po/README.tools
2002-06-13  jacob berkman  <jacob@ximian.com>

	* Makefile.am (EXTRA_DIST): remove po/README.tools
2002-06-13 15:58:26 +00:00
Owen Taylor
432d618f51 Save the initial grab time, use that when changing the pointer. (#83052,
Thu Jun 13 11:36:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Save
        the initial grab time, use that when changing the
        pointer. (#83052, help from Dave Camp tracking it down.)
2002-06-13 15:56:35 +00:00
Kristian Rietveld
ca8c78aecf traverse all nodes, not just the leafs (pointed out by Josh Parsons)
Thu Jun 13 16:36:40 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreestore.c (gtk_tree_store_finalize): traverse all nodes,
        not just the leafs (pointed out by Josh Parsons)
2002-06-13 14:28:04 +00:00
Christian Rose
5fc9179fce Removed. These are obsoleted by intltool. Updated Swedish translation.
2002-06-13  Christian Rose  <menthos@menthos.com>

	* desk.pl, update.pl, update.sh, README.tools: Removed. These are
	obsoleted by intltool.
	* sv.po: Updated Swedish translation.
2002-06-13 07:04:44 +00:00
Havoc Pennington
7e9215c616 check that pango has Xft2 support, instead of checking whether Xft2
2002-06-12  Havoc Pennington  <hp@redhat.com>

	* configure.in: check that pango has Xft2 support, instead of
	checking whether Xft2 exists.
2002-06-12 22:29:10 +00:00
Owen Taylor
51d3f7330c Add an informative g_warning() when the entry has lost a focus-out-event.
Wed Jun 12 17:46:53 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.c (blink_cb): Add an informative
        g_warning() when the entry has lost a focus-out-event.
        (#78305, Michel Selten)
2002-06-12 21:47:59 +00:00
Owen Taylor
dfbb9d64b5 Check to see if the menu item is selectable before setting
Wed Jun 12 17:31:15 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.c (gtk_menu_shell_real_select_item):
        Check to see if the menu item is selectable before
        setting menu_shell->active_menu_item. This hopefully
        will keep gail from getting confused.
        (#84115, Remus Draica)
2002-06-12 21:32:12 +00:00
Owen Taylor
f0032274a8 Fix bug where if CENTER_ON_PARENT was set, but there was no parent,
Wed Jun 12 17:13:13 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_move_resize): Fix bug
        where if CENTER_ON_PARENT was set, but there was
        no parent, GDK_HINT_POS would be set, resulting
        in a dialog at 0,0. (#83479, Havoc Pennington)
2002-06-12 21:19:13 +00:00
Owen Taylor
f7b6505060 When fetching the menubars for the window for F10 handling, only add
Wed Jun 12 16:34:13 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenubar.c: When fetching the menubars for
        the window for F10 handling, only add viewable menu
        bars. (Apparently, people sometimes put menu bars
        in notebook pages!) (Tim Janik, #82627)
2002-06-12 20:42:23 +00:00
Owen Taylor
e4d9682836 Clamp size of child to at least 1x1. (#82431, Boris Shingarov.)
Wed Jun 12 16:21:38 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcheckbutton.c (gtk_check_button_size_allocate):
        Clamp size of child to at least 1x1. (#82431,
        Boris Shingarov.)
2002-06-12 20:23:21 +00:00
Owen Taylor
c994d518a8 Handle 0 increment, to fix division-by-zero problem. (#82816, George
Wed Jun 12 15:43:38 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkspinbutton.c (gtk_spin_button_snap): Handle
        0 increment, to fix division-by-zero problem.
        (#82816, George Lebl.)
2002-06-12 19:42:36 +00:00
Owen Taylor
a8ebb5a029 ed Jun 12 15:38:01 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
        Fix memory leak. (Patch from Matthias Clasen, #84926)

        * gtk/gtkrange.c (gtk_range_init): Initialize
        mouse_x, mouse_y to -1,-1. (#84871, Garrett Lesage)
2002-06-12 19:37:29 +00:00
Owen Taylor
bd67c09866 Allow NULL for widget path or class path as documented. (#83150, Sergey
Wed Jun 12 15:08:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c (gtk_rc_get_style_by_paths): Allow
        NULL for widget path or class path as documented.
        (#83150, Sergey Kuzminov)
2002-06-12 19:08:46 +00:00
Owen Taylor
cac66b0176 Fix ZWJ => ZWN typo. (#83092, Tino Meinen)
Wed Jun 12 15:02:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextutil.c: Fix ZWJ => ZWN typo.
        (#83092, Tino Meinen)
2002-06-12 19:01:46 +00:00
Owen Taylor
18d5d86346 Fix some problems with case statements for checking for omitted deps.
Wed Jun 12 14:41:43 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix some problems with case statements
        for checking for omitted deps. (#84202, Jacob Berkman.)

        * configure.in: Remove USE_X11R6_XIM checks since we
        no longer use them.
2002-06-12 18:48:27 +00:00
Owen Taylor
8ed5317593 ed Jun 12 14:18:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c: Add compose sequences
        of dead_acute + c/C => C WITH CEDDILLA.
        (Nano Golveia, #83492)
2002-06-12 18:22:12 +00:00
Federico Mena Quintero
f2167ac6fe New functions to fetch 32 or 16-bit little-endian values starting at a
2002-06-07  Federico Mena Quintero  <federico@ximian.com>

	* io-bmp.c (lsb_32):
	(lsb_16): New functions to fetch 32 or 16-bit little-endian values
	starting at a specific memory location.  We do this instead of
	GINT32_FROM_LE() as the latter is simply dereferences a cast,
	which doesn't work on platforms with alignment requirements.
	Fixes #84083.
2002-06-10 16:56:42 +00:00
Daniel Elstner
09d622339a Remove duplicated message. Although it was commented, my gettext (0.11.2)
2002-06-10  Daniel Elstner  <daniel.elstner@gmx.net>

* pt_BR.po: Remove duplicated message.  Although it was commented, my gettext (0.11.2) didn't like it.
2002-06-10 13:53:04 +00:00
Gustavo Noronha Silva
d922c751d5 updating translation... I used pt.po to "bootstrap" the missing
messages and reviewed most of them
2002-06-10 03:27:37 +00:00
Matthias Clasen
529b689a35 Don't leak child_anchor_table. (#84425)
* gtk/gtktextbtree.c (_gtk_text_btree_unref): Don't leak
	child_anchor_table.  (#84425)

	* gtk/gtktextlayout.c (gtk_text_layout_finalize): Don't leak
	one_display_cache.  (#84424)
2002-06-09 20:37:18 +00:00
Andraz Tori
50ad2bb2e7 Updated Slovenian translation 2002-06-09 19:49:01 +00:00
Christophe Merlet
70b686742c Updated French translation. 2002-06-08 17:34:08 +00:00
Jonathan Blandford
0c0f6961cb Fix sizing bug.
Fri Jun  7 23:11:42 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): Fix sizing
	bug.

	* docs/reference/gtk/tmpl/gtkbutton.sgml: Remove ^M's.
2002-06-08 06:14:59 +00:00
Matthias Clasen
55fcbecc93 New function, split off from gtk_tree_view_column_clear_attributes.
* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_clear_attributes_by_info): New function,
	split off from gtk_tree_view_column_clear_attributes.
	(gtk_tree_view_column_clear_attributes):
	(gtk_tree_view_column_finalize):  Call the new function, avoid
	recalculating the info from the renderer.  (#84413)

	* gtk/gtktextview.c (text_view_child_new_anchored): Initialize
	vc->type in order to avoid a later UMR.  (#84415)
2002-06-07 21:59:55 +00:00
Andraz Tori
8dedc77abd Updated Slovenian translation 2002-06-07 19:50:36 +00:00
Matthias Clasen
45fe0becc7 Set hardware_keycode for KeyRelease events. (#84305)
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Set
	hardware_keycode for KeyRelease events.  (#84305)
2002-06-06 21:01:34 +00:00
Tivo Leedjrv
5530d73ca0 Fixed previous error.
2002-06-06  Tivo Leedjrv  <toivo@linux.ee>

        * et.po: Fixed previous error.
2002-06-06 19:19:27 +00:00
jacob berkman
e80f1861d0 revert previous commit as it yields "invalid multibyte sequence" errors
2002-06-06  jacob berkman  <jacob@ximian.com>

	* et.po: revert previous commit as it yields "invalid multibyte
	sequence" errors
2002-06-06 18:38:01 +00:00
Owen Taylor
c7fab5a23d Don't redraw when the area is completely above the visible area.
Thu May 23 15:44:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (changed_handler): Don't redraw
        when the area is completely above the visible area.
2002-06-06 15:45:02 +00:00
Kristian Rietveld
8aea6870a7 don't leak the GArray (figured out by Matthias Clasen, fixes #82026).
Thu Jun  6 17:34:00 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkrbtree.c (_gtk_rbtree_reorder): don't leak the GArray
        (figured out by Matthias Clasen, fixes #82026).
2002-06-06 15:25:33 +00:00
Tivo Leedjrv
f677652d7d Fix.
2002-06-06  Tivo Leedjrv  <toivo@linux.ee>

        * et.po: Fix.
2002-06-06 15:09:57 +00:00
Dmitry Mastrukov
a27ca7142b ru.po: Updated Russian translation. 2002-06-06 03:53:40 +00:00
Vincent van Adrighem
8ee4f373fe Dutch translation updated.
2002-06-04 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
	* nl.po: Dutch translation updated.
2002-06-04 21:57:49 +00:00
Owen Taylor
1a53f723c4 If we have xft .pc file, use that when checking for Xft/Xrender. (Still
Tue Jun  4 17:39:34 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: If we have xft .pc file, use that
        when checking for Xft/Xrender. (Still need to separate
        out HAVE_XFT, HAVE_RENDER)

        * configure.in: Make sure Xft cflags come before X cflags.
2002-06-04 21:53:22 +00:00
Hasbullah Bin Pit
6c1036e9e9 Updated Malay Translation.
2002-06-04  Hasbullah Bin Pit <sebol@ikhlas.com>

* ms.po: Updated Malay Translation.
2002-06-04 20:25:56 +00:00
Tivo Leedjrv
bfa5cea589 Updated Estonian translation.
2002-06-04  Tivo Leedjrv  <toivo@linux.ee>

        * et.po: Updated Estonian translation.
2002-06-04 17:29:23 +00:00
Chyla Zbigniew
2d3fabf22f Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-06-04 17:15:22 +00:00
Daniel Elstner
9d432c2f96 Really fix #83796: Revert jrb's last patch, and move the second if-clause
2002-06-04  Daniel Elstner  <daniel.elstner@gmx.net>

* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): Really fix #83796: Revert jrb's last patch, and move the second if-clause into the fist one's else-branch.  This is also what the other cell renderers do.
2002-06-04 16:06:39 +00:00
George Lebl
cd20b58e1b update
Mon Jun 03 16:41:45 2002  George Lebl <jirka@5z.com>

	* cs.po: update
2002-06-03 23:31:36 +00:00
Federico Mena Quintero
057bccc78e Fix the MSB -> MSB case. Fixes #79190.
2002-06-03  Federico Mena Quintero  <federico@ximian.com>

	* gdk/gdkpixbuf-drawable.c (rgb565msb): Fix the MSB -> MSB case.
	Fixes #79190.
2002-06-03 17:38:49 +00:00
Jordi Mallach
62f50bfa0e Minor Catalan updates. 2002-06-03 01:23:43 +00:00
Christian Rose
028d675264 Updated Catalan translation by Jordi Mallach <jordi@sindominio.net>.
2002-06-02  Christian Rose  <menthos@menthos.com>

	* ca.po: Updated Catalan translation by
	Jordi Mallach <jordi@sindominio.net>.
2002-06-02 22:12:56 +00:00
Carlos Perell Marn
adccef1bd0 Updated Spanish translation by Juan Manuel Garca Molina
2002-06-01  Carlos Perell Marn <carlos@gnome-db.org>

	* es.po: Updated Spanish translation by Juan Manuel Garca Molina
	<juanma_gm@wanadoo.es>
2002-06-01 22:08:23 +00:00
Jonathan Blandford
eacffc9508 add missing flag, #83796
Sat Jun  1 10:38:24 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	add missing flag, #83796
2002-06-01 15:04:57 +00:00
Matthias Clasen
d89fd19f87 Accept xbms starting with a C comment - those seem to be not uncommon,
* gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
	with a C comment - those seem to be not uncommon, e.g. the Gimp
	produces them.  (#82706)

	* io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
	invalid inputs.
	(gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
2002-05-31 23:43:04 +00:00
Isam Bayazidi
78dc4e83a2 adding a no accelerator PO 2002-05-31 20:41:45 +00:00
Michael Meeks
5cb0f9b3a5 destroy the transfer window if the grab fails so we don't get events on
2002-05-30  Michael Meeks  <michael@ximian.com>

	* gtk/gtkmenu.c (gtk_menu_popup): destroy the transfer
	window if the grab fails so we don't get events on this
	window after the menu is finalized with a duff GtkWidget
	pointer: #82366
2002-05-31 16:36:39 +00:00
Shivram U
85bb7d41e1 Check if the owner got is of type GDK_WINDOW_FOREIGN. If so the owner is
Mon May 28 13:28:10  Shivram U  <shivaram.upadhyayula@wipro.com>

	* gtk/gtktextbuffer.c (selection_data_get_buffer): Check if the owner
	got is of type GDK_WINDOW_FOREIGN. If so the owner is not in-process,
	and so return NULL.
2002-05-30 09:41:45 +00:00
Michael Meeks
66dd5d22e6 don't leak the paths.
2002-05-24  Michael Meeks  <michael@ximian.com>

	* gtk/gtkmain.c (_gtk_find_module): don't leak the paths.
2002-05-30 09:27:54 +00:00
Soeren Sandmann
a367726d57 revert accidentally committed changes
Thu May 30 07:27:05 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkwindow.c: revert accidentally committed changes
2002-05-30 05:24:20 +00:00
Soeren Sandmann
0a474992c2 add gtk_menu_style_set(). Fixes #79345.
Thu May 30 07:12:02 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkmenu.c (gtk_menu_style_set): add
	gtk_menu_style_set(). Fixes #79345.
2002-05-30 05:12:30 +00:00
Tor Lillqvist
05f883f5b6 Use the "logical dpi" to calculate (pseudo) physical sizes. Similar to the
2002-05-30  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkmain-win32.c (gdk_screen_width_mm,
	gdk_screen_height_mm): Use the "logical dpi" to calculate
	(pseudo) physical sizes. Similar to the use of "logical dpi" in
	Pango as suggested by Joaquin Cuenca Abela.

	Two fixes by Florent Duguet:

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Correct
	semantics for setting cursor to NULL (should use cursor of parent
	window).

	* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get): Plug memory
	leak.
2002-05-29 22:21:59 +00:00
Dave Camp
08cc81743b Disconnect from keypress events.
2002-05-29  Dave Camp  <dave@ximian.com>

	* gtk/gtkdnd.c (gtk_drag_end): Disconnect from keypress events.
2002-05-29 19:22:51 +00:00
Chyla Zbigniew
c6e0fe3855 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-05-29 15:42:58 +00:00
Ole Laursen
46f5b022e5 Changed translation of redo.
2002-05-29  Ole Laursen  <olau@hardworking.dk>

	* da.po: Changed translation of redo.
2002-05-29 10:58:41 +00:00
Vincent van Adrighem
301e78d7db Minor changes to the translation (Tino Meinen).
2002-05-28 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
	* nl.po: Minor changes to the translation (Tino Meinen).
2002-05-28 09:46:16 +00:00
Duarte Loreto
de549ecdd3 Updated Portuguese translation.
2002-05-28  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2002-05-28 01:31:31 +00:00
Daniel Elstner
d8880ebb77 Fixes for #83190
2002-05-27  Daniel Elstner  <daniel.elstner@gmx.net>

Fixes for #83190

* gtk/gtktreedatalist.h (_GtkTreeDataList::data): Add missing fields to anonymous union: glong, gulong, gint64 and guint64.  This is an internal header file, so it should not affect ABI or API compatibility.

* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value): Implement missing support for glong, gulong, gint64 and guint64 fundamental types.  Use data.v_uint instead of data.v_int for G_TYPE_FLAGS, as GValue does.
(_gtk_tree_data_list_value_to_node): ditto
(_gtk_tree_data_list_node_copy): Add case labels for missing fundamental types, and reorder them to match the other functions.
(gtk_tree_data_list_compare_func): Implement comparison for glong, gulong, gint64 and guint64.  Use g_value_get_enum() for G_TYPE_ENUM and g_value_get_flags() for G_TYPE_FLAGS, rather than accessing them as gint/guint.  The G_VALUE_HOLDS() check probably won't like this.
2002-05-27 22:33:17 +00:00
Vincent van Adrighem
383ddaa39e Dutch translation updated by Tino Meinen.
2002-05-27 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
	* nl.po: Dutch translation updated by Tino Meinen.
2002-05-27 15:35:24 +00:00
Isam Bayazidi
ebb80c587e adding Arabic file 2002-05-26 22:56:38 +00:00
Carlos Perello Marin
c50b3669ee Updated by Gustavo Noronha Silva <kov@debian.org> && converted into UTF-8
2002-05-26  Carlos Perello Marin <carlos@gnome-db.org>

	* pt_BR.po: Updated by Gustavo Noronha Silva <kov@debian.org> &&
	converted into UTF-8
2002-05-26 19:15:02 +00:00
Isam Bayazidi
2a0c24e934 -fixing Arabic view 2002-05-24 23:11:39 +00:00
Isam Bayazidi
44bb96f2c8 - adding Arabic translation file 2002-05-24 22:15:41 +00:00
Dave Camp
8a846eb737 Built an iter directly instead of using
2002-05-24  Dave Camp  <dave@ximian.com>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted):
	Built an iter directly instead of using
	gtk_tree_model_sort_elt_get_path(), since that returns a path for
	the child model.
2002-05-24 18:37:28 +00:00
Dave Camp
1209ae2cc8 oops, fixed typo in the last commit 2002-05-24 16:50:53 +00:00
Dave Camp
ce69e17c53 Use indices[i] >= level->array->len rather than level->array->len >
2002-05-24  Dave Camp  <dave@ximian.com>

	* gtk/gtktreemodelsort.c: Use indices[i] >= level->array->len
	rather than level->array->len > indices[i] in the bounds check.
2002-05-24 15:52:30 +00:00
Owen Taylor
c577abf769 Released 2.0.3.
Thu May 23 17:19:16 2002  Owen Taylor  <otaylor@redhat.com>

        * Released 2.0.3.

        * gtk/gtktooltips.c (gtk_tooltips_event_handler): Disable
        tooltips for menu items with submenus .. they still
        don't really work properly.

        * gtk/gtkwindow.c (gtk_window_move_resize): Clear
        initial_pos_set even if it only causes a move, not
        a resize as well.

        * configure.in: GTK+-2.0.3, interface age, binary age 3.

        * NEWS: Updated.
2002-05-23 22:01:51 +00:00
Jonathan Blandford
4794f2b309 revert last change until I am more sure of it 2002-05-23 15:31:41 +00:00
Jonathan Blandford
6fe89cc83a Check the parentage of a newly inserted node.
Thu May 23 11:08:09 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_row_inserted): Check the
	parentage of a newly inserted node.
2002-05-23 15:15:37 +00:00
Kjartan Maraas
edf587b5d0 Update 2002-05-23 10:28:01 +00:00
Tor Lillqvist
cef800524a Use correct path to the loaders and immodules directories
2002-05-23  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Use correct path to the loaders and immodules
	directories (GTK_BINARY_VERSION, not GTK_VERSION).
2002-05-22 21:01:18 +00:00
Federico Mena Quintero
44fb34e048 Make the top of the ChangeLog match the one in HEAD - Federico 2002-05-22 20:35:00 +00:00
Federico Mena Quintero
fa5b3494ce Ahem, take the rowstride into account!!! Fixes #82515.
2002-05-22  Federico Mena Quintero  <federico@ximian.com>

	* io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
	account!!!  Fixes #82515.

	[This bug is not present in the GNOME 1.4 branch as its XPM loader
	does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
	no row padding and then uses gdk_pixbuf_new_from_data() on it.]

	[IMPORTANT: The comment above is to make my life easier when
	merging stuff across branches.  If you make changes to gdk-pixbuf
	in either branch, please include a comment in the ChangeLog that
	indicates whether this should be merged into the other branch.
	Thanks!]
2002-05-22 20:31:50 +00:00
Federico Mena Quintero
980b21ed3a Ahem, take the rowstride into account!!! Fixes #82515.
2002-05-22  Federico Mena Quintero  <federico@ximian.com>

        * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
        account!!!  Fixes #82515.

        [This bug is not present in the GNOME 1.4 branch as its XPM loader
        does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
        no row padding and then uses gdk_pixbuf_new_from_data() on it.]

        [IMPORTANT: The comment above is to make my life easier when
        merging stuff across branches.  If you make changes to gdk-pixbuf
        in either branch, please include a comment in the ChangeLog that
        indicates whether this should be merged into the other branch.
        Thanks!]
2002-05-22 20:28:15 +00:00
Owen Taylor
565c6e3ba5 Require autoconf-2.52 explicitely, since otherwise Debian will process it
Wed May 22 16:12:38 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Require autoconf-2.52 explicitely,
        since otherwise Debian will process it with 2.13 (ugh!).
2002-05-22 20:16:48 +00:00
Tor Lillqvist
de4153065e Use GTK_BINARY_VERSION (and not GTK_VERSION) in the path to the loaders on
2002-05-22  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
	GTK_VERSION) in the path to the loaders on Win32, too.

	* Makefile.am: Pass GTK_BINARY_VERSION.
2002-05-22 19:34:03 +00:00
Jonathan Blandford
a7cef089a8 remove GTK_RESIZE_QUEUE setting.
Wed May 22 12:29:20 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): remove
	GTK_RESIZE_QUEUE setting.
2002-05-22 16:34:49 +00:00
Owen Taylor
c2a0b5322c Fix missing dereference. (HideToshi Tajima)
Tue May 21 16:46:15 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkmain-x11.c (gdk_internal_connection_watch):
        Fix missing dereference. (HideToshi Tajima)
2002-05-21 20:51:30 +00:00
Owen Taylor
1b4ae4ff25 Conditionalize GTK_IS_PLUG() check on GDK_WINDOWING_X11. (Problem reported
Tue May 21 15:33:32 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_show): Conditionalize
        GTK_IS_PLUG() check on GDK_WINDOWING_X11. (Problem
        reported by Sven Neumann)
2002-05-21 19:33:10 +00:00
George Lebl
0d4e66328c update a few strings, that is at least the ones I see the most so that
Tue May 21 10:13:27 2002  George Lebl <jirka@5z.com>

	* cs.po: update a few strings, that is at least the ones I see
	  the most so that things speak at least somewhat czech to me
2002-05-21 17:03:47 +00:00
Owen Taylor
91ba6c2dc6 Patch from HideToshi Tajima to handle Xlib internal connections. (#76681)
Mon May 20 15:02:21 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c: Patch from HideToshi Tajima
        to handle Xlib internal connections. (#76681)
2002-05-20 19:04:24 +00:00
Owen Taylor
a57801b074 on May 20 12:59:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Set the private LEAVE_PENDING
        flag to fix problem where with menu items with
        submenus, tooltips were getting stuck. (Effectively
        disables tooltips for menu items with submenus.)
        (Bug #75961, Soeren Sandmann)

        * tests/testgtk.c: Set a tooltip on a menu item
        with a submenu.
2002-05-20 17:06:59 +00:00
Owen Taylor
c1b5a2d0ef Undo an accidental revert of fixes of May 16. (Caught by Padraig O'Briain)
Mon May 20 11:47:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c: Undo an accidental revert of
        fixes of May 16. (Caught by Padraig O'Briain)
2002-05-20 15:52:08 +00:00
Owen Taylor
785183c7fb Fix bug where size request for text cells was being overwritten. (#82264,
Mon May 20 11:38:21 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkctree.c (cell_size_request): Fix bug where
        size request for text cells was being overwritten.
        (#82264, Graham Swallow.)
2002-05-20 15:42:43 +00:00
Chyla Zbigniew
c2929809ff Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-05-19 09:03:35 +00:00
Vlad Harchev
840d2ef409 ru.po: updated russian translation from Dmitry G. Mastrukov 2002-05-19 03:57:52 +00:00
Christian Rose
a9274b2f0c Updated Swedish translation.
2002-05-19  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2002-05-19 02:39:42 +00:00
Matthias Clasen
32931e7d08 Check for endianness.
* configure.in: Check for endianness.

	* io-tiff.c (tiff_image_parse): fix packing order on bigendian
	systems.  (#81702)
2002-05-18 14:54:37 +00:00
Owen Taylor
410b70f907 Only optimize out the full configure handling if we got a gratuitous
Thu May 16 19:49:24 2002  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtkwindow.c (gtk_window_configure_event): Only
        optimize out the full configure handling if we got
        a gratuitous configure event(configure_request_count == 0)
        and the size didn't change.

        * gtk/gtkwindow.c (gtk_window_move_resize): Use
        g_message(), not g_print() for debug spew.

        * gtk/gtkwindow.c (gtk_window_real_set_focus): Ref
        the old and new focus widgets for the scope of
        the function.

        * gtk/gtksocket.c gtkplug.c: Remove various #if 0'd
        bits of old code.

        * gtk/gtksocket.c gtk/gtkplug.c: Enhance debug messages.
2002-05-17 21:44:37 +00:00
Owen Taylor
0aa1bd5e97 Protect against reentrancy problems by emitting ::preedit_changed at the
Fri May 17 14:40:24 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
        Protect against reentrancy problems by emitting
        ::preedit_changed at the end, fixing input context
        leak. (Yao Zhang)

        * modules/input/gtkimcontextxim.c (status_window_free):
        Patch from Federico Mena Quintero to fix problem where
        references to IMContextXIM were kept around after
        module was unloaded.

        * gtk/gtkdnd.c (gtk_drag_dest_set): NULL initialize
        proxy window.
2002-05-17 19:28:35 +00:00
Kjartan Maraas
d7542b9af8 Update 2002-05-17 19:25:37 +00:00
Owen Taylor
859145de52 Fix a missing unref in the local/passive case. (#82067, Michael Meeks)
Fri May 17 13:56:23 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c (gtk_plug_filter_func): Fix a missing
        unref in the local/passive case. (#82067, Michael
        Meeks)

        * gtk/gtkplug.c (_gtk_plug_remove_from_socket): Fix
        reference leak on the plug window.

        * tests/testsocket.c (add_child): Fix memory leak.

        * gtk/gtkdnd.c (gtk_drag_dest_site_destroy): Unref
        the proxy window.
2002-05-17 18:15:19 +00:00
Pablo Saratxaga
5d2db8f012 Updated Catalan, Vietnamese and Walloon file 2002-05-17 10:07:22 +00:00
Owen Taylor
1fa83a74f5 Thu May 16 18:47:29 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkwindow.c (gtk_window_show): Disable the focus-some-one code for GtkPlug descendants. * gtk/gtkplug.c (gtk_plug_focus_event): Eat focus-in/out events since they can be generated by keyboard grabs, but are spurious for an embeddded widget. (#79196, Padraig O'Briain) * gtk/gtksocket.c (gtk_socket_size_request): Only pay attention to the minimum size hints, and changes to that ... ignore the default size. * gtk/gtksocket.c (gtk_socket_send_configure_event): Pass in root-window relative coordinates as per the ICCCM. * gtk/gtksocket.c (gtk_socket_size_allocate): Send as many synthetic configures as necessary to make up for ConfigureRequest events we got. (#78799, Dave Camp.) 2002-05-16 23:37:30 +00:00
Kristian Rietveld
cb9aff42c7 set the prev of the next node correctly, so we don't corrupt the list and
Thu May 16 23:59:56 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): set the prev
        of the next node correctly, so we don't corrupt the list and cause
        bad things. (fixes #71374)
2002-05-16 22:15:30 +00:00
Jonathan Blandford
1124ea7c72 include missing #ifdef G_ENABLE_DEBUG
Thu May 16 17:29:08 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (_gtk_rbtree_remove): include missing #ifdef G_ENABLE_DEBUG
2002-05-16 21:35:58 +00:00
Owen Taylor
ec80b47977 Fix typo in earlier patch.
Thu May 16 15:44:15 2002  Owen Taylor  <otaylor@redhat.com>

        * demos/gtk-demo/editable_cells.c (cell_edited): Fix
	typo in	earlier	patch.
2002-05-16 19:44:17 +00:00
Owen Taylor
1fd687f7c2 Don't filter control-shift+[non-hex]. (#80252, reported by Nalin
Tue May  7 15:50:51 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
        Don't filter control-shift+[non-hex].
        (#80252, reported by Nalin Dahyabhai)
2002-05-16 19:41:09 +00:00
Owen Taylor
f1fa35441e Patch from Matthias Clasen to fix some typos (#77246)
Thu May 16 15:17:30 2002  Owen Taylor  <otaylor@redhat.com>

        * pixops/pixops.c: Patch from Matthias Clasen to fix some typos
        (#77246)
2002-05-16 19:18:14 +00:00
Owen Taylor
d7b7242847 Fixes for #78258
Thu May 16 14:51:14 2002  Owen Taylor  <otaylor@redhat.com>

        Fixes for #78258

        * gtk/gtkrbtree.c demos/gtk-demo/editable-cells.c:
        Fix some 64-bit warning problems. (Patch from Matthias
        Clasen.)

        * gtk/gtkrbtree.c (_gtk_rbtree_debug_spew_helper): Surround
        a bunch of debug code with G_ENABLE_DEBUG.

        * configure.in demos/gtk-demo/main.c: Replace
        #ifndef G_OS_WIN32 with proper #ifdef HAVE_FLOCKFILE.
2002-05-16 19:12:01 +00:00
Owen Taylor
a2e485757c Fix a missed check for division by zero. (#77820, Gareth Pearce)
Thu May 16 12:56:38 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrange.c (gtk_range_calc_layout): Fix a missed
        check for division by zero. (#77820, Gareth Pearce)
2002-05-16 16:57:07 +00:00
Owen Taylor
2c79e71d98 gdk_event_put() copies the event and setting name, so we don't have to
Thu May 16 12:50:13 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_xsettings_notify_cb):
	gdk_event_put() copies the event and setting name,
	so we don't have to strdup() it here. (Fix from
	Michael Meeks, #81953)
2002-05-16 16:53:37 +00:00
Ettore Perazzoli
c2d9124553 If the menu is scrolled down or up, and some of the widget area is empty,
* gtk/gtkmenu.c (gtk_menu_paint): If the menu is scrolled down or
up, and some of the widget area is empty, don't fill it in with
GTK_SHADOW_IN rectangles that make it looks strange.  Fixes
#72695.
2002-05-16 13:49:04 +00:00
Owen Taylor
806bb88530 Don't call gdk_pointer_grab() to change the cursor if we've already
Wed May 15 18:15:45 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
        call gdk_pointer_grab() to change the cursor if we've
        already ungrabbed on button release / escape.
        (#80420, Dave Camp)
2002-05-15 22:26:45 +00:00
Owen Taylor
ea696a2362 Special case menu items to pop down on motion. (#75961)
Wed May 15 17:12:50 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktooltips.c: Special case menu items to
        pop down on motion. (#75961)

        * tests/testgtk.c (create_item_factory): Add tooltips
        to the File menu.

        * gtk/gtkentry.c (update_im_cursor_location): Fix
        cursor locations passed to the IM context.
        (#80027, Yao Zhang)
2002-05-15 21:47:08 +00:00
Owen Taylor
87234fd57b Update from contents of size entry on focus out. (#76493, Lauris
Wed May 15 16:52:57 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfontsel.c: Update from contents of size entry
        on focus out. (#76493, Lauris Kaplinski)

        * gtk/gtkclipboard.c (selection_get_cb): Fix backwads
        info/time arguments. (#80226)
2002-05-15 20:54:42 +00:00
Owen Taylor
31ec94faa5 If not building libpng, don't rebuild gtkstockpixbufs.h (#81819, Bill
Wed May 15 11:13:19 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in gtk/stock-icons/Makefile.am: If not
        building libpng, don't rebuild gtkstockpixbufs.h
        (#81819, Bill Janssen)
2002-05-15 15:31:53 +00:00
Jacob Berkman
2dcfebc67f run perl on the file, since it's not executable
2002-05-15  Jacob Berkman  <jacob@ximian.com>

	* demos/gtk-demo/Makefile.am: run perl on the file, since it's not
	executable
2002-05-15 04:18:06 +00:00
Owen Taylor
d81b18a210 Subsitute in @PERL@ instead of hardcoded /usr/bin/perl. (#78355, Gareth
Tue May 14 19:53:15 2002  Owen Taylor  <otaylor@redhat.com>

        * demos/gtk-demo/geninclude.pl.in configure.in:
        Subsitute in @PERL@ instead of hardcoded
        /usr/bin/perl. (#78355, Gareth Pearce. Fix based
        on patch from Matthias Clasen)

        * gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
        instead of makeenums.pl.

        * gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
        get gdkenumtypes.h built first.
2002-05-14 23:57:23 +00:00
Owen Taylor
185087e553 Remove the result file on error. (#79929, David Highley)
Tue May 14 18:41:58 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):
        Remove the result file on error. (#79929, David
        Highley)

        * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
        If the menu is currently active, cancel it before
        setting the new menu. (#79162, Jonathan Blandford.)
2002-05-14 22:44:30 +00:00
Owen Taylor
26f74e40f6 Fix prepending at the start of the list. (#56349, Thomas Leonard.)
Tue May 14 18:13:10 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix
        prepending at the start of the list. (#56349,
        Thomas Leonard.)

        * gtk/gtksignal.h (gtk_signal_disconnect_by_func): Add
        explicit casts to GSignalMatchType for C++ compatibility.
        (#77601)
2002-05-14 22:16:01 +00:00
Owen Taylor
ff76bf8ba7 Fix frame_right/frame_top screwup. (Detlef Reichl, #78111)
Tue May 14 18:02:37 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_realize): Fix
        frame_right/frame_top screwup. (Detlef Reichl,
        #78111)

        * gtk/Makefile.am (install-data-local): Use
        $(INSTALL_DATA) not $(INSTALL) when installing
        theme files. (#77094, Ben Liblit)
2002-05-14 22:04:22 +00:00
Owen Taylor
099100a9d3 Fix format of selection data to be 8 rather than GTK_TYPE_POINTER.
Tue May 14 17:30:57 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkctree.c gtk/gtkclist.c: Fix format of
        selection data to be 8 rather than GTK_TYPE_POINTER.
        (#79751, James Henstridge)

        * gtk/gtkmenu.c (gtk_menu_key_press): Call
        gtk_accelerator_valid() with cleaned up
        accel_key/accel_mods, not the raw values from
        the event. (#80513, Havoc Pennington.)

        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Remove
        some dead code that set the tearoff window not
        resizable and removed decorations. (#80235)
2002-05-14 21:36:16 +00:00
Owen Taylor
94d05dfaf8 Set the width of the layout to the actual wrap width (our requisition) not
Tue May 14 16:44:09 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtklabel.c (gtk_label_ensure_layout): Set
        the width of the layout to the actual wrap width
        (our requisition) not the width we set when calculating
        the width. This results in the lines being justified
        within the correct area. (#79157, Anders Carlsson)

        * gtk/gtkaccelgroup.c gtk/gtkmarshelers.list: Corrected
        registered parameter types of "accel_activate" and
        "accel_changed" signals. (Patch from Murray Cumming, #78798)

        * gtk/gtkrc.c (gtk_rc_make_default_dir): Switch
        binary-version and type to correspond to the
        current ordering in _gtk_get_module_path.
        (#78746, Sergey Kuzminov)

        * gtk/gtkrc.c (gtk_rc_get_module_dir): Add docs
        pointing to the GTK_PATH documentation.

        * gtk/Makefile.am (uninstall-local): Delete
        key themes as well. (#81286, Kristian Rietveld.)
2002-05-14 20:52:59 +00:00
Pauli Virtanen
f10a6beefc Updated Finnish translation.
2002-05-14  Pauli Virtanen <pauli.virtanen@hut.fi>

	* fi.po: Updated Finnish translation.
2002-05-14 20:51:07 +00:00
Owen Taylor
fa7fc23f44 Try adding a #ifndef/#define for XkbKeySymEntry to make up for OSF broken
Tue May 14 15:09:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Try adding a #ifndef/#define
        for XkbKeySymEntry to make up for OSF broken
        XKB extension. (#77819, Gareth Pearce)

        * gtk/gtklayout.c: Clamp the upper values in response
        to ::size-allocate if necessary. (#81290, Christophe Saout)

        * gtk/gtkcombo.c (gtk_combo_entry_focus_out): Handle
        combo being destroyed before idle fires.
        (#81396, Timo Sirainen)
2002-05-14 19:12:51 +00:00
Kristian Rietveld
f34a1f4807 PACK_END cells support CELL_ACTION_EVENT too now ...
Mon May 13 23:19:20 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
        PACK_END cells support CELL_ACTION_EVENT too now ...
2002-05-13 21:18:31 +00:00
Stanislav Visnovsky
8b4829abab Updated Slovak translation.
2002-05-11  Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>

	* sk.po: Updated Slovak translation.
2002-05-11 14:18:43 +00:00
Ole Laursen
f21dfb358d Updated Danish translation.
2002-05-11  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2002-05-11 11:02:47 +00:00
Daniel Elstner
5a1a08f160 #define INITIALIZE_TREE_ITER(), which zeroes out all GtkTreeIter fields.
2002-05-10  Daniel Elstner  <daniel.elstner@gmx.net>

* gtk/gtktreemodel.c: #define INITIALIZE_TREE_ITER(), which zeroes out all GtkTreeIter fields. (#81380)
(gtk_tree_model_get_iter): Use it.
(gtk_tree_model_iter_children): ditto
(gtk_tree_model_iter_nth_child): ditto
(gtk_tree_model_iter_parent): ditto
2002-05-10 21:48:20 +00:00
Chyla Zbigniew
0cc2d916f1 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-05-10 12:39:30 +00:00
Kristian Rietveld
dbe2343a7d fixup comment, so it doesn't screw the docs.
Thu May  9 23:33:32 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_stop_editing): fixup comment,
        so it doesn't screw the docs.
2002-05-09 21:27:18 +00:00
Michael Natterer
bd118b7212 fixed yesterdays fix for cross compiling: simply check the variable
2002-05-08  Michael Natterer  <mitch@gimp.org>

	* configure.in: fixed yesterdays fix for cross compiling: simply
	check the variable "cross_compiling" which gets set by autoconf.
2002-05-08 15:29:10 +00:00
Owen Taylor
175116ac7d Check for selection_atom, not property name atom.
Tue May  7 18:36:03 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/xsettings-client.c (xsettings_client_process_event):
        Check for selection_atom, not property name atom.
2002-05-07 22:45:28 +00:00
Michael Natterer
12cf52e468 added a new conditional CROSS_COMPILING which indicates ($build != $host).
2002-05-07  Michael Natterer  <mitch@gimp.org>

	* configure.in: added a new conditional CROSS_COMPILING which
	indicates ($build != $host). If it is set, look for
	gdk-pixbuf-csource in PATH. Error out if it was not found.

	* gtk/stock-icons/Makefile.am: use the gdk-pixbuf-csource found at
	configure time if CROSS_COMPILING is set, use the one which was
	just built otherwise.
2002-05-07 15:57:51 +00:00
Anders Carlsson
c5162fa6e8 Only process manager events with the correct atom.
2002-05-07  Anders Carlsson  <andersca@gnu.org>

	* gdk/x11/xsettings-client.c (xsettings_client_process_event):
	Only process manager events with the correct atom.
2002-05-07 14:51:18 +00:00
Michael Natterer
8aa2e2453e build the static pixbuf loaders conditionally like the dynamic ones so
2002-05-07  Michael Natterer  <mitch@gimp.org>

	* gdk-pixbuf/Makefile.am: build the static pixbuf loaders
	conditionally like the dynamic ones so --without-lib<foo> is
	honored when building with --disable-modules. (#66867)
2002-05-07 12:59:01 +00:00
Kjartan Maraas
2488bbf9fc Updated Norwegian (bokml) translation.
2002-05-07  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-05-07 10:38:24 +00:00
Kristian Rietveld
4dd906e7a7 Merge TreeView fixes from HEAD:
Tue May  7 00:50:20 2002  Kristian Rietveld  <kris@gtk.org>

        Merge TreeView fixes from HEAD:

        (May  6):
        * gtk/gtktreeview.c (gtk_tree_view_map_expanded_rows_helper): call
        func on current node before the child nodes.

        * gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow):
        unset user_data before destroying the window. (fixes #80065).
2002-05-06 22:44:15 +00:00
Kristian Rietveld
4e3c34eab6 add neighbor size hack to align editable widget.
Tue May  7 00:18:45 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_start_editing): add neighbor
        size hack to align editable widget.

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_pack_end): use g_new0
        here instead of g_new (this triggered some bad crash),
        (gtk_tree_view_column_cell_is_visible): add missing assert
2002-05-06 22:32:24 +00:00
Matthias Clasen
2083f3e262 Always select for property notify for maintaining window state.
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
	(gdk_window_set_events): Always select for property notify for
	maintaining window state.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Only propagate
	property notifys if they were selected by gdk_window_set_events.
2002-05-06 22:06:10 +00:00
Owen Taylor
c400e38f98 Add ChangeLog.pre-2-0 (#78641)
Mon May  6 11:48:08 2002  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (EXTRA_DIST): Add ChangeLog.pre-2-0 (#78641)

        * m4macros/gtk-2.0.m4: save CFLAGS/LIBS properly when
        compiling "what went wrong" test case. (#79329)

        * m4macros/gtk-2.0.m4: Remove reference to editing
        pkg-config script. (From Jim Gettys)
2002-05-06 18:06:11 +00:00
Changwoo Ryu
b2e2fe6ea3 Updated Korean translation.
* ko.po: Updated Korean translation.
2002-05-06 14:26:47 +00:00
Christophe Fergeau
115418d968 Fixed 2 strings 2002-05-04 23:36:01 +00:00
Tuomas Kuosmanen
64fb36c3d8 These have a proper alpha channel thus they dont look jaggy. /tig 2002-05-03 08:46:59 +00:00
Matthias Clasen
2255a7225d Typo fix.
* gtk/gtknotebook.c (gtk_notebook_set_show_border): Typo fix.
2002-05-02 19:16:25 +00:00
Matthias Clasen
f4dc453e09 Correct the composite_child blurb.
* gtk/gtkwidget.c (gtk_widget_class_init): Correct the
	composite_child blurb.

	* gtk/gtknotebook.c (gtk_notebook_set_show_border): Clarify docs.  (#73093)
2002-05-02 19:09:34 +00:00
Vincent van Adrighem
a8749b2614 Added a few lines about how to use gettext to convert betweeen encodings.
2002-05-02 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
* README.translators: Added a few lines about how to use
	gettext to convert betweeen encodings.
2002-05-02 07:32:05 +00:00
Vincent van Adrighem
1c92d4b28d Updated Dutch translation (Tino Meinen).
2002-05-02 Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
* nl.po: Updated Dutch translation (Tino Meinen).
2002-05-02 07:22:25 +00:00
Chyla Zbigniew
15c38b93e2 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2002-05-01 10:42:29 +00:00
Havoc Pennington
1fc3556064 use gtk_text_layout_invalidate_cache instead of cut-and-paste
2002-04-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
	gtk_text_layout_invalidate_cache instead of cut-and-paste
	(gtk_text_layout_real_invalidate): always invalidate cache, even
	if the line has no stored line data. #78573

	* gtk/gtktextview.c (gtk_text_view_get_iter_location): add call to
	gtk_text_view_ensure_layout, #77388
	(gtk_text_view_get_iter_at_location): ditto
	(gtk_text_view_get_line_yrange): ditto
	(gtk_text_view_get_line_at_y): ditto
2002-04-30 20:51:26 +00:00
Havoc Pennington
31b514d831 assign something to "prev" so that removing tag info succeeds. Part of
2002-04-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
	something to "prev" so that removing tag info succeeds.
	Part of #77301

	* gtk/gtktextbtree.c (_gtk_text_btree_unref): reorder so that it
	unrefs the tag table first, so that the btree is in a consistent
	state when we're removing tags from it.

	* gtk/gtktexttagtable.c (_gtk_text_tag_table_remove_buffer): strip
	all tags in the tag table out of the buffer. #77301
2002-04-30 15:53:54 +00:00
Alex Larsson
752742d044 Use tmp also if foreground is set.
2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
	Use tmp also if foreground is set.
2002-04-29 23:34:08 +00:00
Andraz Tori
e49d754fdc Updated Slovenian translation 2002-04-29 23:32:06 +00:00
Kjartan Maraas
22f7b3ee23 Updated Norwegian (bokml) translation.
2002-04-29  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Updated Norwegian (bokml) translation.
2002-04-29 13:31:26 +00:00
Jonathan Blandford
a704364549 Fix so that you can set a new sort func.
Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 03:02:56 +00:00
Matthias Clasen
21c7e08b21 Avoid a possible division by zero. (#77820)
* gtk/gtkrange.c (gtk_range_calc_layout): Avoid a possible
	division by zero.  (#77820)
2002-04-27 22:31:47 +00:00
Kristian Rietveld
2d509b1d84 Merge TreeView fixes from HEAD:
Sat Apr 27 15:48:49 2002  Kristian Rietveld  <kris@gtk.org>

        Merge TreeView fixes from HEAD:

        (Apr 26):
        * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
        deleted node was "below" this path, then do not unref all nodes
        between the deleted parent and the node this rowref is pointing too
        (see added comment in gtk_tree_row_ref_deleted_callback),
        (fixes #77977)
2002-04-27 13:43:44 +00:00
Simos Xenitellis
5ef9c5a5bf Updated Greek translation 2002-04-27 13:24:58 +00:00
Sven Neumann
77d170539a tests/testtreecolumns.c quit the main loop when the window is destroyed.
2002-04-26  Sven Neumann  <sven@gimp.org>

	* tests/testtreecolumns.c
	* tests/testtreeview.c: quit the main loop when the window is
	destroyed. Removed compiler warnings about wrong format in printf().
2002-04-26 16:59:00 +00:00
Kristian Rietveld
9255c12c87 Merge TreeView fixes from HEAD up to Apr 26:
Fri Apr 26 00:00:00 2002  Kristian Rietveld  <kris@gtk.org>

        Merge TreeView fixes from HEAD up to Apr 26:

        (Apr 25):
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func):
        resort if we're already in 'unsorted' state, and update the docs

        * gtk/gtktreeview.c (gtk_tree_view_search_iter): make the search
        dialog not scroll horizontally (prolly fixes #74806).

        (Also from Apr 25, fixes #74206):
        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_count_special_cells

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_has_editable_cell),
        (_gtk_tree_view_column_get_editable_cell): remove a space which made
        the code look ugly
        (_gtk_tree_view_column_count_special_cells): new function,
        (gtk_tree_view_column_cell_process_action): if there's only one
        activatable cell, the whole column will activate that renderer.

        (Apr 24):
        * gtk/gtktreeview.c (gtk_tree_view_stop_editing): temporarily set
        ->priv->edited_column to NULL. Pleas read the comment in this
        function for an explanation (fixes #79632).
2002-04-25 22:00:07 +00:00
Soeren Sandmann
f2b3c6e6a3 use the child's requisition.height, not allocation.height, as width of
Thu Apr 25 20:24:37 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): use the child's
	requisition.height, not allocation.height, as width of submenu
	indicator. (#75948)
2002-04-25 18:24:42 +00:00
Matthias Clasen
f6238492bc Merged documentation fixes from HEAD. 2002-04-24 22:09:24 +00:00
Anders Carlsson
fab341df09 Update ChangeLog 2002-04-22 20:56:12 +00:00
Anders Carlsson
e11dcc5426 Use gtk_entry_get_public_chars. Fixes #79532.
2002-04-22  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtkentry.c (gtk_entry_drag_data_get): Use
	gtk_entry_get_public_chars. Fixes #79532.
2002-04-22 20:54:32 +00:00
Kwok-Koon Cheung
bee067608a Updated traditional Chinese translation. 2002-04-21 22:15:35 +00:00
Alexander Larsson
9eea275ed7 Merged from HEAD:
2002-04-21  Alexander Larsson  <alla@lysator.liu.se>

	Merged from HEAD:

	* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
	Save x and y in window_private.

	* gtk/gtkplug.c (_gtk_plug_add_to_socket):
	Move plug window outside the visible area to avoid flashing until
	the first size_allocate.
2002-04-21 19:26:53 +00:00
Kristian Rietveld
39e60a0564 replace GDK_IS_WINDOW with GDK_IS_DRAWABLE in the assert, only check
Sat Apr 20 16:49:26 2002  Kristian Rietveld  <kris@gtk.org>

        * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_new): replace GDK_IS_WINDOW
        with GDK_IS_DRAWABLE in the assert, only check GDK_WINDOW_DESTROYED
        if window is a GdkWindow,
        (gdk_bitmap_create_from_data): ditto,
        (gdk_pixmap_create_from_data): ditto
2002-04-20 14:47:25 +00:00
Kristian Rietveld
ac5905d0db Merge TreeView fixes from HEAD up to Apr 20 2002:
Sat Apr 20 01:54:59 2002  Kristian Rietveld  <kris@gtk.org>

        Merge TreeView fixes from HEAD up to Apr 20 2002:

        (All from Apr 19):
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): subtract
        TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real
        size for the tree (fixes #72729),
        (gtk_tree_view_real_start_editing): correct cell_area->y for
        scrolling due to gtk_tree_view_real_set_cursor (fixes #75687)

        * gtk/gtktreeview.c (gtk_tree_view_row_changed): cancel editing
        if tree_view->priv->edited_column != NULL (fixes #76066)

        (This patch fixes #50310):
        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_autosize

        * gtk/gtktreeview.c: privately export _gtk_tree_view_column_autosize,
        and add a small note about that function,
        (gtk_tree_view_button_press): check for double click and
        "not having an autosize" column before autosizing the column,

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_min_width):
        call _gtk_tree_view_column_autosize to update autosized column width
        (gtk_tree_view_column_set_max_width): ditto
2002-04-19 23:54:42 +00:00
Kristian Rietveld
c962023b0d Merge TreeView fixes from HEAD up to Apr 19 2002:
Fri Apr 19 16:49:01 2002  Kristian Rietveld  <kris@gtk.org>

        Merge TreeView fixes from HEAD up to Apr 19 2002:

        (From Apr 16):
        * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
        ->priv->cursor and ->priv->anchor rowrefs before removing
        node->children from the rbtree. Also check the
        ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
        (I think I really need to rename those two someday).

        (From Apr 17):
        * gtk/gtktreestore.c (gtk_tree_store_insert_before): fix docs

        (From Apr 18):
        * gtk/gtktreemodelsort.c
        (gtk_tree_model_sort_convert_path_to_child_path): so this function
        was completely broken. Fix it and improve readability.

        (From Apr 19):
        * gtk/gtktreeprivate.h, gtk/gtktreeview.c: rename
        last_single_clicked{,_2} to last_button_press{,_2}, as the latter
        is a more sane name.

        * gtk/gtktreeview.c (gtk_tree_view_button_press): use ->priv->anchor
        instead of ->priv->cursor, check for the anchor at another place, as
        you can go in edit mode without having an anchor.
2002-04-19 15:46:13 +00:00
Tor Lillqvist
a9d9b8581b gdk-pixbuf/Makefile.am (uninstall-libtool-import-lib) Fix typo, thanks to
2002-04-18  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf/Makefile.am (uninstall-libtool-import-lib)
	* gdk/Makefile.am (uninstall-libtool-import-lib): Fix typo,
	thanks to David Sterba for noticing.

	* gtk/gtkmain.h
	* gtk/gtkmain.c (gtk_init_abi_check, gtk_init_check_abi_check): In
	GTK+ 2.0 the GtkWindow struct actually is the same size in gcc on
	Win32 whether compiled with -fnative-struct or not. Unfortunately
	this wan't noticed until now. So, from now on, check some other
	struct, too, for which the use of -fnative-struct still
	matters. GtkBox is one such.
2002-04-18 11:25:23 +00:00
Jonathan Blandford
78bd6b2844 include internal children when doing focus.
Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcontainer.c (gtk_container_focus): include internal
	children when doing focus.
	(gtk_container_get_all_children): new static function to include
	internal children when making a list of them.
2002-04-15 22:22:40 +00:00
953 changed files with 128208 additions and 348908 deletions

3377
ChangeLog

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,6 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, and Atk libraries, available at the same location as GTK+
(Either Pango-1.0 or Pango-1.2 can be used with GTK+-2.2;
Pango-1.2 is recommended.)
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
@@ -22,8 +20,8 @@ GTK+ requires the following packages:
Simple install procedure
========================
% gzip -cd gtk+-2.2.0.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.2.0 # change to the toplevel directory
% gzip -cd gtk+-2.0.7.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.0.7 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
[ Become root if necessary ]

View File

@@ -4,8 +4,6 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, and Atk libraries, available at the same location as GTK+
(Either Pango-1.0 or Pango-1.2 can be used with GTK+-2.2;
Pango-1.2 is recommended.)
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not

View File

@@ -8,6 +8,7 @@ AUTOMAKE_OPTIONS = 1.4
EXTRA_DIST = \
HACKING \
gtk+.spec.in \
makecopyright \
NEWS.pre-1-0 \
ChangeLog.pre-1-0 \
@@ -15,8 +16,9 @@ EXTRA_DIST = \
ChangeLog.pre-2-0 \
README.cvs-commits \
README.win32 \
README.nanox \
config.h.win32 \
gtk-zip.sh.in \
gtk-zip.sh \
sanitize-la.sh \
po/README.translators \
po/makefile.mingw \
@@ -148,13 +150,14 @@ install-data-hook:
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
dist-hook:
dist-hook: gtk+.spec
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
CONFIG_HEADERS= \
$(SHELL) config.status \
&& cp INSTALL README $(distdir) ; \
fi
fi \
&& cp gtk+.spec $(distdir)
.PHONY: files release sanity snapshot

291
NEWS
View File

@@ -1,287 +1,10 @@
Overview of Changes in GTK+ 2.2.0
=================================
* Fix problem with the DND code and event filters [Bolian Yin, Owen Taylor]
* GtkTreeView bug fixes [Kristian Rietveld, Soeren Sandmann, Matthias Clasen]
* Documentation improvements [Matthias Clasen, Eric Warmenhoven,
James M. Cape]
* Example portability fix [Sven Neumann]
* Updated translations (es,ja,lv,ms,nl,ru,sk,sv)
Overview of Changes in GTK+ 2.1.5
=================================
* GtkFileSel fixes [Owen Taylor]
- Fix ..<tab> to go up a dir [Francisco Bustamante]
- Fix UTF-8 operation, so that non-ASCII works [Kang Jeong-Hee]
- Use g_utf8_collate() not strcmp for sorting [Gregory Merchan]
* Only close dialogs on Escape if they have a cancel button. [James Willcox]
* Fix problem with resizing gnome-terminal popup [Soeren Sandmann]
* Add Home/End/Page_Up/Page_Down keybindings for menus [Owen,
Narayana Pattipati, Marius Andreiana]
* Xinerama fixes for GtkMenu [Matthias Clasen]
* Fix long-standing problem with Ami and GtkEntry [Owen, Kang Jeong-Hee]
* Documentation additions and fixes [Matthias]
* New and updated translations (am,bg,da,fr,fi,de)
* Miscellaneous bug and build fixes
Other contributors: Johan Dahlin, James Henstridge, Jon Nelson,
Bastien Nocera, Christian Reis, Arvind Samptur, Anand Subra, Simon Wong
Overview of Changes in GTK+ 2.1.4
=================================
* Improved default color scheme [Soeren Sandmann, with advise from
Tuomas Kuosmanen and Garrett LeSage]
* Make pixmap creation functions take a GdkDrawable not a GdkWindow
[Kristian Rietveld]
* Support move-resize emulation for all edges. [Matthias Clasen]
* Many fixes for X11 gdk_colormap_alloc_colors [Naofumi Yasufuku, Owen]
* Remove extra selections for ButtonRelease in XInput code
[Garry Osgood, Owen]
* Another attempt at fixing X focus tracking [Owen]
* linux-fb VT switch improvements [Eric Warmenhoven]
* Win32 [Tor Lillqvist]
- Bug and win98 portability fixes for new tile/stipple code [Hans Breuer]
- Improve maximized/minimized tracking
- Bug fixes
* Fix problem with gtk_combo_set_popdown_strings() not changing
the entry text [Owen]
* Support RTL flipping for statusbars [Matthias]
* GtkTreeView bug fixes [Kristian Rietveld, Juri Pakaste, Erik Simonsen,
Richard Hult, Carlos Garnacho Parro]
* Use octal escapes rather than literal UTF-8 in strings [Owen]
* Make a lot of read-only data const. [Matthias, Morten Welinder]
* Misc bug fixes
* New and updated translations (cs,es,el,he,hu,lv,no,ro)
Other contributors: Anders Carlsson, Chris Blizzard, Stephen Brown,
Erwann Chenede, Jon-Kare Hellan, John Finlay, Jarred Keuch,
Kjartan Maraas, Christian Neumair
Overview of Changes in GTK+ 2.1.3
=================================
GDK:
* Win32 [Tor Lillqvist]
- fixes to multihead API stubs
- Comprehensively implement tiles and stipples
- Handle tracking minimized/maximized [Arnaud Charlet]
* linux-fb fixes [Eric Warmenhoven]
* Use g_get_application_name() for default window titles and
for the title of the client leader window [Owen, Havoc Pennington]
* Complete resize-grippy support, move-resize emulation
[Anders Carlsson, Matthias Clasen]
GTK+ Core:
* On screen change, recreate the widget's Pango context [Owen]
* Fix problems with focus ending up on unmapped widgets [Owen]
* Make g_object_set (gtk_settings_get_default (), ...) to override
settings from XSETTINGS and ~/.gtkrc [Jonathan Blandford]
* Make GtkInputDialog multihead aware [Owen]
* Add a ::screen-changed signal to GtkWidget [Owen Taylor]
Widget improvements:
* Draw/check menu items insensitive [Soeren, Tim Evans]
* Fix color usage for radio/check menu item indicators [Soeren]
* Add ::snap-edge-set-property to GtkHandleBox [Owen, Matthias]
* RTL flipping improvements for GtkHandleBox, GtkMenuItem, GtkOptionMenu,
GtkCheckMenuItem [Matthias Clasen]
* GtkCombo improvements [Owen]
- Don't leave it behind when switching desktops [Matthias Clasen]
- Fix longstanding bug with unwanted moving of selection [Mike Fulbright]
- Don't change entry contents until window is popped back up
- Keynav fixes
* Menu scrolling behavioral improvements [Owen, Ettore Perazzoli]
* GtkNotebook keynav improvements [Owen]
* Handle painting text on dark-colored progressbars [Soeren]
* GtkTreeView [Kristian Rietveld]
- Privatize gtk_tree_store_move(), add gtk_tree_store_move_before/after()
- Add GTK_CELL_RENDERER_FOCUSED flag
- Keynav fixes, including adding boolean return values for keybinding
signals (API breakage for API that noone should have been using)
[Narayana Pattipati]
- Add gtk_tree_view_column_cell_get_position()
- Add an inconsistent state for GtkCellRendererToggle
- Various bug fixes [Murray Cumming, Daniel Elstner, Vitaly Tishkov,
Morten Welinder, Robert Kinsella, Soeren]
Input Methods:
* Sort the input method list in the right click popup [Abigail Brady]
* GtkIMContextXIM bug fixes [HideToshi Tajima]
General:
* Make sure that parameters don't shadow system functions [Soeren Sandmann]
* Deprecation cleanups [Manish Singh]
* Don't grab the focus to the default button in a GtkDialog [Daniel Elstner]
* Doc improvements, including adding Since: for 2.2. additions
[Matthias Clasen]
* Bug fixes, cleanups [Anders Carlsson, Daniel, Vitaly Tishkov, Matthias,
Iain Holmes, Gregory Merchan, Havoc Pennington, Soeren, Morten Welinder]
* Build fixes [Owen, Jeff Waugh, Dan Mills]
Overview of Changes in GTK+ 2.1.2
=================================
* Fixes for GtkIMContextXIM [HideToshi Tajima, Owen Taylor]
* Remove usage of XLookupString outside of GtkIMContextXIM [Owen]
* Handle Shift/Caps/Num_Lock properly for non-Xkb [Owen]
* Add a --screen option to set default screen [Balamurali Viswanathan, Owen]
* Add simple support for startup notification [Havoc Pennington]
* Handle focus indication for check and radio buttons without children
[Dave Camp, Owen]
* Much work on improve submenu navigation [Soeren Sandmann]
* Add "selected_shadow_type" property for menus [Soeren]
* Add "scrollbar_spacing" style property [Anders Carlsson, Owen]
* Rework GtkPaned keynav [Soeren, Calum Benson]
* Sensitivity and keynav fixes for GtkFileSelection [Muktha Narayan, Owen]
* Removed mnemonics for GtkToolbar Items [Mikael Hallendal]
* Tree view fixes and speedups
[Kristian Rietveld, Daniel Elstner, Havoc Pennington]
* Allow themes to set GtkTreeView even/odd row colors [Kristian]
* Doc fixes and improvements [Matthias Clasen, Vitaly Tishkov]
* Win32 fixes [Tor Lillqvist]
* Misc cleanups and bug fixes
Other contributors: Phil Blundell, Erwann Chenede, Jeremy Katz,
Padraig O'Briain, Havoc Pennington, Timo Sirainen, Nam SungHyun,
Matt Wilson,
Overview of Changes in GTK+ 2.1.1
=================================
* Cleanup of use of deprecated functions in GTK+ [Manish Singh]
* Add support for separately installed Pixbuf loaders [Matthias Clasen]
* linux-fb improvements including window maximization. [Eric Warmenhoven]
* Fix to compile again with Xft version 1 [Owen Taylor]
* Fix handling of pointer on multiple screens [Owen]
- Add gdk_event_set/get_screen() via evil hack
- Add GdkDisplayPointerHooks to replace GdkPointerHooks
- gdk_screen_get_window_at_pointer() => gdk_display_get_window_at_pointer()
- Add gdk_display_get_pointer()
- Make drag-and-drop between multiple screens work
* Export gdk_event_new(), discourage stack allocated events [Owen]
* gdk_draw_pixbuf() as better name for gdk_pixbuf_render_to_drawable() [Owen]
* Basic support for RandR extension [Keith Packard, Owen]
* Allow moving paned sliders all the way to the edge [Owen, Darin Adler]
* Add tag_table construct property to GtkTextBuffer [Daniel Elstner]
* gtk_window_set_[default_]icon_from_file [Owen, Havoc]
* Fix handling of GtkSettings set from RC files on reload [Owen]
* GtkTreeView work [Kristian Rietveld]
- Stop editing on a focus out event for GtkCellRendererText
[Andreas J. Guelzow]
- Don't accept drops on auto-sorted models
- Fix evil bug with insertions to GtkTreeModelSort [Hans Petter Jansson]
* Fixes for GtkIMContextXIM
[Takuro Ashie, Motonobu Ichimura, Owen, HideToshi Tajima]
* Documentation fixes [Soeren Sandmann, Matthias Clasen; Joost Faassen,
Alexey A. Malyshev, Ben Martin, Havoc Pennington, Boris Shingarov, Owen,
Vitaly Tishkov, Dan Winship, Yao Zhang]
* Some performance tweaks [Soeren, Padraig O'Briain]
* Miscellaneous bug fixes
Other contributors: Jacob Berkman, Phil Blundell, Kenneth Christiansen,
Murray Cumming, Bill Haneman, Jon-Kare Hellan, Hema Seetharamaiah
Overview of Changes from GTK+-2.0.x to GTK+-2.1.0
=================================================
Multihead support: [Erwann Chenede, Owen Taylor]
* Multihead support
* Add GdkDisplay, GdkScreen structures
* Add _for_display(), _for_screen() variants where needed in GDK and GTK+
(In other cases, make the variants methods on GdkDisplay/GdkScreen
* Adapt GTK+ widgets to be multihead safe
* Allow initialization of GTK+ without opening a display with gtk_parse_args()
* Add multihead support to demos/tests.
GDK:
* Adapt win32 code to multihead reorganization [Hans Breuer, Tor Lillqvist]
* Adapt linux-fb code to multihead reorganization [Eric Warmenhoven]
* Miscellaneous linux-fb improvements [Eric]
* Xinerama support [Erwann Chenede, Matthias Clasen]
* Allow GDK backends to add custom argument parsing [Sven Neumann]
* Add support for some addition NET window manager spec hints [Havoc Pennington]
* Add ::keys-changed signal to GdkKeymap, handle keymap changes for keybindings [Owen]
GtkTreeView: [Kristian Rietveld]
* Support stock pixbufs in GtkCellRendererPixbuf
* Allow setting the cell background for cell renderers
* Support focusing individual cell renderers and other focus fixes
* Make resizing tree views more efficient [Soeren Sandmann]
* Add gtk_tree_model_get_string_from_iter
* Improve gtk_list_store_remove API
* API additions:
gtk_tree_model_sort_iter_is_valid(), gtk_tree_view_expand_to_path()
Add gtk_tree_selection_get_selected_rows(),
gtk_tree_selection_count_selected_rows()
gtk_tree_path_new_from_indices(), gtk_{list,tree}_store_{reorder,swap,_move}
GTK+:
* Add style property for drawing menu items without shadow [Soeren]
* gtk_widget_modify_color_component/font(): Allow clearing
current modifications. [Owen]
* Add GtkWidget::is_focus, GtkWindow::is_active properties [Owen]
* Some XEMBED changes for standards compliance and Qt compatibility [Owen]
* Fix menus resizing when popped up or torn off [Owen]
* Improve label behavior when it gets a too small allocation [Soeren]
* Add support for depth 8 StaticColor visuals to gdkrgb [Matthias]
* Theme drawing improvements [Soeren]
* Add types for GtkRowReference, GtkClipboard [Jonathan Blandford, James Henstridge, Owen]
* Use G_TYPE_FLAG_ABSTRACT for abstract types [Matthias]
* Add gtk_menu_shell_select_first() [Owen]
* Add gtk_notebook_get_n_pages() [Havoc Pennington]
* Allow accel_path = NULL for gtk_menu_item_set_accel_path().
* Allow icon sizes to be changed via a GtkSetting [Bill Haneman, Brian Cameron, Owen]
GdkPixbuf:
* Improve gdk-pixbuf loader tests [Soeren Sandmann]
* Use iTXT chunks when necessary in PNG image saver [Matthias]
* Add incremental loading for progressive jpegs [Matthias]
* Add load-at-size functionality [Matthias]
* Add a loader for .ANI animations [Matthias]
* Load hotspot for .ICO files [Matthias]
Docs:
* Convert docs to Docbook XML [Matthias]
* Doc improvements and fixes [Matthias, Soeren,
Dennis Bj"orklund, Ross Burton, Manuel Clos, Alexey A. Malyshev, Brett Nash,
Brian Tarricone, Owen, Vitaly Tishkov, Yao Zhang]
* Tutorial improvements [Tony Gale]
General:
* Add gtk-im-preedit-style/gtk-im-status-style XSETTINGS [Hidetoshi Tajima]
* Clean up GDK and demos for deprecated functions [Manish Singh]
* Misc fixes [Olexiy Avramchenko, Jacob Berkman, Anders Carlsson, David L. Cooper II, Robin Lu,
Eric Mader, Mark McLoughlin, Padraig O'Briain, Laszlo Peter, Hidetoshi, Vitaly Tishkov,
Shivaram Upadhyayula]
Overview of Changes in GTK+ 2.0.9
=================================
* Fix colormap refcounting, which caused frequent metacity crashes
[Christopher James Lahey]
* Lots of work on the Win32 backend [Tor Lillqvist]
- Scrolling fixes
- GdkGC clipping fixes and improvements
- Started implementing all fill styles
* GtkTreeView bug fixes [Kristian Rietveld]
- Make TreeView reordering work on FreeBSD/Solaris [Heiner Eichmann]
* Various bug fixes
Other contributors: Matthias Clasen, Arnaud Charlet, Vitaly Tishkov,
Josh Parsons, Peter Bloomfield
Overview of Changes in GTK+ 2.0.8
=================================
* Fix typo in io-gif.c that broke loading GIFS [Akira Tagoh]
* Improve redraws when scrolling on Win32 [Tor Lillqvist]
* Fix problem with RENDER and XFree86-4.1 [Owen Taylor, Jamie Zawinski]
* Fix problem with GtkImage placement [Owen, Sven Neumann, Soeren Sandmann]
* Updated translation (el)
Overview of Changes in GTK+ 2.0.7
=================================
* Fix some memory leaks in gdk-pixbuf [Sven Neumann]
* Pixbuf loader fixes [Federico Mena Quintero, Elliot Lee]
* Support depth 8 StaticColor in GdkRGB [Matthias Clasen]
* Win32 fixes and improvements [Tor Lillqvist]
- Keyboard handling fixes [Florent Duguet]
- Keyboard handling fixes [Florian Dugent]
- Fixes for building and running on Cygwin [Masahiro Sakai]
- Fix gdk_window_scroll(), other GdkWindow fixes
- Misc bug and build fixes [Soren Andersen, Florent, Tim Evans,
@@ -305,7 +28,7 @@ Overview of Changes in GTK+ 2.0.7
ja,ko,lv,ms,nl,no,pl,pt,pt_BR,ru,sk,sv,vi,zh_TW)
* Many miscellaneous bug fixes
Other contributors: Jacob Berkman, Albert Chin, Chema Celorio,
Other contributors: Jacob Berkman, Alvert Chin, Chema Celorio,
David L. Cooper II, Brent Fox, Tim Janik, Marco Pesenti Gritti,
Alex Larsson, Zenith Lau, Thomas Leonard, Gaute Lindkvist,
Paolo Maggi, Andy Wingo, Jami Pekannen, Joshua N Pritikin,
@@ -347,7 +70,7 @@ Overview of Changes in GTK+ 2.0.4
Owen Taylor]
* Calculate screen size on win32 from the "logical DPI"
[Joaquin Cuenca Abela, Tor Lillqvist]
* Misc Win32 bug fixes. [Florent Duguet, Tor]
* Misc Win32 bug fixes. [Florent Duguet, Torn]
* Fix theme changes for GtkMenu [Soeren Sandmann]
* Fix gdk_pixbuf_from_drawable() for big endian. [Federico Mena Quintero]
* Fix encoding handling for gtk_file_selection_set_filename()
@@ -359,7 +82,7 @@ Overview of Changes in GTK+ 2.0.4
* Updated translations (ca,cs,da,es,et,fr,ms,nl,pl,pt,pt_BR,ru,sv)
Other contributors: Nicholas Allen, Jacob Berkman, Remus Draica,
Nano Golveia, Tim Janik, Sergey Kuzminov, George Lebl, Garrett LeSage,
Nano Golveia, Tim Janik, Sergey Kuzminov, George Lebl, Garrett Lesage,
Robin Lu, Timo Meinen, Michel Selten, Boris Shingarov, Jeff Waugh
Overview of Changes in GTK+ 2.0.3
@@ -407,20 +130,20 @@ Overview of Changes in GTK+ 2.0.1
[Owen Taylor, with help from Tuomas Kuosmanen]
* Win32 fixes, especially dashed line drawing
[Tor Lillqvist, Hans Breuer]
* Compile with -D_REENTRANT when appropriate [Sven Neumann]
* Compile with -D_REENTRANT when appropriate [Sven Numann]
* Compiler warning cleanups [Erwann Chenede]
* Fix handling of font-name XSETTING [Richard Hestilow]
* Make linux-fb backend compile again [Carlo E. Prelz, Alex Larsson]
* Fix problems with inappropriate menu scroll arrows [Owen]
* Stock icon improvements [Jakub Steiner, Tuomas]
* Much work on pixbuf loader robustness [Matthias Clasen]
* Documentation improvements [Matthias, Vitaly Tishkov]
* Documentation improvements [Matthias, Vitaly Tiskkov]
* Fix some crashes in GtkWindow accelerator handling code
[Dave Camp, Matt Wilson]
* Misc bug fixes
Other contributors: Jacob Berkman, Dennis Björklund, Seth Burgess,
Murray Cumming, Johan Dahlin, John Ellis, Kang Jeong-Hee,
Murray Cumming, Johan Dahlin, John Ellis, Kang Jeong-He,
James Henstridge, Richard Hult, Thomas Leonard, LEE Sau Dan,
Alexey A. Malyshev, Mark McLoughlin, Michael Meeks, Sven Neumann,
Andras Salamon, Soeren Sandmann, Dan Winship, Yao Zhang

60
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 2.2.0. GTK+ is a multi-platform toolkit for
This is GTK+ version 2.0.7. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
@@ -25,13 +25,13 @@ Installation
See the file 'INSTALL'
Release notes
=============
GTK+-2.0.0 Specific Notes
=========================
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
stream-lined to reduce confusion on the part of new users or users
coming from other environments. Users used to older versions of
GTK+ may want to make some adjustments to the default configuration.
* The default configuration of GTK+ has been stream-lined to reduce
confusion on the part of new users or users coming from other
environments. Users used to older versions of GTK+ may want to make
some adjustments to the default configuration.
- Emacs keybindings such as Control-A and Control-E to move to the
ends of lines are not enabled by default in the editing widgets. To
@@ -57,33 +57,33 @@ Release notes
to your ~/.gtkrc-2.0
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols.
must not be used by applications. The intention was not to export
symbols beginning with prefixes such as _gtk, _gdk, and _pango from
the libraries at all, but due to a bug in libtool, they are actually
exported at the moment on some platforms (including Linux).
Applications that use these private symbols _will_ break when
this bug is fixed.
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
the Xft library or Pango-1.2 and version 2 of the Xft library
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
Pango are built so that applications will not have explicit dependencies
on either version of Xft. To make sure that your application will be
binary compatible with future versions of GTK+:
* The Xft library that GTK+ uses to display anti-aliased fonts will
undergo a major version revision in the next few months. To deal with
this, by default, GTK+ and Pango are built so that applications will
not have explicit dependencies on version 1 on Xft. To make sure that
your application will be binary compatible with future versions of
GTK+:
- Do not configure Pango or GTK+ with the --enable-static or
--enable-explicit-deps options, since they will cause dependencies
on the particular version of Xft.
--enable-explicit otions, since they will cause dependencies on
Xft version 1.
- Do not use Xft version 1 directly in your applications.
- Do not use Xft directly in your applicatons.
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
versions that causes random crashes when using the Pango Xft
backend. If you want to use Xft fonts, you should upgrade to
XFree86-4.2.
* Xft support is on by default when using Xft2 but off by
default when using Xft1. To change this default, set the
variable GDK_USE_XFT to '1' or '0'. For instance, to
turn on Xft fonts when Xft1.
* Xft support is not on by default. To turn it on set the environment
variable GDK_USE_XFT to '1'
GDK_USE_XFT=1
export GDK_USE_XFT
@@ -93,11 +93,11 @@ Release notes
guarantees about the degree of workingness or about future
compatibility are provided.
* While efforts have been made to make gdk-pixbuf robust against
invalid images, using gdk-pixbuf to load untrusted data
is not recommended, due to the likelyhood that there are
additional problems where an invalid image could cause
gdk-pixbuf to crash or worse.
* There are known problems with some of the image loaders in the
gdk-pixbuf library included in GTK+ where corrupted images can cause
crashes and conceivably worse problems. Until these problems are fixed
(we hope to have this done for 2.0.1), gdk-pixbuf should not be used
to load untrusted data.
* The assumption of GLib and GTK+ by default is that filenames on the
filesystem are encoded in UTF-8 rather than the encoding of the locale;
@@ -110,7 +110,7 @@ Release notes
G_BROKEN_FILENAMES=1
export G_BROKEN_FILENAMES
Best integration of GTK+-2.2 with the environment is achieved by
Best integration of GTK+-2.0 with the environment is achieved by
using a UTF-8 locale.
How to report bugs

View File

@@ -25,13 +25,13 @@ Installation
See the file 'INSTALL'
Release notes
=============
GTK+-2.0.0 Specific Notes
=========================
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
stream-lined to reduce confusion on the part of new users or users
coming from other environments. Users used to older versions of
GTK+ may want to make some adjustments to the default configuration.
* The default configuration of GTK+ has been stream-lined to reduce
confusion on the part of new users or users coming from other
environments. Users used to older versions of GTK+ may want to make
some adjustments to the default configuration.
- Emacs keybindings such as Control-A and Control-E to move to the
ends of lines are not enabled by default in the editing widgets. To
@@ -57,33 +57,33 @@ Release notes
to your ~/.gtkrc-2.0
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols.
must not be used by applications. The intention was not to export
symbols beginning with prefixes such as _gtk, _gdk, and _pango from
the libraries at all, but due to a bug in libtool, they are actually
exported at the moment on some platforms (including Linux).
Applications that use these private symbols _will_ break when
this bug is fixed.
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
the Xft library or Pango-1.2 and version 2 of the Xft library
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
Pango are built so that applications will not have explicit dependencies
on either version of Xft. To make sure that your application will be
binary compatible with future versions of GTK+:
* The Xft library that GTK+ uses to display anti-aliased fonts will
undergo a major version revision in the next few months. To deal with
this, by default, GTK+ and Pango are built so that applications will
not have explicit dependencies on version 1 on Xft. To make sure that
your application will be binary compatible with future versions of
GTK+:
- Do not configure Pango or GTK+ with the --enable-static or
--enable-explicit-deps options, since they will cause dependencies
on the particular version of Xft.
--enable-explicit otions, since they will cause dependencies on
Xft version 1.
- Do not use Xft version 1 directly in your applications.
- Do not use Xft directly in your applicatons.
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
versions that causes random crashes when using the Pango Xft
backend. If you want to use Xft fonts, you should upgrade to
XFree86-4.2.
* Xft support is on by default when using Xft2 but off by
default when using Xft1. To change this default, set the
variable GDK_USE_XFT to '1' or '0'. For instance, to
turn on Xft fonts when Xft1.
* Xft support is not on by default. To turn it on set the environment
variable GDK_USE_XFT to '1'
GDK_USE_XFT=1
export GDK_USE_XFT
@@ -93,11 +93,11 @@ Release notes
guarantees about the degree of workingness or about future
compatibility are provided.
* While efforts have been made to make gdk-pixbuf robust against
invalid images, using gdk-pixbuf to load untrusted data
is not recommended, due to the likelyhood that there are
additional problems where an invalid image could cause
gdk-pixbuf to crash or worse.
* There are known problems with some of the image loaders in the
gdk-pixbuf library included in GTK+ where corrupted images can cause
crashes and conceivably worse problems. Until these problems are fixed
(we hope to have this done for 2.0.1), gdk-pixbuf should not be used
to load untrusted data.
* The assumption of GLib and GTK+ by default is that filenames on the
filesystem are encoded in UTF-8 rather than the encoding of the locale;
@@ -110,7 +110,7 @@ Release notes
G_BROKEN_FILENAMES=1
export G_BROKEN_FILENAMES
Best integration of GTK+-2.2 with the environment is achieved by
Best integration of GTK+-2.0 with the environment is achieved by
using a UTF-8 locale.
How to report bugs

32
README.nanox Normal file
View File

@@ -0,0 +1,32 @@
Gtk port to nano-X
STATUS
Once upon a time I got a few apps working, then started merging
the new features added by Owen (32 bit sizes for windows and buffering).
Since then I haven't found the time to work on it:-/
TODO
Finish internal window manager abstraction or add proper support in nano-X.
Fix event polling.
Implement GdkImage, GdkRgb stuff.
Put generic region code in generic gdk and/or use the region code from nano-X.
Fix ugly automake stuff for make dist.
TODO in nano-X
We need to be able to clip and change the background of windows at runtime
for apps to not look so ugly!
Fonts: wait for better nano-X font implementation.
Properties on windows.
Provide a pango module.
If you want to work on this port or get additional informnation, get in
touch with me.
Configure gtk with the --with-gdktarget=nanox to compile with nano-X support.
Paolo Molaro
lupus@linuxcare.com

View File

@@ -33,11 +33,16 @@ Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
There are hand-written makefiles for mingw (look for makefile.mingw in
various directories), but those haven't been kept up-to-date, and
probably won't work without editing. Sorry. If you make them work
again, by all means do submit patches.
Note that I use method 1 myself. Hans Breuer has been taking care of
the MSVC makefiles. At times, we disagree a bit about various issues,
and for instance the makefile.msc files will not produce identically
named DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
and the makefile.msc files might not produce identically named DLLs
and import libraries as the "autoconfiscated" makefiles and libtool
do.
Using GTK+ on Win32
===================

200
TODO Normal file
View File

@@ -0,0 +1,200 @@
Outstanding items:
* focus handling for GtkOptionMenu (needs the previous)
* implement gtk_default_draw_oval and other missing things in gtkstyle.c.
* enforce invariants on *_RESIZE* and *_REDRAW* flags.
* GtkToolTips: allocate GtkTooltipsData from memchunks
* Make all widget attributes configurable after the widget is created (timj).
* Radio buttons need to display CAN/HAS_DEFAULT correctly, if draw_inidicator
is TRUE. (Radio buttons do not need to CAN_DEFAULT! OWT)
* More dialogs: Print, maybe others...
* make the gtk_main callbacks consistent in their add/remove behaviour.
* Check return values on all calls to XIC[Get/Set]Values
* The "--geometry" option should be supported
- Having gdk_init() parse the geometry option. (putting it into
GDK means you can use XParseGeometry() without wrapping it)
- Add a call gdk_get_geometry() that retrieves the results
in a form like that returned by XParseGeometry()
- The application then can modify the results (as would gemvt)
then call a routine gtk_window_set_geometry() on whatever
it considers to be its main window.
- Then in some manner GtkWindow takes that into account when
setting its hints. (Probably it uses the size and position
as the current uposition and usize, and modulates that
be the equivalents of the X flags
XValue, YValue, WidthValue, HeightValue, XNegative, or YNegative
( You'd have to extend gdk_window_set_hints to accept the
window gravity option to get it right. )
* Allow moving the separator for paned widgets by dragging
it directly instead of using the handle.
* Check into XAddConnectionWatch - is this needed for XIM?
* Places where a _full variant is needed:
gtk_init_add
gtk_menu_popup
gtk_toolbar_prepend_element
gtk_toolbar_insert_element
* Try to rationally deal with someone else deleting one of our
windows??? This would mean keeping track of our window heirarchy
ourselves, for one thing, and will never be safe, because of
race conditions.
* Should all the default handlers really return FALSE? This can
cause confusing presses to be sent to containers that actually
want to get events on themselves.
* The menu code should skip separators during keyboard navigation,
whether they are sensitive or insensitive.
* OwnerButtonPressGrab needs to go!
Text/Edit widget:
Bugs:
- Really big font (150 pt), plus lots of editing caused segfault
Improvements:
- Unify the key binding support in some fashion between the
Entry and Text widget widgets, use GtkBindings for this.
- Figure out a way not to recompute the geometry on insertions/deletions
which are large, but not a significant fraction of the
entire text. (e.g., compute the changes as when the widget
is not frozen, but without the actual scrolling)
- Prune the line start cache. But since it is only 68 bytes
per line, and it is a lot faster when lines are in the cache,
it may be better not to, at least for now.
- Show the non-editable state by changing colors. (Use the
style entries for insensitive?)
- Multibyte support for the Text widget.
- Unicode support to do the multi-byte right.
- Support an .inputrc. (The readline one doesn't really work,
unless it is extended because it can't represent X keysyms,
just terminal type input)
- A vi mode
- Word wrap, instead of line folding. (Should the continuation
characters be shown?)
- Horizontal scrolling
- Disable pasting compound text
- When showing background pixmap (not editable) actually set
the background pixmap as the windows bg pixmap, to improve
appearance on exposes. But this would require using another
window to get the origins.
- In word wrap mode, break:
aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
as:
| Maximum column
aaaaaaaaaaa bbbbbbbbbbb|
bbbbbbbbbbbbbbbbbbbbbbb|
bbbbbbbbb |
Instead of:
|
aaaaaaaaaaa |
bbbbbbbbbbbbbbbbbbbbbbb|
bbbbbbbbbbbbbbbbbbbb |
- Blinking cursor
- API's : gtk_text_clear, gtk_text_delete_lines (gint start, gint end),
gtk_text_append/prepend, gtk_text_insert_at (gint row, gint column),
some function to get the row/column from the x/y-coordinates of a
mouse click, some function to get the word/line under the mouse pointer
[ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ]
- "changed" emitted when doing deletes on empty Text widget.
- Delete IC in editable->unrealize, not editable->finalize?
Themes
======
- When a scale gets shown/hidden only queue a redraw on the
non-window portion, not the whole area.
- In various places, to avoid shaping windows excessively,
we set parent relative backgrounds. This is an ugly
hack and needs a better solution. Plus, I don't think
these parent-relative backgrounds always persist to
when they are actually needed.
Such calls exist in: GtkButton, GtkHandeBox, GtkItem,
GtkListItem, GtkMenu, GtkMenuItem, GtkMisc,
GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview,
GtkSpinButton and GtkTreeItem.
- For menus and for GtkWindow's, the realize() function
calls paint(), so that background pixmaps can be set
ahead of time, and prevent flashing when the window is
shown. This is an ugly hack and needs a better solution.
=======
Calendar Widget:
- The widget should be nicely resizeable vertical too.
- CALENDAR_MARGIN should be removed, uses INNER_BORDER and
style->class->[xy]thickness insted.
- Flag to choose between using standard three letter abbreviated
weekday name or just the first character from it. It looks like
that is what most other calendar-widgets do.
- Arrows should resize with the header-font.
- The keyboard support has to be finished.
DND
===
- Use a cursor instead of an ICON when over Motif windows,
to get rid of the current junk that Motif leaves because
of its XCopyArea stupidity for doing highlighting.
- Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify"
signal so that apps can easily check if a, say,
text/uri-list URL looks OK during the drop.
- Check more for memory leaks.
- Drag and drop for Entry and Text widgets.
- Send synthetic motion events on structure changes so
drag_enter/leave get sent properly. (See the popup
in testdnd)

739
TODO.xml Normal file
View File

@@ -0,0 +1,739 @@
<!-- This is used to generate the online TODO list for GTK+ using
the script docs/make-todo. Whenever a change to this file is
committed to CVS,the file is run through make-todo and the online
version updated. If you modify this file, you should check for
parse errors by running:
$ docs/make-todo TODO.xml > /dev/null
before committing, or you may screw up the online version -->
<todo logourl="gtk-logo-rgb.gif">
<title>GTK+ TODO list</title>
<section>
<title>GDK</title>
<entry size="medium" status="90%" target="2.0">
<title>Add backing store support</title>
<description>
<p>
GTK+'s drawing model involves clearing to a background, and
then drawing widgets on top of this. Without having
backing-store support, this results in flickering in various
situations. Backing store cannot be added widget-by-widget,
because the drawing in a particular window is not confined
to a single widget. Instead it needs to be added per GDK
window.
</p>
<p>
The way this is done is by having
<tt>gdk_window_begin_paint()</tt>
and <tt>gdk_window_end_paint()</tt> functions that
redirect all drawing to a particular window to an offscreen
pixmap, and then copy that offscreen pixmap back onto the
screen when the paint operation is done. The implementation
of this is mostly complete in the <tt>gtk-no-flicker</tt> branch of
GTK+.
</p>
</description>
<url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
<contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
</entry>
<entry size="medium" status="90%" target="2.0">
<title>32 Bit Coordinates</title>
<description>
<p>
GTK+-1.2 and earlier share X's limitation on the
size of coordinates and restrict all dimensions
to 16 bit quantities. By clever use of X it is
possible to lift this restriction and present a
full 32-bit space to the user.
</p>
<p>
There are some difficulties with performance in this
approach - mostly because scrolling can involve mapping and
unmapping lots of widgets, but in general, current
trials in this area seem to work pretty well.
</p>
</description>
<url>http://www.gtk.org/~otaylor/gtk/1.4/gdk-drawing.html</url>
<contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Customizable double-click timeout</title>
<description>
<p>
The current fixed double-click timeout in GTK+
is too small for some users. This needs to be
customizable
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
<bugs>#3958</bugs>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Make color handling more convenient</title>
<description>
<p>
Add some color convenience functions; such as a way to get an
allocated GdkColor from GdkRGB, and export functions from gtkstyle.c
that lighten/darken a given color, and set a color from HSV in
addition to RGB. Also, consider having static variables that contain
preallocated common colors (gdk_blue, gdk_red, etc.), the problem
being colormap issues.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Cursors</title>
<description>
<p>
Two tasks: 1) move the cursors in the cursor font that people actually
care about to the top of the gdkcursor.h header file, and put a nice
list of the 15 cursors people actually care about in the docs 2) if
the cursor font lacks some commonly-useful cursors (like magnifying
glass), add these cursors to gdkcursor.h and then emulate them in
gdk_cursor_new by transparently creating the cursor from a bitmap.
The list of Qt cursors is worth http://doc.trolltech.com/qcursor.html
looking at for this task.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="100%" target="2.0">
<title>Make GdkRGB work on any visual</title>
<description>
<p>
GdkRGB should be able to render to an arbitrary visual
(i.e. the visual shouldn't be fixed at gdk_rgb_init()
time). This will break gdk_rgb_gc_set_foreground() and
friends, though.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
</section> <!-- GDK -->
<section>
<title>Internationalization</title>
<entry size="big" status="90%" target="2.0">
<title>Integrate Pango</title>
<description>
<p>
The purpose of the Pango project is to provide a system for
layout and rendering of internationalized text. It handles
most of the issues necessary to
</p>
</description>
<url>http://www.pango.org</url>
<contact>gtk-i18n-list@redhat.com</contact>
</entry>
<entry size="medium" status="90%" target="2.0">
<title>Switch to using UTF-8</title>
<description>
<p>
This is closely related to Pango integration. Pango deals
with all strings in terms of UTF-8; by switching GTK+ over
to UTF-8 we make it considerably simpler for developers to
support multiple languages properly while still retaining
a large degree of compatibility with existing programs.
</p>
<p>
Some work has already been done on this as part of the Win32
port, since the Win32 port is currently using UTF-8 for all
strings. In general, this should be an easy job; the hardest
parts are places like GtkFileSelection, cut and paste, and
input method support where there is interaction between GTK+
and the operating system.
</p>
</description>
<contact>gtk-i18n-list@redhat.com</contact>
</entry>
<entry size="big" status="60%" target="2.0">
<title>Rewrite Input Method Support</title>
<description>
<p>
Support for Input Methods is GTK+-1.2 is done via XIM, with
supported styles being over-the-spot and the root-window
styles. However, the over-the-spot style is not going to
work well with the Pango integration, since it relies on the
text rendering in the program being done in the standard
Xlib style, so it will be necessary to also support
on-the-spot input. On-the-spot input is done by supplying a
set of callbacks that are invoked by the input methods.
</p>
<p>
GTK+-2.0 will have a new system with loadable input method
modules. These modules can either be implemented using XIM,
or written from scratch.
</p>
</description>
<contact>gtk-i18n-list@redhat.com</contact>
</entry>
</section> <!-- i18n -->
<section>
<title>GTK+ Core</title>
<entry size="big" status="60%" target="2.0">
<title>GLib based object and type system</title>
<description>
<p>
The GTK+ object system is already in use in quite a few different
non-GUI applications; it would be desirable for these uses
to have the object and type systems separated from the GUI portions
of GTK+ and be generalized for non-GUI usage.
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="1%" target="2.0">
<title>Overall callback improvements</title>
<description>
<p>
The GTK+ type and signal systems need significant improvements to
allow signal creation with default handlers from language bindings
and to aid language bindings in deriving new objects.
One aspect of this is the Closure support, recently suggested by
Karl Nelson &lt;kenelson@ece.ucdavis.edu&gt;, but this also
requires a GLib based type and parameter system (ties in with
"GLib based object and type system").
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="2.0">
<title>State change notification</title>
<description>
<p>
GTK+ objects emit various types of signals, some to perform
arbitrary actions, some to allow customization from user code,
and some signals are emitted to notify of certain changes
of an object. For the latter, what really is required is a
gneneric signal that can be used to monitor *any* kind of object
changes. For that, all object changes need to be routed through
a central point (otherwise the signal emissions are spread all
over the object implementation), i.e. an object argument setter.
The state change notification signal doesn't need to be emitted
syncronously, in fact, it's probably most effective to always
emit this asynchronously, so subsequent changes are accumulated.
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="5%" target="2.0">
<title>Widget as sensitivity/grab state machine</title>
<description>
<p>
Maintenance of pointer and keybnoard grabs is currently very
tedious and error-prone, most widget's cook up their own stuff
in this regard.
By moving the general concept of "Grabs" to the GTK+ level as
a widget state, and providing a new signal for alterations of
a widget's state ("visible", "visible+insensitive",
"visible+grab", "hidden", "hidden+insensitive", etc.), things
can be unified and more stabelize. A couple of bugs, such as
insensitive widgets still holding a grab, or buttons that
still think they are depressed when hidden, will be squeezed
automatically with that.
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="0%" target="2.0">
<title>Allow argument customization</title>
<description>
<p>
Many types of object arguments (expander style in the CList,
default padding in button boxes, etc), conceptually go with
the theme, or as user preferences; they should not be set by
a particular program.
</p>
<p>
There needs to be a mechanism for themes to be able to
control these arguments from the RC file.
</p>
</description>
</entry>
<entry size="medium" status="0%" target="2.0">
<title>Allow global customization</title>
<description>
<p>
There are a number of global parameters in GTK+ and GDK that should be
customizable by the user, such as the double-click timeout,
or whether widgets should be backing-stored by default.
</p>
<p>
If we had argument customization from an RC file, it might
be possible to do this simply with a global object with
arguments for the various global parameters that was
customized in the same fashion as object arguments.
</p>
</description>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Gtk+ Modules installation directory</title>
<description>
<p>
Gtk+ needs to support an extra lib/ directory, to search
for dynamically loadable modules, it also needs to support
an environment variable to specify module search paths.
This has quite some cross-platform issues with the GModule
code (especially on AIX).
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="20%" target="2.0">
<title>Convenient widget setup</title>
<description>
<p>
Make it simpler to set all the basic attributes of a widget. Might
want set_tooltip(), set_accel(), set_color(FOREGROUND, color),
set_min_size() (usize does this, but needs a rename), set_whatsthis(),
etc. set_accel() may not work for all widgets, may need a convenience
API for button and label accelerators specifically.
</p>
<p>
The idea is that it should be easy, out of the box, to set up a widget
with all the nice touches and features the widget really should
have. Users shouldn't need to do their own convenience functions for
this.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 2.0">
<title>Make selections/clipboard more convenient</title>
<description>
<p>
Make GtkSelectionData more like the MIME blobs in Swing and Qt.
Consider a GtkClipboard object to simplify cut-and-paste handling.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="80%" target="2.0">
<title>Stock label/icon system</title>
<description>
<p>
A system like GnomeStock for getting a standard labels/icons
for menus and toolbars. Should be extensible by themes, and
by libgnomeui. Some work already done on this.
</p>
</description>
<contact>hp@redhat.com</contact>
</entry>
<entry size="big" status="0%" target="> 2.0">
<title>Session Management</title>
<description>
<p>
Look in to session management. Consider whether to use
X11R6 SM, or some custom spec shared with KDE. Create
GTK+ API for this.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 2.0">
<title>Online help enhancements</title>
<description>
<p>
Look at a small "What's This" popup widget,
and a What's This system in general (this part
could maybe be done for 2.0). A more difficult, probably
a post-2.0 task, is to integrate a very simple little
help browser gizmo into GTK.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="2.0">
<title>GUI-editable means of user configuration</title>
<description>
<p>
Need to be able to set double click time, whether cursors
blink, etc., from a control panel type of deal.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
</section> <!-- Core -->
<section>
<title>GTK+ Widgets</title>
<entry size="small" status="100%" target="2.0">
<title>Make GtkFrame use a label</title>
<description>
<p>
The title of a frame should simply be another child widget
which, by default, holds a label widget. This will important
with Pango where proper text behavior will be more complex to
implement, but is also useful for certain user-interface
designs. (It can be useful, for example, to put a checkbutton
in that slot.)
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="90%" target="2.0">
<title>Replace GtkText Widget</title>
<description>
<p>
The GtkText widget is badly in need of replacement, since it
is buggy and insufficiently feature rich. This is being done
using Havoc Pennington's port of the Tk Text widget.
</p>
<p>
As part of this job <a href="http://www.pango.org">Pango</a>
support is being added to the replacement. The structure of
the Tk text widget port is suited to this as it works
paragraph-by-paragraph, and Pango works at a sub-paragraph
scale. The main remaining tasks here are to implement
incremental reflow to make performance acceptable and to
implement embedded pixmaps and widgets.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="20%" target="2.0">
<title>Improve Radio/Checkbutton Look</title>
<description>
<p>
The default look for the radio and checkbuttons is both
unattractive and not friendly to the user . Motif did not
get this one right, and we should not keep on following the
Motif look. The right thing here is probably to copy the
Windows appearance for these controls fairly closely. This
will fit in with well with the rest of the GTK+ look.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="99%" target="2.0">
<title>Improve Submenu Navigation</title>
<description>
<p>
Navigating through a deep menu tree in GTK+ is currently
quite tricky, because as soon as one leaves a menu item,
the submenu disappears. The way that the Macintosh is
reputed to handle this is that to pop down the current
submenu, you have to leave the triangle defined by the
upper left hand corner of the menu item and right
side of the submenu.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="2.0 ?">
<title>Improve Spinbutton Look</title>
<description>
<p>
Spinbuttons currently appear to have lumpy boundaries,
because sides of the arrows aren't at an angle that
meshes well with the pixel grid. However, fixing this
would require making the spinbuttons narrower and
harder to hit. This points out a general problem with
the spinbutton (and the arrows on the scrollbars) - the
target area for clicks actually the bounding box of the
arrows, but the user thinks that they must click on the
arrows themselves. It would probably be more friendly
to use a square button with an arrow drawn on top instead
of a arrow-shaped button, the approach taken by most other
windowing systems.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="90%" target="2.0">
<title>Supply horizontable/vertical wrapping boxes</title>
<description>
<p>
An often requested feature are wrapping containers, at this
point, gimp's development version already uses such widgets:
horizontable/vertical wrap boxes, that need to go into 2.0
proper at some point.
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="medium" status="90%" target="2.0">
<title>Improved generic combo support</title>
<description>
<p>
Gtk+'s combo box has several drawbacks in design and
implementation. An new attempt at providing the combo box
functionality with improved flexibility has been made with
the GtkClueHunter widget, sitting in the CVS module "gle".
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="40%" target="2.0?">
<title>Add unified set of List/Tree/Grid widgets</title>
<description>
<p>
Currently, GTK+ has a large number of list and tree widgets
(GtkList, GtkTree, GtkCList, GtkCTree), none of which are
ideal. The GtkList and GtkTree widgets perform badly on large
number of items. (GtkTree widget is also quite buggy.) GtkCList
and GtkCTree mostly solve the size problem, but are quite
complex and, despite that, not very flexible. They are limited to
displaying pixmaps and text, and can neither support arbitrary
widgets nor custom drawing functions.
</p>
<p>
In addition to list and tree widgets, a closely related need
is a sheet widget that displays a (possibly editable) 2-D grid.
It would be desirable to have a complete set of widgets that
could be presented as the one-true-solution for these needs.
Model/View techniques could be used effectively to increase
both the simplicity and power of the interfaces.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>GtkImage</title>
<description>
<p>
gdk-pixbuf is moving to become a GTK+ dependency, a new image-display
widget is thus needed.
</p>
</description>
<contact>hp@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Attempt to fix GtkStatusbar</title>
<description>
<p>
GtkStatusbar is too inconvenient to use.
The only non-breakage-inducing fix we could
come up with is to permit 0 as a context ID, so you
don't have to use gtk_statusbar_get_context_id().
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="95%" target="2.0">
<title>Decruft GtkProgress, GtkProgressbar</title>
<description>
<p>UPDATE: this is done, just need to apply the patch.
</p>
<p>
This interface is just a disaster of overcomplexity;
it should pretty much just be set_percentage(),
pulse() (to move during activity mode), and set_text().
There's no reason that there are two objects, should
just be one interface. Almost all the functions
that currently exist should be deprecated.
</p>
</description>
<contact>hp@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Entry validation hooks</title>
<description>
<p>
Simple hooks for validation in a GtkEntry. Pretty much just a
"validate" callback which takes a string (current entry contents) and
returns either VALID, INVALID, or COULDBEVALID. Then the
GtkEntry calls this function if it's set, and does the appropriate
UI things. GTK should come with validators for int and float,
see GtkSpinButton where these are already implemented.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 2.0">
<title>pseudo-MDI Widget</title>
<description>
<p>
Add a widget that lets you rearrange various views (similar to many
IDEs, like Visual SlickEdit or JBuilder). Basically there should be a
central slot and 4 slots around the sides; each slot holds one or more
views. If two views are dropped in the same slot, then a notebook is
created displaying both views. If a view is dropped outside the
application window, it becomes a standalone window. It should be
possible to restrict whether a view can be dropped on the sides,
horizontal/vertical sides only, in the central content area, or in
any of those places.
</p>
<p>
(Havoc has a proposed interface for this, mail hp@redhat.com)
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 2.0">
<title>Icon List Widget</title>
<description>
<p>
A simple icon list widget, suitable for creating a file selector or
the like.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 2.0">
<title>Dock widget</title>
<description>
<p>
Add a widget like GnomeDock (perhaps based on GnomeDock)
that allows people to put rearrangeable toolbars, menubars, etc.
around a central content area. The widget should have hooks for
saving the current positions of the various docked bars.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 2.0">
<title>Canvas widget</title>
<description>
<p>
Figure out how to get GnomeCanvas or a derived work into GTK+ itself.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="57%" target="2.0">
<title>Menu scroll</title>
<description>
<p>
When menus are bigger than the screen, allow scrolling
as on the Mac.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="20%" target="2.0">
<title>Toolbar/menubar wrap</title>
<description>
<p>
When toolbars and menubars are too wide, do some sort of
wrapping or drop-down deal. (See Windows/Mac apps for examples.)
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Blink cursor in GtkEntry</title>
<description>
<p>
Make the cursor optionally blink in GtkEntry. Beware, the entry code
is somewhat in flux; mail Owen and ask.
</p>
</description>
<contact>otaylor@redhat.com</contact>
</entry>
<entry size="small" status="100%" target="2.0">
<title>Don't highlight first menu item when menus come up</title>
<description>
<p>
Keep GtkMenu from prelighting the first menu item.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="100%" target="2.0">
<title>Integrate new color selector</title>
<description>
<p>
There's a new color selector in CVS (module gnome-colorsel),
it needs to be folded in to GTK and any remaining issues resolved.
(This new selector is API-compatible with the old one, and
still called GtkColorSelector).
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="70%" target="2.0">
<title>Write new font selector</title>
<description>
<p>
Pango introduces a new font handling system,
replacing the XLFD system. Need a font selector for this.
The XLFD selector should probably remain, for apps where
it makes sense (like gnome-terminal probably).
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Stack Widget</title>
<description>
<p>
Jonathan has a widget like a tabless/frameless notebook, used for
something like the GNOME control center where you want to toggle which
widget is visible to the user. Needs to be cleaned up and considered
for GTK.
</p>
</description>
<contact>gtk-devel-list@gnome.org, jrb@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="2.0">
<title>Clean up GtkNotebook</title>
<description>
<p>
GtkNotebook currently breaks GTK invariants about
mapping/visibility/etc., needs fixing.
</p>
</description>
<contact>gtk-devel-list@gnome.org</contact>
</entry>
</section> <!-- GTK+ -->
</todo>

View File

@@ -29,11 +29,8 @@
#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SOLARIS_XINERAMA
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_XFREE_XINERAMA
#undef HAVE_XINERAMA
#undef HAVE_WINSOCK_H
#undef HAVE_WINTAB
#undef HAVE_XCONVERTCASE

View File

@@ -10,3 +10,342 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
$1
AC_DIVERT_POP()])])])
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# Modified to never use included libintl.
# Owen Taylor <otaylor@redhat.com>, 12/15/1998
#
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# serial 5
AC_DEFUN(AM_GTK_WITH_NLS,
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
USE_INCLUDED_LIBINTL=no
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
# AC_DEFINE(ENABLE_NLS)
# AC_MSG_CHECKING([whether included gettext is requested])
# AC_ARG_WITH(included-gettext,
# [ --with-included-gettext use the GNU gettext library included here],
# nls_cv_force_use_gnu_gettext=$withval,
# nls_cv_force_use_gnu_gettext=no)
# AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_force_use_gnu_gettext="no"
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If gettext or catgets are available (in this order) we
dnl use this. Else we have to fall back to GNU NLS library.
dnl catgets is only used if permitted by option --with-catgets.
nls_cv_header_intl=
nls_cv_header_libgt=
CATOBJEXT=NONE
AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
[AC_TRY_LINK([#include <libintl.h>], [return (int) dgettext ("","")],
gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)])
if test "$gt_cv_func_dgettext_libc" != "yes"; then
AC_CHECK_LIB(intl, bindtextdomain,
[AC_CACHE_CHECK([for dgettext in libintl],
gt_cv_func_dgettext_libintl,
[AC_CHECK_LIB(intl, dgettext,
gt_cv_func_dgettext_libintl=yes,
gt_cv_func_dgettext_libintl=no)],
gt_cv_func_dgettext_libintl=no)])
fi
if test "$gt_cv_func_dgettext_libintl" = "yes"; then
LIBS="$LIBS -lintl";
fi
if test "$gt_cv_func_dgettext_libc" = "yes" \
|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
AC_DEFINE(HAVE_GETTEXT)
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
if test "$MSGFMT" != "no"; then
AC_CHECK_FUNCS(dcgettext)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo
DATADIRNAME=share],
[CATOBJEXT=.mo
DATADIRNAME=lib])
INSTOBJEXT=.mo
fi
fi
# Added by Martin Baulig 12/15/98 for libc5 systems
if test "$gt_cv_func_dgettext_libc" != "yes" \
&& test "$gt_cv_func_dgettext_libintl" = "yes"; then
INTLLIBS=-lintl
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
fi
])
if test "$CATOBJEXT" = "NONE"; then
AC_MSG_CHECKING([whether catgets can be used])
AC_ARG_WITH(catgets,
[ --with-catgets use catgets functions if available],
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
AC_MSG_RESULT($nls_cv_use_catgets)
if test "$nls_cv_use_catgets" = "yes"; then
dnl No gettext in C library. Try catgets next.
AC_CHECK_LIB(i, main)
AC_CHECK_FUNC(catgets,
[AC_DEFINE(HAVE_CATGETS)
INTLOBJS="\$(CATOBJS)"
AC_PATH_PROG(GENCAT, gencat, no)dnl
# if test "$GENCAT" != "no"; then
# AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
# if test "$GMSGFMT" = "no"; then
# AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
# fi
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
# USE_INCLUDED_LIBINTL=yes
# CATOBJEXT=.cat
# INSTOBJEXT=.cat
# DATADIRNAME=lib
# INTLDEPS='$(top_builddir)/intl/libintl.a'
# INTLLIBS=$INTLDEPS
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
# nls_cv_header_intl=intl/libintl.h
# nls_cv_header_libgt=intl/libgettext.h
# fi
])
fi
fi
if test "$CATOBJEXT" = "NONE"; then
dnl Neither gettext nor catgets in included in the C library.
dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" != "yes"; then
AC_DEFINE(ENABLE_NLS)
else
# Unset this variable since we use the non-zero value as a flag.
CATOBJEXT=
# dnl Mark actions used to generate GNU NLS library.
# INTLOBJS="\$(GETTOBJS)"
# AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
# AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
# AC_SUBST(MSGFMT)
# USE_INCLUDED_LIBINTL=yes
# CATOBJEXT=.gmo
# INSTOBJEXT=.mo
# DATADIRNAME=share
# INTLDEPS='$(top_builddir)/intl/libintl.a'
# INTLLIBS=$INTLDEPS
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
# nls_cv_header_intl=intl/libintl.h
# nls_cv_header_libgt=intl/libgettext.h
fi
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
dnl If it is no GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
: ;
else
AC_MSG_RESULT(
[found xgettext program is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
fi
# We need to process the po/ directory.
POSUB=po
else
DATADIRNAME=share
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi
AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT_COMMANDS(
[case "$CONFIG_FILES" in *po/Makefile.in*)
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
esac])
# # If this is used in GNU gettext we have to set USE_NLS to `yes'
# # because some of the sources are only built for this goal.
# if test "$PACKAGE" = gettext; then
# USE_NLS=yes
# USE_INCLUDED_LIBINTL=yes
# fi
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
done
dnl Make all variables we use known to autoconf.
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT)
AC_SUBST(DATADIRNAME)
AC_SUBST(GMOFILES)
AC_SUBST(INSTOBJEXT)
AC_SUBST(INTLDEPS)
AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
])
AC_DEFUN(AM_GTK_GNU_GETTEXT,
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
strdup __argz_count __argz_stringify __argz_next])
if test "${ac_cv_func_stpcpy+set}" != "set"; then
AC_CHECK_FUNCS(stpcpy)
fi
if test "${ac_cv_func_stpcpy}" = "yes"; then
AC_DEFINE(HAVE_STPCPY)
fi
AM_LC_MESSAGES
AM_GTK_WITH_NLS
if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
esac
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
dnl Construct list of names of catalog files to be constructed.
if test -n "$LINGUAS"; then
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
fi
fi
dnl The reference to <locale.h> in the installed <libintl.h> file
dnl must be resolved because we cannot expect the users of this
dnl to define HAVE_LOCALE_H.
if test $ac_cv_header_locale_h = yes; then
INCLUDE_LOCALE_H="#include <locale.h>"
else
INCLUDE_LOCALE_H="\
/* The system does not provide the header <locale.h>. Take care yourself. */"
fi
AC_SUBST(INCLUDE_LOCALE_H)
dnl Determine which catalog format we have (if any is needed)
dnl For now we know about two different formats:
dnl Linux libc-5 and the normal X/Open format
test -d intl || mkdir intl
if test "$CATOBJEXT" = ".cat"; then
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
dnl Transform the SED scripts while copying because some dumb SEDs
dnl cannot handle comments.
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
fi
dnl po2tbl.sed is always needed.
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
dnl In the intl/Makefile.in we have a special dependency which makes
dnl only sense for gettext. We comment this out for non-gettext
dnl packages.
if test "$PACKAGE" = "gettext"; then
GT_NO="#NO#"
GT_YES=
else
GT_NO=
GT_YES="#YES#"
fi
AC_SUBST(GT_NO)
AC_SUBST(GT_YES)
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
dnl *** For now the libtool support in intl/Makefile is not for real.
l=
AC_SUBST(l)
dnl Generate list of files to be processed by xgettext which will
dnl be included in po/Makefile.
test -d po || mkdir po
if test "x$srcdir" != "x."; then
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
posrcprefix="$srcdir/"
else
posrcprefix="../$srcdir/"
fi
else
posrcprefix="../"
fi
rm -f po/POTFILES
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
< $srcdir/po/POTFILES.in > po/POTFILES
])

View File

@@ -50,8 +50,8 @@ if automake-1.4 --version < /dev/null > /dev/null 2>&1 ; then
fi
if $have_automake ; then : ; else
echo
echo "You must have automake 1.4-p6 installed to compile $PROJECT."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p6.tar.gz"
echo "You must have automake 1.4-p1 installed to compile $PROJECT."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p1.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
fi

View File

@@ -31,10 +31,10 @@ GLIB_AC_DIVERT_BEFORE_HELP([
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
#
GTK_MAJOR_VERSION=2
GTK_MINOR_VERSION=2
GTK_MICRO_VERSION=0
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=200
GTK_MINOR_VERSION=0
GTK_MICRO_VERSION=7
GTK_INTERFACE_AGE=7
GTK_BINARY_AGE=7
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
dnl This is the X.Y used in -lgtk-FOO-X.Y
GTK_API_VERSION=2.0
@@ -49,14 +49,8 @@ AC_SUBST(GTK_API_VERSION)
AC_SUBST(GTK_VERSION)
# libtool versioning
#LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
#LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
#LT_REVISION=$GTK_INTERFACE_AGE
#LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
LT_RELEASE=$GTK_MAJOR_VERSION.0
LT_CURRENT=`expr 100 '*' $GTK_MINOR_VERSION + $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
LT_REVISION=$GTK_INTERFACE_AGE
LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@@ -67,11 +61,9 @@ AC_SUBST(LT_AGE)
AC_SUBST(LT_CURRENT_MINUS_AGE)
# Define a string for the earliest version that this release has
# forward/backwards binary compatibility with. This is used for module
# locations. (Should this be backwards-compat instead?)
# binary compatibility with. This is used for module locations.
#
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
GTK_BINARY_VERSION=2.2.0
GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
AC_SUBST(GTK_BINARY_VERSION)
#
@@ -88,7 +80,7 @@ AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)
## Versions of dependencies
GLIB_REQUIRED_VERSION=2.1.4
GLIB_REQUIRED_VERSION=2.0.6
PANGO_REQUIRED_VERSION=1.0.1
ATK_REQUIRED_VERSION=1.0.1
@@ -184,7 +176,7 @@ AC_ARG_ENABLE(xkb, [ --enable-xkb support XKB [default=maybe]],
, enable_xkb="maybe")
AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
AC_ARG_WITH(xinput, [ --with-xinput=[no/yes] support XInput ])
AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
AC_ARG_WITH(wintab, [ --with-wintab=DIRECTORY use Wintab API with win32 backend])
AC_ARG_WITH(ie55, [ --with-ie55=DIRECTORY IE5.5 libs and headers (for Active IMM)])
@@ -389,11 +381,14 @@ AC_SUBST(STRIP_BEGIN)
AC_SUBST(STRIP_END)
# i18n stuff
ALL_LINGUAS="az be bg ca cs cy da de el en_GB es et eu fa fi fr ga gl he hi hr hu ia id it ja ko lt lv ml mn ms nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa yi zh_TW zh_CN"
ALL_LINGUAS="ar az be bg ca cs cy da de el en_GB en@IPA es et eu fa fi fr ga gl he hi hr hu ia it ja ko lt lv ms nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa zh_TW zh_CN"
AM_GLIB_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
# AM_GLIB_GNU_GETTEXT above substs $DATADIRNAME
# this is the directory where the *.{mo,gmo} files are installed
gtklocaledir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(gtklocaledir)
dnl The DU4 header files don't provide library prototypes unless
dnl -std1 is given to the native cc.
@@ -470,15 +465,13 @@ if test "${with_ie55+set}" = set && test $with_ie55 != no; then
AC_MSG_CHECKING([for dimm.h])
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
AC_TRY_COMPILE([#include <windows.h>
#include <objbase.h>
#ifdef __GNUC__
/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
#endif
#include <windows.h>
#include <objbase.h>
#include <imm.h>
#ifdef __GNUC__
#undef IMEMENUITEMINFOA
#undef IMEMENUITEMINFOW
#endif
@@ -535,6 +528,8 @@ AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"
# check for bytesex stuff
AC_C_BIGENDIAN
# Checks for header files.
AC_HEADER_STDC
@@ -614,31 +609,24 @@ AC_MSG_RESULT($gdk_working_wctype)
AC_SUBST(GDK_WLIBS)
##################################################
# Checks for gdk-pixbuf
##################################################
dnl ********************************************************
dnl * See whether we need to load our modules as .la files *
dnl ********************************************************
use_la_modules=false
case $host in
*-aix*) use_la_modules=true
esac
if $use_la_modules ; then
AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
fi
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
AC_ARG_ENABLE(modules, [ --disable-modules disable dynamic module loading])
AC_ARG_ENABLE(modules, [ --disable-modules disable dynamic module loading],[
if test x$withval = xyes; then
with_modules=yes
else
with_modules=no
fi
])
dynworks=false
deps=
if test x$enable_modules = xno; then
if test x$with_modules = xno; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
@@ -806,7 +794,7 @@ else
fi
fi
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga"
all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
included_loaders=""
# If no loaders specified, include all
if test "x$with_included_loaders" = xyes ; then
@@ -941,10 +929,8 @@ if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
gtk_save_LIBS="$LIBS"
LIBS="$FREETYPE_LIBS $LIBS"
AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
LIBS="$gtk_save_LIBS"
AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
,:,$FREETYPE_LIBS)
if $have_freetype ; then
gtk_save_cppflags="$CPPFLAGS"
@@ -978,7 +964,7 @@ if test "x$gdktarget" = "xx11"; then
## be sure we also have Pango built with xft support
if $PKG_CONFIG --exists pangoxft ; then
PANGO_PACKAGES="pangoxft pangox"
PANGO_PACKAGES="pangox pangoxft"
have_xft=true
AC_DEFINE(HAVE_XFT)
if $have_freetype ; then
@@ -993,10 +979,6 @@ if test "x$gdktarget" = "xx11"; then
AM_CONDITIONAL(HAVE_XFT, $have_xft)
if $PKG_CONFIG --exists xft ; then
AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2])
fi
#
# If Pango included the shared library dependencies from X11 in
# the pkg-config output, then we use that (to avoid duplicates).
@@ -1091,49 +1073,6 @@ if test "x$gdktarget" = "xx11"; then
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs"
# Check for Xinerama extension (Solaris impl or Xfree impl)
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $x_cflags"
case "$host" in
*-*-solaris*)
# Check for solaris
use_solaris_xinerama=yes
AC_CHECK_LIB(Xext, XineramaGetInfo,
use_solaris_xinerama=yes, use_solaris_xinerama=no)
if test "x$use_solaris_xinerama" = "xyes"; then
AC_CHECK_HEADER(X11/extensions/xinerama.h,
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext $x_extra_libs"
fi
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks)
fi
AC_MSG_CHECKING(for Xinerama support on Solaris)
AC_MSG_RESULT($use_solaris_xinerama);
;;
*)
# Check for XFree
use_xfree_xinerama=yes
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
x_extra_libs="-lXinerama $x_extra_libs"
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext $x_extra_libs"
fi
AC_DEFINE(HAVE_XFREE_XINERAMA)
AC_DEFINE(HAVE_XINERAMA),
use_xfree_xinerama=no,
[#include <X11/Xlib.h>])],
use_xfree_xinerama=no, -lXext $x_libs_for_checks)
AC_MSG_CHECKING(for Xinerama support on XFree86)
AC_MSG_RESULT($use_xfree_xinerama);
;;
esac
CPPFLAGS="$gtk_save_cppflags"
# Check for shaped window extension
AC_CHECK_LIB(Xext, XShapeCombineMask,
@@ -1176,29 +1115,19 @@ if test "x$gdktarget" = "xx11"; then
# set up things for XInput
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_GXI)
xinput_progs=gxid
x_extra_libs="-lXi $x_extra_libs"
elif test "x$with_xinput" = "xxfree"; then
AC_DEFINE(XINPUT_XFREE)
x_extra_libs="-lXi $x_extra_libs"
else
AC_DEFINE(XINPUT_NONE)
fi
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
# Check for the RANDR extension
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
# RANDR requires RENDER
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then
x_extra_libs="-lXrender $x_extra_libs"
fi
x_extra_libs="-lXrandr $x_extra_libs"
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
:, [#include <X11/Xlib.h>])], : ,
$X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
# Xshm checks
AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
@@ -1240,6 +1169,7 @@ if test "x$gdktarget" = "xx11"; then
AM_CONDITIONAL(USE_X11, true)
else
AM_CONDITIONAL(HAVE_XFT, false)
AM_CONDITIONAL(XINPUT_GXI, false)
AM_CONDITIONAL(XINPUT_XFREE, false)
AM_CONDITIONAL(USE_X11, false)
fi
@@ -1350,12 +1280,9 @@ CFLAGS="$CFLAGS $PANGO_CFLAGS"
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
:
else
gtk_save_LIBS="$LIBS"
LIBS="$PANGO_LIBS $LIBS"
AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
AC_CHECK_LIB(pango-1.0, pango_context_new, :, AC_MSG_ERROR([
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org]))
LIBS="$gtk_save_LIBS"
*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS)
fi
CFLAGS="$saved_cflags"
@@ -1401,12 +1328,9 @@ fi
if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
:
else
gtk_save_LIBS="$LIBS"
LIBS="$ATK_LIBS $LIBS"
AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
AC_CHECK_LIB(atk-1.0, atk_object_get_type, : , AC_MSG_ERROR([
*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
*** to build GTK+]))
LIBS="$gtk_save_LIBS"
*** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
fi
GTK_PACKAGES=atk
@@ -1441,27 +1365,19 @@ AC_SUBST(HTML_DIR)
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
gtk_doc_min_version=0.10
if $GTKDOC ; then
gtk_doc_min_version=0.9
if $GTKDOC ; then
gtk_doc_version=`gtkdoc-mkdb --version`
AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
IFS="${IFS= }"; gtk_save_IFS="$IFS"; IFS="."
set $gtk_doc_version
for min in $gtk_doc_min_version ; do
cur=$1; shift
if test -z $min ; then break; fi
if test -z $cur ; then GTKDOC=false; break; fi
if test $cur -gt $min ; then break ; fi
if test $cur -lt $min ; then GTKDOC=false; break ; fi
done
IFS="$gtk_save_IFS"
if $GTKDOC ; then
if perl <<EOF ; then
exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
EOF
AC_MSG_RESULT(yes)
else
else
AC_MSG_RESULT(no)
fi
GTKDOC=false
fi
fi
AC_CHECK_PROG(DB2HTML, db2html, true, false)
@@ -1577,6 +1493,7 @@ AM_CONDITIONAL(HAVE_SGML2HTML, test x$SGML2HTML != xno)
AC_OUTPUT([
config.h.win32
gtk-zip.sh
gtk+.spec
Makefile
gdk-pixbuf-2.0.pc
gdk-2.0.pc
@@ -1596,24 +1513,26 @@ tests/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/gdk-pixbuf/Makefile
docs/reference/gdk-pixbuf/version.xml
docs/reference/gdk/Makefile
docs/reference/gdk/version.xml
docs/reference/gtk/Makefile
docs/reference/gtk/version.xml
docs/faq/Makefile
docs/tutorial/Makefile
gdk-pixbuf/Makefile
gdk-pixbuf/makefile.mingw
gdk-pixbuf/gdk_pixbuf.rc
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/pixops/Makefile
gdk-pixbuf/pixops/makefile.mingw
gdk/Makefile
gdk/makefile.mingw
gdk/x11/Makefile
gdk/win32/Makefile
gdk/win32/makefile.mingw
gdk/win32/rc/Makefile
gdk/win32/rc/gdk.rc
gdk/linux-fb/Makefile
gtk/Makefile
gtk/makefile.mingw
gtk/makefile.msc
gtk/gtkversion.h
gtk/gtk-win32.rc

View File

@@ -1,6 +1,6 @@
2002-08-06 jacob berkman <jacob@ximian.com>
* Makefile.am (lib_LTLIBRARIES): link against xlibs
* Makefile.am (lib_LTLIBRARIES): link against xlib (bug #83442)
2002-01-25 Federico Mena Quintero <federico@ximian.com>

View File

@@ -4,8 +4,6 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
@GDK_PIXBUF_XLIB_DEP_CFLAGS@ \
@STRIP_END@

View File

@@ -6,8 +6,8 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
@GTK_DEBUG_FLAGS@ \
@GTK_DEP_CFLAGS@ \
@@ -35,14 +35,14 @@ noinst_PROGRAMS = \
if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$$topdir/gdk-pixbuf/gdk-pixbuf.loaders $$topdir/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource=GDK_PIXBUF_MODULEDIR=$$topdir/gdk-pixbuf/.libs $$topdir/gdk-pixbuf/gdk-pixbuf-csource
endif
test-inline-pixbufs.h: $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders apple-red.png gnome-foot.png
test-inline-pixbufs.h: $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource apple-red.png gnome-foot.png
(topdir=`cd $(top_builddir) && pwd` ; curdir=`pwd` ; \
cd $(srcdir) && \
$(pixbuf_csource) --build-list \
apple_red apple-red.png gnome_foot gnome-foot.png >$$curdir/test-inline-pixbufs.h || (rm -f $$curdir/test-inline-pixbufs.h && false))
apple_red apple-red.png gnome_foot gnome-foot.png >$$curdir/test-inline-pixbufs.h)
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)

View File

@@ -7,7 +7,6 @@ democodedir=$(datadir)/gtk-2.0/demo
demos = @STRIP_BEGIN@ \
appwindow.c \
button_box.c \
changedisplay.c \
colorsel.c \
dialog.c \
drawingarea.c \
@@ -29,8 +28,8 @@ INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
@GTK_DEBUG_FLAGS@ \
@GTK_DEP_CFLAGS@ \

View File

@@ -24,7 +24,7 @@ menuitem_cb (gpointer callback_data,
gtk_item_factory_path_from_widget (widget));
/* Close dialog on user response */
g_signal_connect (dialog,
g_signal_connect (G_OBJECT (dialog),
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
@@ -73,7 +73,7 @@ toolbar_cb (GtkWidget *button,
"You selected a toolbar button");
/* Close dialog on user response */
g_signal_connect (dialog,
g_signal_connect (G_OBJECT (dialog),
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
@@ -137,14 +137,14 @@ register_stock_icons (void)
icon_set = gtk_icon_set_new_from_pixbuf (transparent);
gtk_icon_factory_add (factory, "demo-gtk-logo", icon_set);
gtk_icon_set_unref (icon_set);
g_object_unref (pixbuf);
g_object_unref (transparent);
g_object_unref (G_OBJECT (pixbuf));
g_object_unref (G_OBJECT (transparent));
}
else
g_warning ("failed to load GTK logo for toolbar");
/* Drop our reference to the factory, GTK will hold a reference. */
g_object_unref (factory);
g_object_unref (G_OBJECT (factory));
}
}
@@ -208,7 +208,7 @@ do_appwindow (void)
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
/* NULL window variable when window is closed */
g_signal_connect (window, "destroy",
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);

View File

@@ -1,627 +0,0 @@
/* Change Display
*
* Demonstrates migrating a window between different displays and
* screens. A display is a mouse and keyboard with some number of
* associated monitors. A screen is a set of monitors grouped
* into a single physical work area. The neat thing about having
* multiple displays is that they can be on a completely separate
* computers, as long as there is a network connection to the
* computer where the application is running.
*
* Only some of the windowing systems where GTK+ runs have the
* concept of multiple displays and screens. (The X Window System
* is the main example.) Other windowing systems can only
* handle one keyboard and mouse, and combine all monitors into
* a single screen.
*
* This is a moderately complex example, and demonstrates:
*
* - Tracking the currently open displays and screens
*
* - Changing the screen for a window
*
* - Letting the user choose a window by clicking on it
*
* - Using GtkListStore and GtkTreeView
*
* - Using GtkDialog
*/
#include <string.h>
#include <gtk/gtk.h>
#include "demo-common.h"
/* The ChangeDisplayInfo structure corresponds to a toplevel window and
* holds pointers to widgets inside the toplevel window along with other
* information about the contents of the window.
* This is a common organizational structure in real applications.
*/
typedef struct _ChangeDisplayInfo ChangeDisplayInfo;
struct _ChangeDisplayInfo
{
GtkWidget *window;
GtkSizeGroup *size_group;
GtkTreeModel *display_model;
GtkTreeModel *screen_model;
GtkTreeSelection *screen_selection;
GdkDisplay *current_display;
GdkScreen *current_screen;
};
/* These enumerations provide symbolic names for the columns
* in the two GtkListStore models.
*/
enum
{
DISPLAY_COLUMN_NAME,
DISPLAY_COLUMN_DISPLAY,
DISPLAY_NUM_COLUMNS
};
enum
{
SCREEN_COLUMN_NUMBER,
SCREEN_COLUMN_SCREEN,
SCREEN_NUM_COLUMNS
};
/* Finds the toplevel window under the mouse pointer, if any.
*/
static GtkWidget *
find_toplevel_at_pointer (GdkDisplay *display)
{
GdkWindow *pointer_window;
GtkWidget *widget = NULL;
pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL);
/* The user data field of a GdkWindow is used to store a pointer
* to the widget that created it.
*/
if (pointer_window)
gdk_window_get_user_data (pointer_window, (gpointer*) &widget);
return widget ? gtk_widget_get_toplevel (widget) : NULL;
}
static gboolean
button_release_event_cb (GtkWidget *widget,
GdkEventButton *event,
gboolean *clicked)
{
*clicked = TRUE;
return TRUE;
}
/* Asks the user to click on a window, then waits for them click
* the mouse. When the mouse is released, returns the toplevel
* window under the pointer, or NULL, if there is none.
*/
static GtkWidget *
query_for_toplevel (GdkScreen *screen,
const char *prompt)
{
GdkDisplay *display = gdk_screen_get_display (screen);
GtkWidget *popup, *label, *frame;
GdkCursor *cursor;
GtkWidget *toplevel = NULL;
popup = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_screen (GTK_WINDOW (popup), screen);
gtk_window_set_modal (GTK_WINDOW (popup), TRUE);
gtk_window_set_position (GTK_WINDOW (popup), GTK_WIN_POS_CENTER);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
gtk_container_add (GTK_CONTAINER (popup), frame);
label = gtk_label_new (prompt);
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show_all (popup);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
if (gdk_pointer_grab (popup->window, FALSE,
GDK_BUTTON_RELEASE_MASK,
NULL,
cursor,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
{
gboolean clicked = FALSE;
g_signal_connect (popup, "button-release-event",
G_CALLBACK (button_release_event_cb), &clicked);
/* Process events until clicked is set by button_release_event_cb.
* We pass in may_block=TRUE since we want to wait if there
* are no events currently.
*/
while (!clicked)
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
if (toplevel == popup)
toplevel = NULL;
}
gdk_cursor_unref (cursor);
gtk_widget_destroy (popup);
gdk_flush (); /* Really release the grab */
return toplevel;
}
/* Prompts the user for a toplevel window to move, and then moves
* that window to the currently selected display
*/
static void
query_change_display (ChangeDisplayInfo *info)
{
GdkScreen *screen = gtk_widget_get_screen (info->window);
GtkWidget *toplevel;
toplevel = query_for_toplevel (screen,
"Please select the toplevel\n"
"to move to the new screen");
if (toplevel)
gtk_window_set_screen (GTK_WINDOW (toplevel), info->current_screen);
else
gdk_display_beep (gdk_screen_get_display (screen));
}
/* Fills in the screen list based on the current display
*/
static void
fill_screens (ChangeDisplayInfo *info)
{
gtk_list_store_clear (GTK_LIST_STORE (info->screen_model));
if (info->current_display)
{
gint n_screens = gdk_display_get_n_screens (info->current_display);
gint i;
for (i = 0; i < n_screens; i++)
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
SCREEN_COLUMN_SCREEN, screen,
-1);
if (i == 0)
gtk_tree_selection_select_iter (info->screen_selection, &iter);
}
}
}
/* Called when the user clicks on a button in our dialog or
* closes the dialog through the window manager. Unless the
* "Change" button was clicked, we destroy the dialog.
*/
static void
response_cb (GtkDialog *dialog,
gint response_id,
ChangeDisplayInfo *info)
{
if (response_id == GTK_RESPONSE_OK)
query_change_display (info);
else
gtk_widget_destroy (GTK_WIDGET (dialog));
}
/* Called when the user clicks on "Open..." in the display
* frame. Prompts for a new display, and then opens a connection
* to that display.
*/
static void
open_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
{
GtkWidget *dialog;
GtkWidget *display_entry;
GtkWidget *dialog_label;
gchar *new_screen_name = NULL;
GdkDisplay *result = NULL;
dialog = gtk_dialog_new_with_buttons ("Open Display",
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
display_entry = gtk_entry_new ();
gtk_entry_set_activates_default (GTK_ENTRY (display_entry), TRUE);
dialog_label =
gtk_label_new ("Please enter the name of\nthe new display\n");
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), dialog_label);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), display_entry);
gtk_widget_grab_focus (display_entry);
gtk_widget_show_all (GTK_BIN (dialog)->child);
while (!result)
{
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
if (response_id != GTK_RESPONSE_OK)
break;
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
0, -1);
if (strcmp (new_screen_name, "") != 0)
{
result = gdk_display_open (new_screen_name);
if (!result)
{
gchar *error_msg =
g_strdup_printf ("Can't open display :\n\t%s\nplease try another one\n",
new_screen_name);
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
g_free (error_msg);
}
g_free (new_screen_name);
}
}
gtk_widget_destroy (dialog);
}
/* Called when the user clicks on the "Close" button in the
* "Display" frame. Closes the selected display.
*/
static void
close_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
{
if (info->current_display)
gdk_display_close (info->current_display);
}
/* Called when the selected row in the display list changes.
* Updates info->current_display, then refills the list of
* screens.
*/
static void
display_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
DISPLAY_COLUMN_DISPLAY, &info->current_display,
-1);
else
info->current_display = NULL;
fill_screens (info);
}
/* Called when the selected row in the sceen list changes.
* Updates info->current_screen.
*/
static void
screen_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
SCREEN_COLUMN_SCREEN, &info->current_screen,
-1);
else
info->current_screen = NULL;
}
/* This function is used both for creating the "Display" and
* "Screen" frames, since they have a similar structure. The
* caller hooks up the right context for the value returned
* in tree_view, and packs any relevant buttons into button_vbox.
*/
static void
create_frame (ChangeDisplayInfo *info,
const char *title,
GtkWidget **frame,
GtkWidget **tree_view,
GtkWidget **button_vbox)
{
GtkTreeSelection *selection;
GtkWidget *scrollwin;
GtkWidget *hbox;
*frame = gtk_frame_new (title);
hbox = gtk_hbox_new (FALSE, 8);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_container_add (GTK_CONTAINER (*frame), hbox);
scrollwin = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin),
GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), scrollwin, TRUE, TRUE, 0);
*tree_view = gtk_tree_view_new ();
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (*tree_view), FALSE);
gtk_container_add (GTK_CONTAINER (scrollwin), *tree_view);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (*tree_view));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
*button_vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (hbox), *button_vbox, FALSE, FALSE, 0);
if (!info->size_group)
info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (GTK_SIZE_GROUP (info->size_group), *button_vbox);
}
/* If we have a stack of buttons, it often looks better if their contents
* are left-aligned, rather than centered. This function creates a button
* and left-aligns it contents.
*/
GtkWidget *
left_align_button_new (const char *label)
{
GtkWidget *button = gtk_button_new_with_mnemonic (label);
GtkWidget *child = gtk_bin_get_child (GTK_BIN (button));
gtk_misc_set_alignment (GTK_MISC (child), 0., 0.5);
return button;
}
/* Creates the "Display" frame in the main window.
*/
GtkWidget *
create_display_frame (ChangeDisplayInfo *info)
{
GtkWidget *frame;
GtkWidget *tree_view;
GtkWidget *button_vbox;
GtkTreeViewColumn *column;
GtkTreeSelection *selection;
GtkWidget *button;
create_frame (info, "Display", &frame, &tree_view, &button_vbox);
button = left_align_button_new ("_Open...");
g_signal_connect (button, "clicked", G_CALLBACK (open_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
button = left_align_button_new ("_Close");
g_signal_connect (button, "clicked", G_CALLBACK (close_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
info->display_model = (GtkTreeModel *)gtk_list_store_new (DISPLAY_NUM_COLUMNS,
G_TYPE_STRING,
GDK_TYPE_DISPLAY);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->display_model);
column = gtk_tree_view_column_new_with_attributes ("Name",
gtk_cell_renderer_text_new (),
"text", DISPLAY_COLUMN_NAME,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (selection, "changed",
G_CALLBACK (display_changed_cb), info);
return frame;
}
/* Creates the "Screen" frame in the main window.
*/
GtkWidget *
create_screen_frame (ChangeDisplayInfo *info)
{
GtkWidget *frame;
GtkWidget *tree_view;
GtkWidget *button_vbox;
GtkTreeViewColumn *column;
create_frame (info, "Screen", &frame, &tree_view, &button_vbox);
info->screen_model = (GtkTreeModel *)gtk_list_store_new (SCREEN_NUM_COLUMNS,
G_TYPE_INT,
GDK_TYPE_SCREEN);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->screen_model);
column = gtk_tree_view_column_new_with_attributes ("Number",
gtk_cell_renderer_text_new (),
"text", SCREEN_COLUMN_NUMBER,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
info->screen_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (info->screen_selection, "changed",
G_CALLBACK (screen_changed_cb), info);
return frame;
}
/* Called when one of the currently open displays is closed.
* Remove it from our list of displays.
*/
static void
display_closed_cb (GdkDisplay *display,
gboolean is_error,
ChangeDisplayInfo *info)
{
GtkTreeIter iter;
gboolean valid;
for (valid = gtk_tree_model_get_iter_first (info->display_model, &iter);
valid;
valid = gtk_tree_model_iter_next (info->display_model, &iter))
{
GdkDisplay *tmp_display;
gtk_tree_model_get (info->display_model, &iter,
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
if (tmp_display == display)
{
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
break;
}
}
}
/* Adds a new display to our list of displays, and connects
* to the "closed" signal so that we can remove it from the
* list of displays again.
*/
static void
add_display (ChangeDisplayInfo *info,
GdkDisplay *display)
{
const gchar *name = gdk_display_get_name (display);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
DISPLAY_COLUMN_NAME, name,
DISPLAY_COLUMN_DISPLAY, display,
-1);
g_signal_connect (display, "closed",
G_CALLBACK (display_closed_cb), info);
}
/* Called when a new display is opened
*/
static void
display_opened_cb (GdkDisplayManager *manager,
GdkDisplay *display,
ChangeDisplayInfo *info)
{
add_display (info, display);
}
/* Adds all currently open displays to our list of displays,
* and set up a signal connection so that we'll be notified
* when displays are opened in the future as well.
*/
static void
initialize_displays (ChangeDisplayInfo *info)
{
GdkDisplayManager *manager = gdk_display_manager_get ();
GSList *displays = gdk_display_manager_list_displays (manager);
GSList *tmp_list;
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
add_display (info, tmp_list->data);
g_slist_free (tmp_list);
g_signal_connect (manager, "display_opened",
G_CALLBACK (display_opened_cb), info);
}
/* Cleans up when the toplevel is destroyed; we remove the
* connections we use to track currently open displays, then
* free the ChangeDisplayInfo structure.
*/
static void
destroy_info (ChangeDisplayInfo *info)
{
GdkDisplayManager *manager = gdk_display_manager_get ();
GSList *displays = gdk_display_manager_list_displays (manager);
GSList *tmp_list;
g_signal_handlers_disconnect_by_func (manager,
display_opened_cb,
info);
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
g_signal_handlers_disconnect_by_func (tmp_list->data,
display_closed_cb,
info);
g_slist_free (tmp_list);
g_object_unref (info->size_group);
g_free (info);
}
static void
destroy_cb (GtkObject *object,
ChangeDisplayInfo **info)
{
destroy_info (*info);
*info = NULL;
}
/* Main entry point. If the dialog for this demo doesn't yet exist, creates
* it. Otherwise, destroys it.
*/
GtkWidget *
do_changedisplay (void)
{
static ChangeDisplayInfo *info = NULL;
if (!info)
{
GtkWidget *vbox;
GtkWidget *frame;
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
NULL, /* parent */
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
NULL);
gtk_window_set_default_size (GTK_WINDOW (info->window), 300, 400);
g_signal_connect (info->window, "response",
G_CALLBACK (response_cb), info);
g_signal_connect (info->window, "destroy",
G_CALLBACK (destroy_cb), &info);
vbox = gtk_vbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
TRUE, TRUE, 0);
frame = create_display_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
frame = create_screen_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
initialize_displays (info);
gtk_widget_show_all (info->window);
return info->window;
}
else
{
gtk_widget_destroy (info->window);
return NULL;
}
}

View File

@@ -12,27 +12,6 @@ static GtkWidget *da;
static GdkColor color;
static GtkWidget *frame;
/* Expose callback for the drawing area
*/
static gboolean
expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
if (widget->window)
{
GtkStyle *style;
style = gtk_widget_get_style (widget);
gdk_draw_rectangle (widget->window,
style->bg_gc[GTK_STATE_NORMAL],
TRUE,
event->area.x, event->area.y,
event->area.width, event->area.height);
}
return TRUE;
}
static void
change_color_callback (GtkWidget *button,
gpointer data)
@@ -97,12 +76,8 @@ do_colorsel (void)
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
g_signal_connect (da, "expose_event",
G_CALLBACK (expose_event_callback), NULL);
/* set a minimum size */
gtk_widget_set_size_request (da, 200, 200);
/* set the color */

View File

@@ -26,7 +26,7 @@ scribble_configure_event (GtkWidget *widget,
gpointer data)
{
if (pixmap)
g_object_unref (pixmap);
g_object_unref (G_OBJECT (pixmap));
pixmap = gdk_pixmap_new (widget->window,
widget->allocation.width,
@@ -209,8 +209,8 @@ checkerboard_expose (GtkWidget *da,
++xcount;
}
g_object_unref (gc1);
g_object_unref (gc2);
g_object_unref (G_OBJECT (gc1));
g_object_unref (G_OBJECT (gc2));
/* return TRUE because we've handled this event, so no
* further processing is required.

View File

@@ -201,7 +201,7 @@ add_columns (GtkTreeView *treeview)
/* number column */
renderer = gtk_cell_renderer_text_new ();
g_signal_connect (renderer, "edited",
g_signal_connect (G_OBJECT (renderer), "edited",
G_CALLBACK (cell_edited), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_NUMBER);
@@ -213,7 +213,7 @@ add_columns (GtkTreeView *treeview)
/* product column */
renderer = gtk_cell_renderer_text_new ();
g_signal_connect (renderer, "edited",
g_signal_connect (G_OBJECT (renderer), "edited",
G_CALLBACK (cell_edited), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_PRODUCT);
@@ -240,7 +240,7 @@ do_editable_cells (void)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Shopping list");
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
g_signal_connect (window, "destroy",
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
@@ -263,7 +263,7 @@ do_editable_cells (void)
/* create tree view */
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
g_object_unref (G_OBJECT (model));
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
GTK_SELECTION_SINGLE);
@@ -277,12 +277,12 @@ do_editable_cells (void)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
button = gtk_button_new_with_label ("Add item");
g_signal_connect (button, "clicked",
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (add_item), model);
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
button = gtk_button_new_with_label ("Remove item");
g_signal_connect (button, "clicked",
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (remove_item), treeview);
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);

View File

@@ -1,163 +0,0 @@
#!/usr/bin/perl -w
print <<EOT;
typedef GtkWidget *(*GDoDemoFunc) (void);
typedef struct _Demo Demo;
struct _Demo
{
gchar *title;
gchar *filename;
GDoDemoFunc func;
Demo *children;
};
EOT
for $file (@ARGV) {
my %demo;
($basename = $file) =~ s/\.c$//;
open INFO_FILE, $file or die "Cannot open '$file'\n";
$title = <INFO_FILE>;
$title =~ s@^\s*/\*\s*@@;
$title =~ s@\s*$@@;
close INFO_FILE;
print "GtkWidget *do_$basename (void);\n";
push @demos, {"title" => $title, "file" => $file,
"func" => "do_$basename"};
}
# generate a list of 'parent names'
foreach $href (@demos) {
if ($href->{"title"} =~ m|^([\w\s]+)/[\w\s]+$|) {
my $parent_name = $1;
my $do_next = 0;
# parent detected
if (defined @parents) {
foreach $foo (@parents) {
if ($foo eq $parent_name) {
$do_next = 1;
}
}
if ($do_next) {
next;
}
}
push @parents, $parent_name;
$tmp = (defined @child_arrays)?($#child_arrays + 1):0;
push @child_arrays, "child$tmp";
push @demos, {"title" => $parent_name, "file" => "NULL",
"func" => "NULL"};
}
}
if (defined @parents) {
$i = 0;
for ($i = 0; $i <= $#parents; $i++) {
$first = 1;
print "\nDemo ", $child_arrays[$i], "[] = {\n";
$j = 0;
for ($j = 0; $j <= $#demos; $j++) {
$href = $demos[$j];
if (!defined $demos[$j]) {
next;
}
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([\w\s]+)$|) {
if ($first) {
$first = 0;
} else {
print ",\n";
}
print qq ( { "$1", "$demos[$j]{file}", $demos[$j]{func}, NULL });
# hack ... ugly
$demos[$j]{"title"} = "foo";
}
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
}
}
# sort @demos
@demos_old = @demos;
@demos = sort {
$a->{"title"} cmp $b->{"title"};
} @demos_old;
# sort the child arrays
if (defined @child_arrays) {
for ($i = 0; $i <= $#child_arrays; $i++) {
@foo_old = @{$child_arrays[$i]};
@{$child_arrays[$i]} = sort {
$a->{"title"} cmp $b->{"title"};
} @foo_old;
}
}
# toplevel
print "\nDemo testgtk_demos[] = {\n";
$first = 1;
foreach $href (@demos) {
$handled = 0;
# ugly evil hack
if ($href->{title} eq "foo") {
next;
}
if ($first) {
$first = 0;
} else {
print ", \n";
}
if (defined @parents) {
for ($i = 0; $i <= $#parents; $i++) {
if ($parents[$i] eq $href->{title}) {
if ($href->{file} eq 'NULL') {
print qq ( { "$href->{title}", NULL, $href->{func}, $child_arrays[$i] });
} else {
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, $child_arrays[$i] });
}
$handled = 1;
last;
}
}
}
if ($handled) {
next;
}
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, NULL });
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
exit 0;

View File

@@ -165,7 +165,7 @@ progressive_timeout (gpointer data)
gtk_widget_show (dialog);
g_object_unref (pixbuf_loader);
g_object_unref (G_OBJECT (pixbuf_loader));
pixbuf_loader = NULL;
load_timeout = 0;
@@ -173,7 +173,7 @@ progressive_timeout (gpointer data)
return FALSE; /* uninstall the timeout */
}
g_object_unref (pixbuf_loader);
g_object_unref (G_OBJECT (pixbuf_loader));
pixbuf_loader = NULL;
}
}
@@ -227,16 +227,16 @@ progressive_timeout (gpointer data)
if (pixbuf_loader)
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
g_object_unref (pixbuf_loader);
g_object_unref (G_OBJECT (pixbuf_loader));
pixbuf_loader = NULL;
}
pixbuf_loader = gdk_pixbuf_loader_new ();
g_signal_connect (pixbuf_loader, "area_prepared",
g_signal_connect (G_OBJECT (pixbuf_loader), "area_prepared",
G_CALLBACK (progressive_prepared_callback), image);
g_signal_connect (pixbuf_loader, "area_updated",
g_signal_connect (G_OBJECT (pixbuf_loader), "area_updated",
G_CALLBACK (progressive_updated_callback), image);
}
@@ -272,7 +272,7 @@ cleanup_callback (GtkObject *object,
if (pixbuf_loader)
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
g_object_unref (pixbuf_loader);
g_object_unref (G_OBJECT (pixbuf_loader));
pixbuf_loader = NULL;
}
@@ -442,7 +442,7 @@ do_images (void)
button = gtk_toggle_button_new_with_mnemonic ("_Insensitive");
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "toggled",
g_signal_connect (G_OBJECT (button), "toggled",
G_CALLBACK (toggle_sensitivity_callback),
vbox);
}

View File

@@ -109,7 +109,7 @@ add_columns (GtkTreeView *treeview)
/* column for fixed toggles */
renderer = gtk_cell_renderer_toggle_new ();
g_signal_connect (renderer, "toggled",
g_signal_connect (G_OBJECT (renderer), "toggled",
G_CALLBACK (fixed_toggled), model);
column = gtk_tree_view_column_new_with_attributes ("Fixed?",
@@ -169,7 +169,7 @@ do_list_store (void)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "GtkListStore demo");
g_signal_connect (window, "destroy",
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
@@ -196,7 +196,7 @@ do_list_store (void)
gtk_tree_view_set_search_column (GTK_TREE_VIEW (treeview),
COLUMN_DESCRIPTION);
g_object_unref (model);
g_object_unref (G_OBJECT (model));
gtk_container_add (GTK_CONTAINER (sw), treeview);

View File

@@ -43,7 +43,7 @@ gchar *
demo_find_file (const char *base,
GError **err)
{
g_return_val_if_fail (err == NULL || *err == NULL, NULL);
g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
if (g_file_test (base, G_FILE_TEST_EXISTS))
return g_strdup (base);
@@ -722,7 +722,7 @@ create_tree (void)
cell = gtk_cell_renderer_text_new ();
g_object_set (cell,
g_object_set (G_OBJECT (cell),
"style", PANGO_STYLE_ITALIC,
NULL);
@@ -790,8 +790,8 @@ setup_default_icon (void)
list = g_list_append (list, transparent);
gtk_window_set_default_icon_list (list);
g_list_free (list);
g_object_unref (pixbuf);
g_object_unref (transparent);
g_object_unref (G_OBJECT (pixbuf));
g_object_unref (G_OBJECT (transparent));
}
}
@@ -811,7 +811,7 @@ main (int argc, char **argv)
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
G_FILE_TEST_EXISTS))
{
putenv ("GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders");
putenv ("GDK_PIXBUF_MODULEDIR=../../gdk-pixbuf");
putenv ("GTK_IM_MODULE_FILE=../../modules/input/gtk.immodules");
}
/* -- End of hack -- */

View File

@@ -252,7 +252,7 @@ do_pixbufs (void)
gtk_container_add (GTK_CONTAINER (window), da);
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
timeout_id = gtk_timeout_add (FRAME_DELAY, timeout, NULL);
}
}

View File

@@ -34,7 +34,7 @@ stock_item_info_free (StockItemInfo *info)
g_free (info->macro);
g_free (info->accel_str);
if (info->small_icon)
g_object_unref (info->small_icon);
g_object_unref (G_OBJECT (info->small_icon));
g_free (info);
}
@@ -53,7 +53,7 @@ stock_item_info_copy (StockItemInfo *src)
info->small_icon = src->small_icon;
if (info->small_icon)
g_object_ref (info->small_icon);
g_object_ref (G_OBJECT (info->small_icon));
return info;
}
@@ -121,7 +121,7 @@ create_model (void)
GSList *ids;
GSList *tmp_list;
store = gtk_list_store_new (2, STOCK_ITEM_INFO_TYPE, G_TYPE_STRING);
store = gtk_list_store_new (1, STOCK_ITEM_INFO_TYPE);
ids = gtk_stock_list_ids ();
ids = g_slist_sort (ids, (GCompareFunc) strcmp);
@@ -190,7 +190,7 @@ create_model (void)
w, h,
GDK_INTERP_BILINEAR);
g_object_unref (info.small_icon);
g_object_unref (G_OBJECT (info.small_icon));
info.small_icon = scaled;
}
}
@@ -210,12 +210,12 @@ create_model (void)
info.macro = id_to_macro (info.id);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, &info, 1, info.id, -1);
gtk_list_store_set (store, &iter, 0, &info, -1);
g_free (info.macro);
g_free (info.accel_str);
if (info.small_icon)
g_object_unref (info.small_icon);
g_object_unref (G_OBJECT (info.small_icon));
tmp_list = g_slist_next (tmp_list);
}
@@ -339,6 +339,26 @@ macro_set_func_text (GtkTreeViewColumn *tree_column,
stock_item_info_free (info);
}
static void
macro_set_func_pixbuf (GtkTreeViewColumn *tree_column,
GtkCellRenderer *cell,
GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
StockItemInfo *info;
gtk_tree_model_get (model, iter,
0, &info,
-1);
g_object_set (GTK_CELL_RENDERER (cell),
"pixbuf", info->small_icon,
NULL);
stock_item_info_free (info);
}
static void
id_set_func (GtkTreeViewColumn *tree_column,
GtkCellRenderer *cell,
@@ -436,7 +456,7 @@ do_stock_browser (void)
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
g_object_unref (G_OBJECT (model));
gtk_container_add (GTK_CONTAINER (sw), treeview);
@@ -447,8 +467,8 @@ do_stock_browser (void)
gtk_tree_view_column_pack_start (column,
cell_renderer,
FALSE);
gtk_tree_view_column_set_attributes (column, cell_renderer,
"stock_id", 1, NULL);
gtk_tree_view_column_set_cell_data_func (column, cell_renderer,
macro_set_func_pixbuf, NULL, NULL);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column,
cell_renderer,
@@ -460,6 +480,7 @@ do_stock_browser (void)
column);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
-1,
"Label",
@@ -468,7 +489,6 @@ do_stock_browser (void)
NULL,
NULL);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
-1,
"Accel",
@@ -477,7 +497,6 @@ do_stock_browser (void)
NULL,
NULL);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
-1,
"ID",
@@ -524,7 +543,7 @@ do_stock_browser (void)
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
g_signal_connect (selection,
g_signal_connect (G_OBJECT (selection),
"changed",
G_CALLBACK (selection_changed),
NULL);

View File

@@ -84,7 +84,7 @@ create_tags (GtkTextBuffer *buffer)
gtk_text_buffer_create_tag (buffer, "foreground_stipple",
"foreground_stipple", stipple, NULL);
g_object_unref (stipple);
g_object_unref (G_OBJECT (stipple));
gtk_text_buffer_create_tag (buffer, "big_gap_before_line",
"pixels_above_lines", 30, NULL);
@@ -174,7 +174,7 @@ insert_text (GtkTextBuffer *buffer)
}
scaled = gdk_pixbuf_scale_simple (pixbuf, 32, 32, GDK_INTERP_BILINEAR);
g_object_unref (pixbuf);
g_object_unref (G_OBJECT (pixbuf));
pixbuf = scaled;
/* get start of buffer; each insertion will revalidate the
@@ -332,10 +332,10 @@ insert_text (GtkTextBuffer *buffer)
"heading", NULL);
gtk_text_buffer_insert (buffer, &iter,
"You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek (\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew \327\251\327\234\327\225\327\235\nJapanese (\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n", -1);
"You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch Süd) Grüß Gott\nGreek (Ελληνικά) Γειά σας\nHebrew שלום\nJapanese (日本語)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n", -1);
gtk_text_buffer_insert (buffer, &iter, "Here's a word-wrapped quote in a right-to-left language:\n", -1);
gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "\331\210\331\202\330\257 \330\250\330\257\330\243 \330\253\331\204\330\247\330\253 \331\205\331\206 \330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \330\252\331\202\330\257\331\205\330\247 \331\201\331\212 \330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 \330\250\330\261\330\247\331\205\330\254\331\207\330\247 \331\203\331\205\331\206\330\270\331\205\330\247\330\252 \331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 \330\253\331\205 \330\252\330\255\331\210\331\204\330\252 \331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 \330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 \330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 \331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 \331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 \331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 \330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 \330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 \331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 \331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 \330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 \330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 \330\243\331\203\330\253\330\261 \331\207\330\260\331\207 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \331\206\330\254\330\247\330\255\330\247 \331\207\331\210 \302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 \331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n", -1,
gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "وقد بدأ ثلاث من أكثر المؤسسات تقدما في شبكة اكسيون برامجها كمنظمات لا تسعى للربح، ثم تحولت في السنوات الخمس الماضية إلى مؤسسات مالية منظمة، وباتت جزءا من النظام المالي في بلدانها، ولكنها تتخصص في خدمة قطاع المشروعات الصغيرة. وأحد أكثر هذه المؤسسات نجاحا هو »بانكوسول« في بوليفيا.\n\n", -1,
"rtl_quote", NULL);
gtk_text_buffer_insert (buffer, &iter, "You can put widgets in the buffer: Here's a button: ", -1);
@@ -356,7 +356,7 @@ insert_text (GtkTextBuffer *buffer)
gtk_text_buffer_get_bounds (buffer, &start, &end);
gtk_text_buffer_apply_tag_by_name (buffer, "word_wrap", &start, &end);
g_object_unref (pixbuf);
g_object_unref (G_OBJECT (pixbuf));
}
static gboolean
@@ -393,7 +393,7 @@ attach_widgets (GtkTextView *text_view)
{
widget = gtk_button_new_with_label ("Click Me");
g_signal_connect (widget, "clicked",
g_signal_connect (G_OBJECT (widget), "clicked",
G_CALLBACK (easter_egg_callback),
NULL);
}
@@ -583,7 +583,7 @@ easter_egg_callback (GtkWidget *button,
recursive_attach_view (0, GTK_TEXT_VIEW (view), anchor);
g_object_unref (buffer);
g_object_unref (G_OBJECT (buffer));
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
sw = gtk_scrolled_window_new (NULL, NULL);

View File

@@ -261,7 +261,7 @@ add_columns (GtkTreeView *treeview)
/* column for holiday names */
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Holiday",
@@ -273,11 +273,11 @@ add_columns (GtkTreeView *treeview)
/* alex column */
renderer = gtk_cell_renderer_toggle_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)ALEX_COLUMN);
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Alex",
renderer,
@@ -296,11 +296,11 @@ add_columns (GtkTreeView *treeview)
/* havoc column */
renderer = gtk_cell_renderer_toggle_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)HAVOC_COLUMN);
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Havoc",
renderer,
@@ -318,11 +318,11 @@ add_columns (GtkTreeView *treeview)
/* tim column */
renderer = gtk_cell_renderer_toggle_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)TIM_COLUMN);
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Tim",
renderer,
@@ -341,11 +341,11 @@ add_columns (GtkTreeView *treeview)
/* owen column */
renderer = gtk_cell_renderer_toggle_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)OWEN_COLUMN);
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Owen",
renderer,
@@ -363,11 +363,11 @@ add_columns (GtkTreeView *treeview)
/* dave column */
renderer = gtk_cell_renderer_toggle_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)DAVE_COLUMN);
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (item_toggled),
model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Dave",
renderer,
@@ -397,7 +397,7 @@ do_tree_store (void)
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet");
g_signal_connect (window, "destroy",
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 8);
@@ -421,7 +421,7 @@ do_tree_store (void)
/* create tree view */
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
g_object_unref (G_OBJECT (model));
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
GTK_SELECTION_MULTIPLE);
@@ -431,7 +431,7 @@ do_tree_store (void)
gtk_container_add (GTK_CONTAINER (sw), treeview);
/* expand all rows after the treeview widget has been realized */
g_signal_connect (treeview, "realize",
g_signal_connect (G_OBJECT (treeview), "realize",
G_CALLBACK (gtk_tree_view_expand_all), NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
}

View File

@@ -187,7 +187,7 @@ static guint timeout_id;
static void
destroy_cb (GtkObject *object, gpointer data)
{
g_source_remove (timeout_id);
gtk_timeout_remove (timeout_id);
timeout_id = 0;
gtk_main_quit ();
@@ -225,7 +225,7 @@ main (int argc, char **argv)
gtk_container_add (GTK_CONTAINER (window), da);
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
timeout_id = gtk_timeout_add (FRAME_DELAY, timeout, NULL);
gtk_widget_show_all (window);
gtk_main ();

View File

@@ -12,8 +12,8 @@ file_exists (const char *filename)
}
void
pixbuf_init (void)
pixbuf_init ()
{
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
putenv ("GDK_PIXBUF_MODULE_FILE=../gdk-pixbuf/gdk-pixbuf.loaders");
putenv ("GDK_PIXBUF_MODULEDIR=../gdk-pixbuf");
}

View File

@@ -53,7 +53,7 @@ destroy_context (gpointer data)
if (lc->pixbuf_loader)
{
gdk_pixbuf_loader_close (lc->pixbuf_loader, NULL);
g_object_unref (lc->pixbuf_loader);
g_object_unref (G_OBJECT (lc->pixbuf_loader));
}
g_free (lc);
@@ -230,7 +230,7 @@ progressive_timeout (gpointer data)
gtk_widget_show (dialog);
g_object_unref (lc->pixbuf_loader);
g_object_unref (G_OBJECT (lc->pixbuf_loader));
lc->pixbuf_loader = NULL;
lc->load_timeout = 0;
@@ -238,7 +238,7 @@ progressive_timeout (gpointer data)
return FALSE; /* uninstall the timeout */
}
g_object_unref (lc->pixbuf_loader);
g_object_unref (G_OBJECT (lc->pixbuf_loader));
lc->pixbuf_loader = NULL;
}
}
@@ -271,7 +271,7 @@ progressive_timeout (gpointer data)
if (lc->pixbuf_loader)
{
gdk_pixbuf_loader_close (lc->pixbuf_loader, NULL);
g_object_unref (lc->pixbuf_loader);
g_object_unref (G_OBJECT (lc->pixbuf_loader));
lc->pixbuf_loader = NULL;
}
@@ -357,12 +357,6 @@ do_image (const char *filename)
start_progressive_loading (image);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (window, "delete_event",
G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
return window;
@@ -411,12 +405,6 @@ do_nonprogressive (const gchar *filename)
image = gtk_image_new_from_file (filename);
gtk_container_add (GTK_CONTAINER (frame), image);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (window, "delete_event",
G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
}
@@ -442,3 +430,4 @@ main (int argc,
return 0;
}

View File

@@ -1,392 +0,0 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <gtk/gtk.h>
#include <demos.h>
static GtkTextBuffer *info_buffer;
static GtkTextBuffer *source_buffer;
static gchar *current_file = NULL;
enum {
TITLE_COLUMN,
FILENAME_COLUMN,
FUNC_COLUMN,
ITALIC_COLUMN,
NUM_COLUMNS
};
gboolean
read_line (FILE *stream, GString *str)
{
int n_read = 0;
flockfile (stream);
g_string_truncate (str, 0);
while (1)
{
int c;
c = getc_unlocked (stream);
if (c == EOF)
goto done;
else
n_read++;
switch (c)
{
case '\r':
case '\n':
{
int next_c = getc_unlocked (stream);
if (!(next_c == EOF ||
(c == '\r' && next_c == '\n') ||
(c == '\n' && next_c == '\r')))
ungetc (next_c, stream);
goto done;
}
default:
g_string_append_c (str, c);
}
}
done:
funlockfile (stream);
return n_read > 0;
}
void
load_file (const gchar *filename)
{
FILE *file;
GtkTextIter start, end;
GString *buffer = g_string_new (NULL);
int state = 0;
gboolean in_para = 0;
if (current_file && !strcmp (current_file, filename))
return;
g_free (current_file);
current_file = g_strdup (filename);
gtk_text_buffer_get_bounds (info_buffer, &start, &end);
gtk_text_buffer_delete (info_buffer, &start, &end);
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_delete (source_buffer, &start, &end);
file = fopen (filename, "r");
if (!file)
{
g_warning ("Cannot open %s: %s\n", filename, g_strerror (errno));
return;
}
gtk_text_buffer_get_iter_at_offset (info_buffer, &start, 0);
while (read_line (file, buffer))
{
gchar *p = buffer->str;
gchar *q;
switch (state)
{
case 0:
/* Reading title */
while (*p == '/' || *p == '*' || isspace (*p))
p++;
q = p + strlen (p);
while (q > p && isspace (*(q - 1)))
q--;
if (q > p)
{
int len_chars = g_utf8_pointer_to_offset (p, q);
end = start;
g_assert (strlen (p) >= q - p);
gtk_text_buffer_insert (info_buffer, &end, p, q - p);
start = end;
gtk_text_iter_backward_chars (&start, len_chars);
gtk_text_buffer_apply_tag_by_name (info_buffer, "title", &start, &end);
start = end;
state++;
}
break;
case 1:
/* Reading body of info section */
while (isspace (*p))
p++;
if (*p == '*' && *(p + 1) == '/')
{
gtk_text_buffer_get_iter_at_offset (source_buffer, &start, 0);
state++;
}
else
{
int len;
while (*p == '*' || isspace (*p))
p++;
len = strlen (p);
while (isspace (*(p + len - 1)))
len--;
if (len > 0)
{
if (in_para)
gtk_text_buffer_insert (info_buffer, &start, " ", 1);
g_assert (strlen (p) >= len);
gtk_text_buffer_insert (info_buffer, &start, p, len);
in_para = 1;
}
else
{
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
in_para = 0;
}
}
break;
case 2:
/* Skipping blank lines */
while (isspace (*p))
p++;
if (*p)
{
p = buffer->str;
state++;
/* Fall through */
}
else
break;
case 3:
/* Reading program body */
gtk_text_buffer_insert (source_buffer, &start, p, -1);
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
break;
}
}
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_apply_tag_by_name (info_buffer, "source", &start, &end);
}
gboolean
button_press_event_cb (GtkTreeView *tree_view,
GdkEventButton *event,
GtkTreeModel *model)
{
if (event->type == GDK_2BUTTON_PRESS)
{
GtkTreePath *path = NULL;
gtk_tree_view_get_path_at_pos (tree_view,
event->window,
event->x,
event->y,
&path,
NULL);
if (path)
{
GtkTreeIter iter;
gboolean italic;
GVoidFunc func;
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_store_get (GTK_TREE_STORE (model),
&iter,
FUNC_COLUMN, &func,
ITALIC_COLUMN, &italic,
-1);
(func) ();
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
ITALIC_COLUMN, !italic,
-1);
gtk_tree_path_free (path);
}
gtk_signal_emit_stop_by_name (GTK_OBJECT (tree_view),
"button_press_event");
return TRUE;
}
return FALSE;
}
static void
selection_cb (GtkTreeSelection *selection,
GtkTreeModel *model)
{
GtkTreeIter iter;
GValue value = {0, };
if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
return;
gtk_tree_model_get_value (model, &iter,
FILENAME_COLUMN,
&value);
load_file (g_value_get_string (&value));
g_value_unset (&value);
}
static GtkWidget *
create_text (GtkTextBuffer **buffer,
gboolean is_source)
{
GtkWidget *scrolled_window;
GtkWidget *text_view;
PangoFontDescription *font_desc;
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_SHADOW_IN);
text_view = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
*buffer = gtk_text_buffer_new (NULL);
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), *buffer);
gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (text_view), FALSE);
if (is_source)
{
font_desc = pango_font_description_from_string ("Courier 10");
gtk_widget_modify_font (text_view, font_desc);
pango_font_description_free (font_desc);
}
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), !is_source);
return scrolled_window;
}
/* Technically a list, but if we do go to 80 demos, we may want to move to a tree */
static GtkWidget *
create_tree (void)
{
GtkTreeSelection *selection;
GtkCellRenderer *cell;
GtkWidget *tree_view;
GtkTreeViewColumn *column;
GtkTreeStore *model;
GtkTreeIter iter;
gint i;
model = gtk_tree_store_new_with_types (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
gtk_tree_selection_set_type (GTK_TREE_SELECTION (selection),
GTK_TREE_SELECTION_SINGLE);
gtk_widget_set_usize (tree_view, 200, -1);
for (i=0; i < G_N_ELEMENTS (testgtk_demos); i++)
{
gtk_tree_store_append (GTK_TREE_STORE (model), &iter, NULL);
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
TITLE_COLUMN, testgtk_demos[i].title,
FILENAME_COLUMN, testgtk_demos[i].filename,
FUNC_COLUMN, testgtk_demos[i].func,
ITALIC_COLUMN, FALSE,
-1);
}
cell = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Widget",
cell,
"text", TITLE_COLUMN,
"italic", ITALIC_COLUMN,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
gtk_signal_connect (GTK_OBJECT (selection), "selection_changed", selection_cb, model);
gtk_signal_connect (GTK_OBJECT (tree_view), "button_press_event", GTK_SIGNAL_FUNC (button_press_event_cb), model);
return tree_view;
}
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *notebook;
GtkWidget *hbox;
GtkWidget *tree;
GtkTextTag *tag;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
hbox = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);
tree = create_tree ();
gtk_box_pack_start (GTK_BOX (hbox), tree, FALSE, FALSE, 0);
notebook = gtk_notebook_new ();
gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&info_buffer, FALSE),
gtk_label_new ("Info"));
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&source_buffer, TRUE),
gtk_label_new ("Source"));
tag = gtk_text_buffer_create_tag (info_buffer, "title");
gtk_object_set (GTK_OBJECT (tag),
"font", "Sans 18",
NULL);
tag = gtk_text_buffer_create_tag (info_buffer, "source");
gtk_object_set (GTK_OBJECT (tag),
"font", "Courier 10",
"pixels_above_lines", 0,
"pixels_below_lines", 0,
NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
gtk_widget_show_all (window);
load_file (testgtk_demos[0].filename);
gtk_main ();
return 0;
}

View File

@@ -100,7 +100,7 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
g_error_free (err);
} else {
compare_pixbufs (pixbuf, compare, "jpeg");
g_object_unref (compare);
g_object_unref (G_OBJECT (compare));
}
}
@@ -126,7 +126,7 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
g_error_free (err);
} else {
compare_pixbufs (pixbuf, compare, "png");
g_object_unref (compare);
g_object_unref (G_OBJECT (compare));
}
}

View File

@@ -42,10 +42,10 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
interp_type, overall_alpha,
event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
gdk_draw_pixbuf (widget->window, widget->style->fg_gc[GTK_STATE_NORMAL], dest,
0, 0, event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
gdk_pixbuf_render_to_drawable (dest, widget->window, widget->style->fg_gc[GTK_STATE_NORMAL],
0, 0, event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
g_object_unref (dest);

View File

@@ -321,26 +321,16 @@ expose_func (GtkWidget *drawing_area, GdkEventExpose *event, gpointer data)
pixbuf = (GdkPixbuf *)g_object_get_data (G_OBJECT (drawing_area), "pixbuf");
if (gdk_pixbuf_get_has_alpha (pixbuf)) {
GdkPixbuf *dest;
gdk_window_set_back_pixmap (drawing_area->window, NULL, FALSE);
dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);
gdk_pixbuf_composite_color (pixbuf, dest,
0, 0, event->area.width, event->area.height,
-event->area.x, -event->area.y,
(double) drawing_area->allocation.width / gdk_pixbuf_get_width (pixbuf),
(double) drawing_area->allocation.height / gdk_pixbuf_get_height (pixbuf),
GDK_INTERP_BILINEAR, 255,
event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
gdk_draw_pixbuf (drawing_area->window, drawing_area->style->fg_gc[GTK_STATE_NORMAL], dest,
0, 0, event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
g_object_unref (dest);
gdk_draw_rgb_32_image (drawing_area->window,
drawing_area->style->black_gc,
event->area.x, event->area.y,
event->area.width,
event->area.height,
GDK_RGB_DITHER_MAX,
gdk_pixbuf_get_pixels (pixbuf)
+ (event->area.y * gdk_pixbuf_get_rowstride (pixbuf))
+ (event->area.x * gdk_pixbuf_get_n_channels (pixbuf)),
gdk_pixbuf_get_rowstride (pixbuf));
} else {
gdk_draw_rgb_image (drawing_area->window,
drawing_area->style->white_gc,
@@ -362,6 +352,8 @@ config_func (GtkWidget *drawing_area, GdkEventConfigure *event, gpointer data)
pixbuf = (GdkPixbuf *)g_object_get_data (G_OBJECT (drawing_area), "pixbuf");
g_print ("X:%d Y:%d\n", event->width, event->height);
#if 0
if (((event->width) != gdk_pixbuf_get_width (pixbuf)) ||
((event->height) != gdk_pixbuf_get_height (pixbuf)))
@@ -464,7 +456,7 @@ update_timeout (gpointer data)
/* ignoring errors, we should not do that. */
gdk_pixbuf_loader_close (GDK_PIXBUF_LOADER (status->loader), NULL);
gtk_widget_queue_draw (*status->rgbwin);
g_object_unref (status->loader);
g_object_unref (G_OBJECT (status->loader));
fclose (status->imagefile);
g_free (status->buf);
}
@@ -480,7 +472,6 @@ progressive_prepared_callback (GdkPixbufLoader* loader, gpointer data)
GdkPixbuf* pixbuf;
pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
g_assert (pixbuf != NULL);
g_object_ref (pixbuf); /* for the RGB window */
@@ -496,9 +487,12 @@ progressive_updated_callback (GdkPixbufLoader* loader, guint x, guint y, guint w
{
GtkWidget** window_loc = data;
/* g_print ("progressive_updated_callback:\n\t%d\t%d\t%d\t%d\n", x, y, width, height); */
if (*window_loc != NULL)
gtk_widget_queue_draw_area (*window_loc,
x, y, width, height);
return;
}
@@ -506,12 +500,6 @@ static int readlen = 4096;
extern void pixbuf_init ();
void size_func (GdkPixbufLoader *loader, gint width, gint height, gpointer data)
{
gdk_pixbuf_loader_set_size (loader, width*2, height*2);
}
int
main (int argc, char **argv)
{
@@ -599,7 +587,7 @@ main (int argc, char **argv)
found_valid = TRUE;
}
}
#if 1
#if 1
{
GtkWidget* rgb_window = NULL;
ProgressFileStatus status;
@@ -610,10 +598,6 @@ main (int argc, char **argv)
status.rgbwin = &rgb_window;
status.buf = g_malloc (readlen);
g_signal_connect (pixbuf_loader, "size_prepared",
G_CALLBACK (size_func), NULL);
g_signal_connect (pixbuf_loader, "area_prepared",
G_CALLBACK (progressive_prepared_callback),
&rgb_window);
@@ -626,7 +610,7 @@ main (int argc, char **argv)
status.readlen = readlen;
status.timeout = g_timeout_add (100, update_timeout, &status);
status.timeout = gtk_timeout_add (100, update_timeout, &status);
}
#endif
}

295
docs/Changes-1.2.txt Normal file
View File

@@ -0,0 +1,295 @@
DON'T EDIT THIS FILE - changes are now maintained in the reference
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
change to the manual, you should amend the docs for all
newly-deprecated features to point to the replacement for that
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
the header files. Be sure to add a note to the docs for EACH
deprecated function; don't just do the changes-*.sgml change.
Incompatible Changes from GTK+-1.0 to GTK+-1.2:
* GtkAcceleratorTable has been replaced with GtkAccelGroup
* GtkMenuFactory has been replaced with GtkItemFactory, although
a version of GtkMenuFactory is currently still provided to ease
the migration phase.
* The GtkTypeInfo structures used in the gtk_*_type_init() functions have
changed a bit, the old format:
GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
(GtkArgSetFunc) NULL,
(GtkArgGetFunc) NULL,
};
needs to be converted to:
static const GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
/* reserved_1 */ NULL,
/* reserved_2 */ NULL,
(GtkClassInitFunc) NULL,
};
the GtkArgSetFunc and GtkArgGetFunc functions are not supported from the
type system anymore, and you should make sure that your code only fills
in these fields with NULL and doesn't use the deprecated function typedefs
(GtkArgSetFunc) and (GtkArgGetFunc) anymore.
* A number of Gtk functions were renamed. For compatibility, gtkcompat.h
#define's the old 1.0.x function names in terms of the new names.
To assure your Gtk program doesn't rely on outdated function
variants, compile your program with -DGTK_DISABLE_COMPAT_H to disable
the compatibility aliases.
Here is the list of the old names and replacements:
Old: Replacement:
gtk_accel_label_accelerator_width gtk_accel_label_get_accel_width
gtk_check_menu_item_set_state gtk_check_menu_item_set_active
gtk_container_border_width gtk_container_set_border_width
gtk_label_set gtk_label_set_text
gtk_notebook_current_page gtk_notebook_get_current_page
gtk_packer_configure gtk_packer_set_child_packing
gtk_paned_gutter_size gtk_paned_set_gutter_size
gtk_paned_handle_size gtk_paned_set_handle_size
gtk_scale_value_width gtk_scale_get_value_width
gtk_style_apply_default_pixmap gtk_style_apply_default_background (1)
gtk_toggle_button_set_state gtk_toggle_button_set_active
gtk_window_position gtk_window_set_position
(1) gtk_style_apply_default_background() has an additional
argument, gboolean set_bg. This parameter should be FALSE if
the background is being set for a NO_WINDOW widget, otherwise
true.
* During the development phase of the 1.1.x line of Gtk certain functions
were deprecated and later removed. Functions affected are:
Removed: Replacement:
gtk_clist_set_border gtk_clist_set_shadow_type
gtk_container_block_resize gtk_container_set_resize_mode
gtk_container_unblock_resize gtk_container_set_resize_mode
gtk_container_need_resize gtk_container_check_resize
gtk_ctree_show_stub gtk_ctree_set_show_stub
gtk_ctree_set_reorderable gtk_clist_set_reorderable
gtk_ctree_set_use_drag_icons gtk_clist_set_use_drag_icons
gtk_entry_adjust_scroll (1)
gtk_object_class_add_user_signal gtk_object_class_user_signal_new
gtk_preview_put_row gtk_preview_put
gtk_progress_bar_construct gtk_progress_set_adjustment
gtk_scrolled_window_construct gtk_scrolled_window_set_{h|v}adjustment
gtk_spin_button_construct gtk_spin_button_configure
gtk_widget_thaw_accelerators gtk_widget_unlock_accelerators
gtk_widget_freeze_accelerators gtk_widget_lock_accelerators
(1) This function is no longer needed as GtkEntry should automatically
keep the scroll adjusted properly.
* Additionally, all gtk_*_interp functions were removed.
gtk_*_full versions were provided as of GTK+-1.0 and should
be used instead.
* GtkButton has been changed to derive from GtkBin.
To access a button's child, use GTK_BIN (button)->child, instead
of the old GTK_BUTTON (button)->child.
* The selection API has been slightly modified:
gtk_selection_add_handler() and gtk_selection_add_handler_full()
have been removed. To supply the selection, one now register
the targets one is interested in with:
void gtk_selection_add_target (GtkWidget *widget,
GdkAtom selection,
GdkAtom target,
guint info);
or:
void gtk_selection_add_targets (GtkWidget *widget,
GdkAtom selection,
GtkTargetEntry *targets,
guint ntargets);
When a request for a selection is received, the new "selection_get"
signal will be called:
void "selection_get" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint info,
guint time);
A "time" parameter has also been added to the "selection_received"
signal.
void "selection_received" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint time);
* The old drag and drop API has been completely removed and replaced.
See the reference documentation for details on the new API.
* Support for Themes has been added. In general, this does
not affect application code, however, a few new rules should
be observed:
- To set a shape for a window, you must use
gtk_widget_shape_combine_mask() instead of
gdk_window_shape_combine_mask(), or the shape will be
reset when switching themes.
- It is no longer permissable to draw directly on an arbitrary
widget, or to set an arbitrary widget's background pixmap.
If you need to do that, use a GtkDrawingArea or (for a
toplevel) the new GtkDrawWindow widget.
* The ScrolledWindow widget no longer creates a Viewport
automatically. Instead, it has been generalized to accept
any "self-scrolling" widget.
The self-scrolling widgets in the Gtk+ core are GtkViewport,
GtkCList, GtkCTree, GtkText, and GtkLayout. All of these widgets can
be added to a scrolled window as normal children with
gtk_container_add() and scrollbars will be set up automatically.
To add scrollbars to a non self-scrolling widget, (such as a GtkList),
first add it to a viewport, then add the viewport to a scrolled window.
The scrolled window code provides a convenience function to do this:
void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrollwin,
GtkWidget *child);
This does exactly what it says - it creates a Viewport, adds the child
widget to it, then adds the Viewport to the scrolled window.
The scrollbars have been removed from the GtkCList and GtkCTree,
because they are now scrolled by simply adding them to a Scrolled
Window. The scrollbar policy is set on the scrolled window with
gtk_scrolled_window_set_policy() and not on the child widgets
(e.g. GtkCList's gtk_clist_set_policy() was removed).
* The "main loop" of GTK+ has been moved to GLib. This should not
affect existing programs, since compatibility functions have
been provided. However, you may want to consider migrating
your code to use the GLib main loop directly.
* the GTK_BASIC flag was removed, and with it the corresponding
macro and function GTK_WIDGET_BASIC() and gtk_widget_basic().
* All freeze/thaw methods are now recursive - that is, if you
freeze a widget n times, you must also thaw it n times.
Therefore, if you have code like:
gboolean frozen;
frozen = GTK_CLIST_FROZEN (clist);
gtk_clist_freeze (clist);
[...]
if (!frozen)
gtk_clist_thaw (clist);
it will not work anymore. It must be, simply:
gtk_clist_freeze (clist);
[...]
gtk_clist_thaw (clist);
* The thread safety in GTK+ 1.2 is slightly different than
that which appeared in early versions in the 1.1
development track. The main difference is that it relies on
the thread primitives in GLib, and on the thread-safe
GLib main loop.
This means:
- You must call g_thread_init() before executing any
other GTK+ or GDK functions in a threaded GTK+ program.
- Idles, timeouts, and input functions are executed outside
of the main GTK+ lock. So, if you need to call GTK+
inside of such a callback, you must surround the callback
with a gdk_threads_enter()/gdk_threads_leave() pair.
[ However, signals are still executed within the main
GTK+ lock ]
In particular, this means, if you are writing widgets
that might be used in threaded programs, you _must_
surround timeouts and idle functions in this matter.
As always, you must also surround any calls to GTK+
not made within a signal handler with a
gdk_threads_enter()/gdk_threads_leave() pair.
- There is no longer a special --with-threads configure
option for GTK+. To use threads in a GTK+ program, you
must:
a) If you want to use the native thread implementation,
make sure GLib found this in configuration, otherwise,
call you must provide a thread implementation to
g_thread_init().
b) Link with the libraries returned by:
gtk-config --libs gthread
and use the cflags from:
gtk-config --cflags gthread
You can get these CFLAGS and LIBS by passing gthread
as the fourth parameter to the AM_PATH_GTK automake
macro.
* Prior to GTK+-1.2, there were two conflicting interpretations
of widget->requistion. It was either taken to be
the size that the widget requested, or that size
modified by calls to gtk_widget_set_usize(). In GTK+-1.2,
it is always interpreted the first way.
Container widgets are affected in two ways by this:
1) Container widgets should not pass widget->requisition
as the second parameter to gtk_widget_size_request().
Instead they should call it like:
GtkRequisition child_requisition;
gtk_widget_size_request (widget, &child_requisition);
2) Container widgets should not access child->requisition
directly. Either they should use the values returned
by gtk_widget_size_request(), or they should call
the new function:
void gtk_widget_get_child_requisition (GtkWidget *widget,
GtkRequisition *requisition);
which returns the requisition of the given widget, modified
by calls to gtk_widget_set_usize().
DON'T EDIT THIS FILE - changes are now maintained in the reference
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
change to the manual, you should amend the docs for all
newly-deprecated features to point to the replacement for that
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
the header files. Be sure to add a note to the docs for EACH
deprecated function; don't just do the changes-*.sgml change.

587
docs/Changes-2.0.txt Normal file
View File

@@ -0,0 +1,587 @@
DON'T EDIT THIS FILE - changes are now maintained in the reference
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
change to the manual, you should amend the docs for all
newly-deprecated features to point to the replacement for that
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
the header files. Be sure to add a note to the docs for EACH
deprecated function; don't just do the changes-*.sgml change.
Incompatible Changes from GTK+-1.2 to GTK+-2.0:
* gtk_container_get_toplevels() was removed and replaced with
gtk_window_list_toplevels(), which has different memory management
on the return value (gtk_window_list_toplevels() copies the GList
and also references each widget in the list, so you have to
g_list_free() the list after first unref'ing each list member).
* The gdk_time* functions have been removed. This functionality
has been unused since the main loop was moved into GLib
prior to 1.2.
* The signature for GtkPrintFunc (used for gtk_item_factory_dump_items)
has been changed to take a 'const gchar *' instead of 'gchar *', to
match what we do for glib, and other similar cases.
* The detail arguments in the GtkStyleClass structure are now 'const gchar *'.
* gtk_paned_set_gutter_size() has been removed, since the small handle tab
has been changed to include the entire area previously occupied by
the gutter.
* gtk_paned_set_handle_size() has been removed, in favor of a style property,
since this is an option that only makes sense for themes to adjust.
* GDK no longer selects OwnerGrabButtonMask for button presses. This means
that the automatic grab that occurs when the user presses a button
will have owner_events = FALSE, so all events are redirected to the
grab window, even events that would normally go to other windows of the
window's owner.
* GtkColorSelectionDialog has now been moved into it's own set of files,
gtkcolorseldialog.c and gtkcolorseldialog.h.
* gtk_widget_shape_combine_mask() now keeps a reference count on the
mask pixmap that is passed in.
* the GtkPatternSpec has been moved to glib as GPatternSpec, the pattern
arguments to gtk_item_factory_dump_items() and gtk_item_factory_dump_rc()
have thusly been changed to take a GPatternSpec instead of GtkPatternSpec.
* Type system changes:
- GTK_TYPE_OBJECT is not a fundamental type anymore. Type checks of the
style (GTK_FUNDAMENTAL_TYPE (some_type) == GTK_TYPE_OBJECT)
will not work anymore. As a replacement, (GTK_TYPE_IS_OBJECT (some_type))
can be used now.
- The following types vanished: GTK_TYPE_ARGS, GTK_TYPE_CALLBACK,
GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN. The corresponding GtkArg
fields and field access macros are also gone.
- The following type aliases vanished: GTK_TYPE_FLAT_FIRST,
GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST.
- The type macros GTK_TYPE_MAKE() and GTK_TYPE_SEQNO() vanished, use of
GTK_FUNDAMENTAL_TYPE() is discouraged. Instead, the corresponding GType
API should be used: G_TYPE_FUNDAMENTAL(), G_TYPE_DERIVE_ID(),
G_TYPE_BRANCH_SEQNO(). Note that the GLib type system doesn't build new
type ids based on a global incremental sequential number anymore, but
numbers new type ids sequentially per fundamental type branch.
- The following type functions vanished/were replaced:
Old Function Replacement
gtk_type_query() - being investigated -
gtk_type_set_varargs_type() -
gtk_type_get_varargs_type() -
gtk_type_check_object_cast() g_type_check_instance_cast()
gtk_type_check_class_cast() g_type_check_class_cast()
gtk_type_describe_tree() -
gtk_type_describe_heritage() -
gtk_type_free() -
gtk_type_children_types() g_type_children()
gtk_type_set_chunk_alloc() GTypeInfo.n_preallocs
gtk_type_register_enum() g_enum_register_static()
gtk_type_register_flags() g_flags_register_static()
gtk_type_parent_class() g_type_parent() / g_type_class_peek_parent()
Use of g_type_class_ref() / g_type_class_unref() and g_type_class_peek()
is recommended over usage of gtk_type_class().
Use of g_type_register_static() / g_type_register_dynamic() is recommended
over usage of gtk_type_unique().
* Object system changes:
GtkObject derives from GObject, so is not the basic object type anymore.
This imposes the following source incompatible changes:
- GtkObject has no klass field anymore, an object's class can be retrived
with the object's coresponding GTK_<OBJECT>_GET_CLASS (object) macro.
- GtkObjectClass has no type field anymore, a class's type can be retrived
with the GTK_CLASS_TYPE (class) macro.
- GtkObjectClass does not introduce the finalize() and shutdown() methods
anymore. While shutdown() is intended for GTK+ internal use only, finalize()
is required by a variety of object implementations. GObjectClass.finalize
should be overriden here, e.g.:
static void gtk_label_finalize (GObject *gobject)
{
GtkLabel *label = GTK_LABEL (gobject);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void gtk_label_class_init (GtkLabelClass *class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
gobject_class->finalize = gtk_label_finalize;
}
- the GtkObject::destroy signal can now be emitted multiple times on an object.
::destroy implementations should check that make sure that they take this
into account, by checking to make sure that resources are there before
freeing them. For example:
if (object->foo_data)
{
g_free (object->foo_data);
object->foo_data = NULL;
}
Also, ::destroy implementations have to release object references that
the object holds. Code in finalize implementations such as:
if (object->adjustment)
{
gtk_object_unref (object->adjustment);
object->adjustment = NULL;
}
have to be moved into the ::destroy implementations. The reason for doing
this is that all object reference cycles should be broken at destruction
time.
Because the ::destroy signal can be emitted multiple times, it no longer
makes sense to check if a widget has been destroyed using the
GTK_OBJECT_DESTROYED() macro, and this macro has been removed. If
catching destruction is still needed, it can be done with a signal
connection to ::destroy.
* Signal system changes:
The Gtk 2.0 signal merly proxies the GSignal system now.
For future usage, direct use of the GSignal API is recommended,
this avoids significant performance hits where GtkArg structures
have to be converted into GValues. For language bindings,
GSignal+GClosure provide a much more flexible and convenient
mechanism to hook into signal emissions or install class default
handlers, so the old GtkSignal API for language bindings is not
supported anymore.
Functions that got removed in the Gtk signal API:
gtk_signal_n_emissions(), gtk_signal_n_emissions_by_name(),
gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
gtk_signal_remove_emission_hook(), gtk_signal_query().
Also, the GtkCallbackMarshal argument to gtk_signal_connect_full() is
not supported anymore.
For many of the removed functions, similar variants are available
in the g_signal_* namespace.
The GSignal system perfomrs emissions in a slightly different manner than
the old GtkSignal code. Signal handlers that are connected to signal "foo"
on object "bar" while "foo" is being emitted, will not be called anymore
during the emission they were connected within.
* Inserting and deleting text in GtkEntry though functions such
as gtk_entry_insert_text() now leave the cursor at its original
position in the text instead of moving it to the location of
the insertion/deletion.
* The ->label field of GtkFrame widgets has been removed. (As part of
a change to allow the arbitrary widgets in the title position.) The
text can now be retrieved with the new function gtk_frame_get_text().
* The 'font' and 'font_set' declarations in RC files are now ignored. There
is a new 'font_name' field that holds the string form of a Pango font
* A number of types in GDK have become subclasses of GObject. For the
most part, this should not break anyone's code. However, it's now
possible/encouraged to use g_object_ref()/g_object_unref() and other
GObject features with these GDK types. The converted types are:
GdkWindow, GdkDrawable, GdkPixmap, GdkImage, GdkGC, GdkDragContext,
GdkColormap
* All drawables including pixmaps used to have a type tag, the
GdkWindowType enumeration, which included GDK_WINDOW_PIXMAP.
GdkWindowType is now a property of GdkWindow _only_, and there is
no GDK_WINDOW_PIXMAP. You can use the GDK_IS_PIXMAP() macro to see
if you have a pixmap, if you need to know that.
* GtkStyle and GtkRcStyle are now subclasses of GObject as well. This
requires fairly extensive changes to theme engines quite badly, but
shouldn't affect most other code.
* xthickness/ythickness have moved from GtkStyleClass to GtkStyle
(from class to instance). This gives themes a bit more flexibility
and is generally more of the Right Thing. You can trivially fix
your code with s/style->klass->xthickness/style->xthickness/g and
same for ythickness.
* Some GtkStyle draw_ methods have been removed (cross, oval, ramp)
and others have been added (expander, layout). This will require
changes to theme engines.
* If you were using private GDK types, they have been rearranged
significantly. You shouldn't use private types. ;-)
* The visual for a widget, and also the default visual is now derived
from the colormap for the widget and the default colormap.
gtk_widget_set_visual(), gtk_widget_set_default_visual(), gtk_widget_push_visual()
and gtk_widget_pop_visual() now do nothing. Since the visual always
had to match that of the colormap, it is safe to simply delete
all references to these functions.
* A number of functions in GDK have been renamed for consistency and
clarity. #defines to provide backwards compatibility have been
included, but can be disabled by defineing GDK_DISABLE_DEPRECATED.
#define gdk_draw_pixmap gdk_draw_drawable
#define gdk_draw_bitmap gdk_draw_drawable
#define gdk_window_get_size gdk_drawable_get_size
#define gdk_window_get_type gdk_window_get_window_type
#define gdk_window_get_colormap gdk_drawable_get_colormap
#define gdk_window_set_colormap gdk_drawable_set_colormap
#define gdk_window_get_visual gdk_drawable_get_visual
#define gdk_window_ref gdk_drawable_ref
#define gdk_window_unref gdk_drawable_unref
#define gdk_bitmap_ref gdk_drawable_ref
#define gdk_bitmap_unref gdk_drawable_unref
#define gdk_pixmap_ref gdk_drawable_ref
#define gdk_pixmap_unref gdk_drawable_unref
#define gdk_gc_destroy gdk_gc_unref
#define gdk_image_destroy gdk_image_unref
#define gdk_cursor_destroy gdk_cursor_unref
(Note that g_object_ref() and g_object_unref() may be used for all of
the above _ref and _unref functions.)
#define gdk_window_copy_area(drawable,gc,x,y,source_drawable,source_x,source_y,width,height) \
gdk_draw_pixmap(drawable,gc,source_drawable,source_x,source_y,x,y,width,height)
#define gdk_rgb_get_cmap gdk_rgb_get_colormap
gtk_widget_popup() was removed, it was only usable for GtkWindows, and
there the same effect can be achived by gtk_widget_set_uposition() and
gtk_widget_show().
* gdk_pixmap_foreign_new() no longer calls XFreePixmap() on the
pixmap when the GdkPixmap is finalized. This change corresponds
to the behavior of gdk_window_foreign_new(), and fixes a lot
of problems with code where the pixmap wasn't supposed to be
freed. If XFreePixmap() is needed, it can be done using the
destroy-notification facilities of g_object_set_data().
* GtkProgress/GtkProgressBar had serious problems in GTK 1.2.
- Only 3 or 4 functions are really needed for 95% of progress
interfaces; GtkProgress[Bar] had about 25 functions, and
didn't even include these 3 or 4.
- In activity mode, the API involves setting the adjustment
to any random value, just to have the side effect of
calling the progress bar update function - the adjustment
is totally ignored in activity mode
- You set the activity step as a pixel value, which means to
set the activity step you basically need to connect to
size_allocate
- There are ctree_set_expander_style()-functions, to randomly
change look-and-feel for no good reason
- The split between GtkProgress and GtkProgressBar makes no sense
to me whatsoever.
This was a big wart on GTK and made people waste lots of time,
both learning and using the interface.
So, we have added what we feel is the correct API, and marked all the
rest deprecated. However, the changes are 100% backward-compatible and
should break no existing code.
The following 5 functions are the new programming interface and you
should consider changing your code to use them:
void gtk_progress_bar_pulse (GtkProgressBar *pbar);
void gtk_progress_bar_set_text (GtkProgressBar *pbar,
const gchar *text);
void gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
gfloat fraction);
void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
gfloat fraction);
void gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
GtkProgressBarOrientation orientation);
* The GtkNotebookPage structure has been removed from the public header files;
this was never meant to be a public structure, and all functionality that
could be done by accessing the struct fields of this structure should be
accesible otherwise.
* GtkMenuPositionFunc has a new parameter push_in which controls how
menus placed outside the screen is handled. If this is set to true and
part of the menu is outside the screen then Gtk+ pushes it into the visible
area. Otherwise the menu is cut of at the end of the visible screen area.
Regardles of what happens to the size of the menu, the result is always
that the items are placed in the same place as if the menu was placed
outside the screen, using menu scrolling if necessary.
* The "draw" signal and virtual method on GtkWidget has been removed.
All drawing should now occur by invalidating a region of the widget
(call gdk_window_invalidate_rect() or gtk_widget_queue_draw() for
example to invalidate a region). GTK+ merges all invalid regions,
and sends expose events to the widget in an idle handler for the
invalid regions. gtk_widget_draw() is deprecated but still works; it
adds the passed-in area to the invalid region and immediately sends
expose events for the current invalid region.
Most widgets will work fine if you just delete their "draw"
implementation, since they will already have working expose_event
implementations. The draw method was rarely called in practice
anyway.
* The GdkExposeEvent has a new region field. This can be used instead
of the area field if you want a more exact representation of the
area to update.
* Sending synthetic exposes using gtk_widget_event is no longer allowed.
If you just need an expose call you should use gdk_window_invalidate_rect()
or gdk_window_invalidate_region() instead. For the case of container
widgets that need to propagate expose events to NO_WINDOW children
you can either use gtk_container_propagate_expose(), or chain to the
default container expose handler.
* The draw_default and draw_focus methods/signals on GtkWidget are
gone; simply draw things in your expose handler.
gtk_widget_draw_focus() and gtk_widget_draw_default() wrapper
functions are also gone; just queue a draw on the widget,
or the part affected by the focus/default anyway.
Also, GtkWidget now has default implementations for focus_in_event
and focus_out_event. These set/unset GTK_HAS_FOCUS, and queue a
draw. So if your focus in/out handler just does that, you can delete
it.
* GtkText and GtkTree are buggy and broken. We don't recommend using
them, and changing old code to avoid them is a good idea. The
recommended alternatives are GtkTextView and GtkTreeView. The
broken widgets are not declared in the headers by default; to use
them, define the symbol GTK_ENABLE_BROKEN during compilation. In
some future release, these widgets will be removed from GTK+.
* GdkColorContext is gone; you probably weren't using it anyway.
Use GdkColormap and the gdk_rgb_* functions instead.
* GtkMenuBar now draws the GtkContainer::border_width space outside
the frame, not inside the frame
* In GTK 1.2, if an event handler returned TRUE it prevented
propagation of that event to parent widgets. That is, the
event signal would not be emitted on parent widgets. In
GTK 2.0, if an event handler returns TRUE, the current signal
emission on the current widget is immediately stopped. That is,
other callbacks connected to the signal will not be invoked.
* gtk_toolbar_new() no longer has arguments. This function
was broken because the default GtkToolbarStyle (icons, text, both)
is now a user preference, which is overridden when you call
gtk_toolbar_set_style(). The constructor forced everyone to
override the preference, which was undesirable. So to port
your app, decide if you want to force the toolbar style
or conform to the user's global defaults; if you want to force
it, call gtk_toolbar_set_style().
The orientation arg was removed from toolbar_new() as well, just
because it wasn't very useful and we were breaking the function
anyway so had an opportunity to lose it. Call
gtk_toolbar_set_orientation() to set toolbar orientation.
* GtkRange/GtkScrollbar/GtkScale were rewritten; this means that most
theme engines won't draw them properly, and any custom subclasses of
these widgets will need a rewrite (though if you could figure out
how to subclass the old version of GtkRange, you have our
respect). Also, GtkTroughType is gone.
* The GtkContainer::focus signal/virtualfunction and
gtk_container_focus() call were replaced by
GtkWidget::focus and gtk_widget_child_focus().
The semantics are the same, so you should be able to just
replace "container_class->focus = mywidget_focus" with
"widget_class->focus = mywidget_focus" and replace
gtk_container_focus() calls with gtk_widget_child_focus() calls.
The purpose of this change was to allow non-containers to have
focusable elements.
* gtk_rc_set_image_loader() and gtk_rc_load_image() has been removed, now
that GTK+ includes decent image loading capabilities itself.
* An extra GtkSettings argument has been added to
gtk_rc_find_pixmap_in_path(). This function is only actually useful
from a theme engine during parsing, at which point the GtkSettings
is provided.
* The child argument facility in gtkcontainer.c has been converted
to a child property facility using GParamSpec and other facilities
for GObject.
- The set_child_arg and get_child_arg virtual methods have been
replaced with set_child_property / get_child_property, which
work similar to GObject->set_property/get_property.
- Other removed functions with the replacements:
gtk_container_add_child_arg_type => gtk_container_class_install_child_property
gtk_container_query_child_args => gtk_container_class_list_child_properties
gtk_container_child_getv => gtk_container_child_set_property
gtk_container_child_setv => gtk_container_child_get_property
gtk_container_add_with_args => gtk_container_add_with_properties
gtk_container_addv => gtk_container_add / gtk_container_child_set_property
* gdk_image_get() (or rather its replacement,
gdk_drawable_get_image()) now handles errors properly by returning
NULL, previously it would crash. Also, a window being offscreen is
no longer considered an error; instead, the area being contains
undefined contents for the offscreen areas. In most cases, code
using gdk_image_get() should really be ported to
gdk_pixbuf_get_from_drawable().
* gtk_widget_set_usize() has been renamed to
gtk_widget_set_size_request(), however the old name still exists
unless you define GTK_DISABLE_DEPRECATED.
* gtk_widget_set_uposition() is deprecated; use gtk_window_move(),
gtk_fixed_put(), or gtk_layout_put() instead.
* gtk_window_set_policy() is deprecated. To get the effect of
"allow_shrink", call gtk_widget_set_size_request(window, 0, 0). To
get the effect of "allow_grow", call
gtk_window_set_resizable(window, TRUE). You didn't want the effect
of auto_shrink, it made no sense. But maybe if you were using it you
want to use gtk_window_resize (window, 1, 1) to snap a window back
to its minimum size (the 1, 1 will be rounded up to the minimum
window size).
* The core GTK+ now takes care of handling mapping, unmapping and
realizing the child widgets of containers in
gtk_widget_set_parent(). In most cases, this allows container
implementations to be simplifid by removing the code in add()
methods to map and realize children. However, there are
a couple of things to watch out for here:
- If the parent is realized before the add() happens,
gtk_widget_set_parent_window() must be called before
gtk_widget_set_parent(), since gtk_widget_set_parent()
will realize the child.
- If a container depended on its children not being mapped
unless it did so itself (for example, GtkNotebook only
mapped the current page), then the new function
gtk_widget_set_child_visible() must be called to keep
widgets that should not be mapped not mapped.
As part of this change, most containers also will no longer need
custom implementations of the map() and unmap() virtual
functions. The only cases where this is necessary are:
- For !NO_WINDOW widgets, if you create children of widget->window
and don't map them in realize() then you must map them
in map(). [ In almost all cases, you can simply map the
windows in realize() ]
- For NO_WINDOW widgets, if you create windows in your realize()
method, you must map then in map() and unmap them in unmap().
* gtk_widget_set_default_style (), gtk_widget_push_style (),
and gtk_widget_pop_style () have been removed, since they
did not work properly with themes and there were better
alternatives for modifying the appearance of widgets.
You should generally use gtk_widget_modify_fg/bg/base/text/font
instead.
* gtk_image_new() now takes no arguments and creates an empty GtkImage
widget. To create a GtkImage widget from a GdkImage (the least
common usage of GdkImage), use gtk_image_new_from_image.
* GTK_SELECTION_EXTENDED is now deprecated, and neither the
GtkList/GtkTree nor the GtkCList/GtkCTree support
GTK_SELECTION_EXTENDED anymore. However, the old extended behavior
replaces MULTIPLE behavior.
* The following variables are no longer exported from GDK. (Other variables
are also no longer exported; the following are the ones found used
externally in a large sample of GTK+ code.)
Variable Replacement
======== ===========
gdk_null_window_warnings None - did nothing in GTK+-1.2.
gdk_leader_window None - private variable
gdk_screen gdk_x11_get_default_screen ()
gdk_root_window gdk_x11_get_default_root_xwindow ()
gdk_root_parent gdk_get_default_root_window ()
gdk_error_code/gdk_error_warnings gdk_error_trap_push()/pop()
gdk_display_name gdk_get_display ()
gdk_wm_delete_window gdk_atom_intern ("WM_DELETE_WINDOW", FALSE)
gdk_wm_take_focus gdk_atom_intern ("WM_TAKE_FOCUS", FALSE)
gdk_wm_protocols gdk_atom_intern ("WM_PROTOCOLS", FALSE)
* The handling of Colormaps and widgets has been changed:
- The default colormap for widgets is now the GdkRGB colormap, not
the system default colormap. If you try to use resources created for
a widget (e.g., widget->style) with a window using the system
colormap, errors will result on some machines.
- gtk_widget_push/pop_colormap() only cause the colormap to be
explicitely set on toplevel widgets not on all widgets. The
colormap for other widgets (when not set using
gtk_widget_set_colormap()), is determined by finding the nearest
ancestor with a colormap set on it explicitely, or if that
fails, the default colormap.
* The default selected day for GtkCalendar is now the current day in the
month, not the first day in the month. The current month and year
were already used.
* GDK is no longer put into threaded mode automatically when
g_thread_init() has been called. In order to use the
global GDK thread mutex with gdk_threads_enter() and
gdk_threads_leave(), you must call gdk_threads_init() explicitely.
If you aren't using GDK and GTK+ functions from multiple threads,
there is no reason to call gdk_threads_init().
* The GtkPreviewInfo struct has had its visual and colormap fields
removed. Also, gtk_preview_get_cmap() and gtk_preview_get_visual()
are deprecated, as GdkRgb works on any colormap and visual. You no
longer need to gtk_widget_push_cmap (gtk_preview_get_cmap ()) in
your code.
* The GtkBox, GtkTable, and GtkAlignment widgets now call
gtk_widget_set_redraw_on_allocate (widget, FALSE); on themselves.
If you want to actually draw contents in a widget derived from
one of these widgets, you'll probably want to change this
in your init() function.
* A number of widgets are now NO_WINDOW widgets (most importantly
GtkButton, but also GtkRange and GtkNotebook)
This has a couple of effects:
- If you are deriving from one of these widgets, you need to
adapt your code appropriately -- for instance, drawing coordinates
start from widget->allocation.x, widget->allocation.y.
- If you are embedding one of these widgets in a custom widget,
you must make sure you call gtk_container_propagate_expose()
correctly, as you must for any NO_WINDOW widgets.
GtkFixed is a little special; it is now created by default as
a NO_WINDOW widget, but if you do
gtk_fixed_set_has_window (fixed, TRUE);
after creating a fixed widget, it will create a window and
handle it properly.
* GtkLayout no longer has the xoffset, yoffset fields, which used
to store the difference between world and window coordinates for
layout->bin_window. These coordinate systems are now always
the same.
* gtk_paint_focus(), gtk_draw_focus() and GtkStyle::draw_focus()
have been changed a bit:
- A GtkStateType argument has been added to gtk_paint_focus()
- The default implementation of GtkStyle::draw_focus virtual
function now draws a focus rectangle whose width is
determinted by the GtkWidget::focus-width style property.
- The rectangle passed in is the bounding box, instead of
the rectangle used in the gdk_draw_rectangle() call, so it is
no longer necessary to subtract 1 from the width and height.
DON'T EDIT THIS FILE - changes are now maintained in the reference
manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
change to the manual, you should amend the docs for all
newly-deprecated features to point to the replacement for that
feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
the header files. Be sure to add a note to the docs for EACH
deprecated function; don't just do the changes-*.sgml change.

View File

@@ -3,6 +3,7 @@
SUBDIRS = tutorial faq reference
EXTRA_DIST = \
debugging.txt \
defsformat.txt \
developers.txt \
dnd_internals.txt \
@@ -11,10 +12,9 @@ EXTRA_DIST = \
sizing-test.txt \
styles.txt \
text_widget.txt \
text_widget_internals.txt \
tree-column-sizing.txt \
widget_geometry.txt \
widget_system.txt \
generation.txt \
gtkdocs_fix \
RELEASE-HOWTO
gtkdocs_fix

View File

@@ -1,37 +0,0 @@
How to do a GTK+ release?
=========================
Make sure you have Owen's special autoconf and libtool RPMs, available at:
http://people.redhat.com/otaylor/gtk/autotools/.
Also make sure you have the following packages installed (I used the RPM
package names from RedHat 8.0):
* gtk-doc
* linuxdoc-tools
* docbook-utils
Without those packages make distcheck will *not* pass.
0) Blow away your gtk+ directory, check a new version out
1) autogen and build it, make sure to enable docs.
2) Update NEWS based on ChangeLog
3) Update version in configure.in, increase MICRO, interface and binary
age by 1. (Note that this is critical, a slip-up here will cause the soname
to change).
4) Add === Released 2.0.x === at the top of the ChangeLog
5) make mydistcheck
6) Fix broken stuff found by 4) repeat
7) cvs commit; you'll have a bunch of po file changes, and maybe some
doc changes too (NOTE: be sure to use cvs with compression, else you'll
end up waiting for a long time :).
8) If 7) fails because someone else committed inbetween, curse, cvs up
fix conflicts and go to 5)
9) type 'cvs tag GTK_2_0_9' in the toplevel directory
10) You now have the tarball, and the CVS tag, now upload the tarball to
gnome.org and gtk.org
11) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers, commentary
at the top about "what this release is about" and the Summary of changes.
12) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.

106
docs/debugging.txt Normal file
View File

@@ -0,0 +1,106 @@
The GLIB, GDK, and GTK libraries have extensive support for
debugging the library and your programs.
The amount of debugging being done can be determined both
at run time and compile time.
COMPILE TIME OPTIONS
--------------------
At compile time, the amount of debugging support included is
determined by four macros:
G_ENABLE_DEBUG
If set, enable support for runtime checking.
G_DISABLE_ASSERT
If set, disable g_assert macros
G_DISABLE_CHECKS
If set, disable the g_return_if_fail and g_return_val_if_fail macros
G_DISABLE_CAST_CHECKS
If set, don't check casts between different object types
Whether these macros are defined is controlled at configuration
time by the --enable-debug option.
--enable-debug=minimum [default]
Enable only inexpensive sanity checking
sets G_DISABLE_CAST_CHECKS
--enable-debug=yes
Enable all debugging support
sets G_ENABLE_DEBUG
--enable-debug=no (or --disable-debug)
Disable all debugging support (fastest)
sets G_DISABLE_ASSERT, G_DISABLE_CHECKS, and G_DISABLE_CAST_CHECKS
Note that !G_DISABLE_CHECKS and --enable-debug=no are to be considered
not only fast, but dangerous as they tend to destabilize even mostly
bug-free software by changing the effect of many bugs from simple warnings
into fatal crashes. Thus --enable-debug=no should *not* be used for
stable releases of gtk+.
RUNTIME OPTIONS
----------------
At run time, if GTK+ was compiled with debugging enabled, different
types of debugging information can be printed out. This is controlled
by the:
GTK_DEBUG and GDK_DEBUG environment variables
--gtk-debug and --gdk-debug command line options
--gtk-no-debug and --gdk-no-debug command line options
First the environment variables are applied, then the command line
options are applied in the order given on the command line.
Each of these can either be the special value 'all', or a sequence of
':' separated options. (case is ignored). The environment variables
and the --gtk-debug and --gdk-debug options add debugging options and
the --gtk-no-debug and --gdk-no-debug options remove them.
As noted below, some of these are useful in application debugging, but
most are only interested to those debugging the libraries
For instance:
GDK_DEBUG_FLAGS=misc:dnd testgtk --gdk-no-debug dnd --gdk-debug events
runs testgtk with the 'misc' and 'events' debugging options.
See glib/docs/debugging.txt for information about debugging signal emission
and the object system.
GDK_DEBUG
---------
Application relevant options:
'events' - Show all events received by GTK
Options only interesting to library maintainers:
'misc' - Miscellaneous information
'dnd' - Information about drag-and-drop
'xim' - Information about X Input Method support
GTK_DEBUG
---------
Options only interesting to library maintainers:
'misc' - Miscellaneous information
'text' - Information about text widget internals
'tree' - Information about tree widget internals
'updates' - Visual feedback about window updates
- 2001-08-13 Matthias Clasen
- 98/02/19 Owen Taylor

View File

@@ -2,7 +2,7 @@
<book>
<bookinfo>
<date>January 23rd 2003</date>
<date>February 27th 2001</date>
<title>GTK+ FAQ</title>
<authorgroup>
<author>
@@ -142,7 +142,7 @@ oriented features.</quote></para>
<para>GTK+ == Gimp Toolkit</para>
<para>GDK == GTK+ Drawing Kit</para>
<para>GLib == G Library</para>
<para>GLib == G Libray</para>
</sect1>
@@ -601,12 +601,12 @@ successful, try executing it.</para>
<title>Whats this CVS thing that everyone keeps talking about,
and how do I access it?</title>
<para>CVS is the Concurrent Version System and is a very
<para>CVS is the Concurent Version System and is a very
popular means of version control for software projects. It is
designed to allow multiple authors to be able to
simultanously operate on the same source tree. This source
tree is centrally maintained, but each developer has a local
mirror of this repository that they make their changes to.</para>
mirror of this repository that they make there changes to.</para>
<para>The GTK+ developers use a CVS repository to store the
master copy of the current development version of GTK+. As
@@ -2098,13 +2098,13 @@ void gtk_window_set_policy (GtkWindow *window,
gint auto_shrink);
</programlisting>
<para><literal>auto_shrink</literal> will automatically shrink
<para><literal>Auto_shrink</literal> will automatically shrink
the window when the requested size of the child widgets goes
below the current size of the
window. <literal>allow_shrink</literal> will give the user the
window. <literal>Allow_shrink</literal> will give the user the
authorisation to make the window smaller that it should
normally be. <literal>allow_grow</literal> gives the user
the ability to make the window bigger. The default
normally be. <literal>Allow_grow</literal> will give the user
will have the ability to make the window bigger. The default
values for these parameters are:</para>
<programlisting role="C">
@@ -2334,7 +2334,7 @@ struct _GList
</programlisting>
<para>A GList structure is just a simple structure for doubly
linked lists. There exist several g_list_*() functions to
linked lists. there exist several g_list_*() functions to
modify a linked list in glib.h. However the
GTK_LIST(MyGtkList)->selection is maintained by the
gtk_list_*() functions and should not be modified.</para>
@@ -2531,7 +2531,7 @@ separation line in a menu, just insert an empty menu item:</para>
<programlisting role="C">
menuitem = gtk_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
gtk_menu_append(GTK_MENU(menu), menuitem);
gtk_widget_show(menuitem);
</programlisting>
@@ -2706,7 +2706,7 @@ gtk_misc_set_alignment(GTK_MISC(label), 1.0f, 1.0f);
<title>How do I set the background color of a GtkLabel
widget?</title>
<para>The GtkLabel widget is one of a few GTK+ widgets that
<para>The Gtklabel widget is one of a few GTK+ widgets that
don't create their own window to render themselves
into. Instead, they draw themselves directly onto their
parents window.</para>

View File

@@ -1,396 +1,10 @@
2003-03-04 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkobject.sgml: Add deprecation notes.
2003-02-24 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtktreemodel.sgml: Fix self-referential documenation of
gtk_tree_model_get_iter_root(). (#106720, Keith Sharp)
2003-02-11 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Document that font and fontset declarations
are ignored.
2003-02-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-docs.sgml:
* gtk/question_index.sgml: # doesn't work here, add links
manually. (#104991)
2003-02-01 Matthias Clasen <maclas@gmx.de>
* gtk/compiling.sgml: Mention xxx_DISABLE_DEPRECATED and
GDK_MULTIHEAD_SAFE.
2003-01-31 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkmain.sgml: Deprecate the gtk_timeout_*, gtk_idle_*
and gtk_input_* functions. (#71596)
2003-01-30 Matthias Clasen <maclas@gmx.de>
* gtk/running.sgml: s/overwrite/override/g (#104627, Brian Cameron)
2003-01-21 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Fix integer color range. (#103992)
2003-01-14 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Add new GtkTextIter functions.
2003-01-13 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/tmpl/gdk-pixbuf.sgml:
* gdk-pixbuf/tmpl/animation.sgml: Remove ids which are now
generated by gtk-doc.
2003-01-03 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Update description of priorities for styles
and bindings. (#98054)
2002-12-31 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Add a note about gtkrc-2.0 being parsed by
all 2.x versions.
Fri Dec 20 13:10:06 2002 Owen Taylor <otaylor@redhat.com>
* gtk/building.sgml: Update directories in download
locations; add information about fontconfig and Xft2.
2002-12-18 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkcontainer.sgml: Add docs.
2002-12-17 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Link to style properties.
* gtk/tmpl/gtkcontainer.sgml: Add bits about child properties.
* gtk/tmpl/gtkwidget.sgml: Add bits about style properties.
* gdk/tmpl/pixmaps.sgml:
* gdk/tmpl/windows.sgml:
* gdk/tmpl/drawing.sgml:
* gdk/tmpl/gcs.sgml:
* gtk/tmpl/gtktextview.sgml:
* gtk/tmpl/gtkrc.sgml:
* gtk/tmpl/gtkiconfactory.sgml:
* gtk/tmpl/gtkaccelgroup.sgml: Remove ids which are now
generated by gtk-doc.
2002-12-16 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkradiomenuitem.sgml:
* gtk/tmpl/gtkradiobutton.sgml: Add some information about group
list handling. (#101328, James M. Cape)
2002-12-14 Eric Warmenhoven <eric@warmenhoven.org>
* gtk/framebuffer.sgml: Minor updates for 2.2.0. (#67820)
2002-12-11 Matthias Clasen <maclas@gmx.de>
* gtk/text_widget.sgml: Fix some links.
* gdk/tmpl/pixmaps.sgml: Make "GdkPixmap" a valid id to reduce
dangling links.
* gdk/tmpl/windows.sgml: Make "GdkWindow" a valid id to reduce
dangling links.
* gdk/tmpl/drawing.sgml: Make "GdkDrawable" a valid id to reduce
dangling links.
* gdk/tmpl/gcs.sgml: Make "GdkGC" a valid id to reduce dangling links.
2002-12-10 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtktextview.sgml: Add docs.
* gtk/tree_widget.sgml: Fix some links.
* gtk/tmpl/gtkwindow.sgml: Add docs.
* gtk/tmpl/gtkeditable.sgml: Document GtkEditable as an interface,
not as an abstract base class.
* gtk/gtk-docs.sgml: Move GtkEditable from "Abstract Base Classes"
to "Numeric/Text Data Entry".
2002-12-09 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml: Add docs.
2002-12-08 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkbbox.sgml:
* gtk/tmpl/gtkcontainer.sgml:
* gtk/tmpl/gtksignal.sgml: Add deprecation info.
* gdk-pixbuf/tmpl/module_interface.sgml: Add docs.
2002-12-06 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/x_interaction.sgml:
* gdk/tmpl/gdkscreen.sgml:
* gdk/tmpl/gdkdisplaymanager.sgml:
* gdk/tmpl/gdkdisplay.sgml:
* gtk/tmpl/gtkstock.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkmain.sgml:
* gtk/tmpl/gtkcolorsel.sgml:
* gtk/tmpl/gtkaccelgroup.sgml:
* gdk-pixbuf/tmpl/module_interface.sgml: Add "Since" information.
* gtk/gtk-sections.txt: Replace gtk_list_store_move by
_move_before and _move_after.
2002-11-29 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkalignment.sgml:
* gtk/tmpl/gtkadjustment.sgml:
* gtk/tmpl/gtkaccellabel.sgml:
* gtk/tmpl/gtkoldeditable.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkrange.sgml:
* gtk/tmpl/gtkeditable.sgml:
* gtk/tmpl/gtkwindowgroup.sgml:
* gtk/tmpl/gtkwindow.sgml:
* gtk/tmpl/gtktypeutils.sgml:
* gtk/tmpl/gtksignal.sgml:
* gtk/tmpl/gtkfeatures.sgml:
* gtk/tmpl/gtkstyle.sgml:
* gtk/tmpl/gtkselection.sgml:
* gtk/tmpl/gtkgc.sgml:
* gtk/tmpl/gtkenums.sgml:
* gtk/tmpl/gtkbindings.sgml:
* gtk/tmpl/gtksettings.sgml:
* gtk/tmpl/gtkdnd.sgml:
* gtk/tmpl/gtkclipboard.sgml:
* gtk/tmpl/gtkaccelgroup.sgml:
* gtk/tmpl/gtkaccelmap.sgml:
Minor tweaks and completions of shortdescs.
* gdk/tmpl/rgb.sgml:
* gdk/tmpl/gcs.sgml: Minor tweaks.
* gdk/tmpl/gdkdisplaymanager.sgml: Add some docs.
2002-11-27 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Replace gtk_tree_store_move by
_move_before and _move_after.
2002-11-26 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/threads.sgml: Add hint about calling gdk_flush() before
gdk_threads_leave(). (#70665, wording suggested by Owen Taylor)
2002-11-23 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/x_interaction.sgml:
* gdk/tmpl/pango_interaction.sgml:
* gdk/tmpl/input_devices.sgml:
* gdk/tmpl/input.sgml:
* gdk/tmpl/threads.sgml:
* gdk/tmpl/properties.sgml:
* gdk/tmpl/dnd.sgml:
* gdk/tmpl/selections.sgml:
* gdk/tmpl/keys.sgml:
* gdk/tmpl/event_structs.sgml:
* gdk/tmpl/events.sgml:
* gdk/tmpl/windows.sgml:
* gdk/tmpl/cursors.sgml:
* gdk/tmpl/fonts.sgml:
* gdk/tmpl/colors.sgml:
* gdk/tmpl/pixbufs.sgml:
* gdk/tmpl/images.sgml:
* gdk/tmpl/pixmaps.sgml:
* gdk/tmpl/drawing.sgml:
* gdk/tmpl/regions.sgml:
* gdk/tmpl/gdkdisplaymanager.sgml:
* gdk/tmpl/gdkscreen.sgml:
* gdk/tmpl/gdkdisplay.sgml:
* gdk/tmpl/general.sgml:
Add missing short descriptions, standardize them to start with
a capital and end without a period. Also remove periods from
titles of examples.
2002-11-22 Yanko Kaneti <yaneti@declera.com>
* gtk/tmpl/gtkliststore.sgml: Fixup a typo to massage the build.
2002-11-21 Matthias Clasen <maclas@gmx.de>
* gdk/Makefile.am (extra_files):
* gdk-pixbuf/Makefile.am (extra_files):
* gtk/Makefile.am (extra_files): Add version.xml.in.
* gdk/Makefile.am (content_files):
* gdk-pixbuf/Makefile.am (content_files):
* gtk/Makefile.am (content_files): Add version.xml.
* gdk/version.xml.in:
* gdk-pixbuf/version.xml.in:
* gtk/version.xml.in: New files to let configure dump the version in.
* gdk/gdk-docs.sgml:
* gdk-pixbuf/gdk-pixbuf.sgml:
* gtk/gtk-docs.sgml: Add version information.
* gtk/tmpl/gtkcombo.sgml: Fix typo in example code. (#99078)
Sun Nov 17 15:42:08 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/tmpl/gtkliststore.sgml: add more to the docs.
2002-11-10 Matthias Clasen <maclas@gmx.de>
* gdk/gdk-sections.txt: gdk_display_open_default_libgtk_only
and gdk_notify_startup_complete.
* gtk/gtk-sections.txt: Add gtk_window_set_auto_startup_notification.
2002-11-07 Matthias Clasen <maclas@gmx.de>
* gdk/gdk.types: Add gdk_display_manager_get_type.
* gdk/gdk-docs.sgml: Add displaymanager section.
* gdk-pixbuf/gdk-pixbuf-sections.txt: Don't mark GdkPixbufLoader
as private, since that prevents its signals from being documented.
Sun Nov 3 13:23:51 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/tmpl/gtkcellrenderer.sgml: more docs.
Sat Nov 2 12:46:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf/Makefile.am: Remove rules for generation
of version.xml, which was causing make to always
rebuild the HTML file, and didn't seem to be used.
* gtk/tmpl/gtkliststore.sgml: SGML fixes.
Sat Nov 2 08:41:47 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/tmpl/gtktreestore.sgml: clean up the wording.
* gtk/tmpl/gtkliststore.sgml: Add an example and clean up the
wording.
2002-11-01 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/fonts.sgml:
* gdk/tmpl/drawing.sgml: More docs moved inline.
* gtk/tmpl/gtkfilesel.sgml: The label is "Folders" now, not
"Directories". (#97224, Vitaly Tishkov)
2002-10-29 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkrc.sgml: Fix a link. Add (minimal) docs for setting
style properties from rc files. More needed !!
Wed Oct 30 16:50:42 2002 Owen Taylor <otaylor@redhat.com>
* gtk/running.sgml: Document --screen.
2002-10-24 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/dnd.sgml:
* gdk/tmpl/cursors.sgml: More docs moved inline.
2002-10-24 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/colors.sgml: Some docs moved inline.
2002-10-22 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/gdkdisplay.sgml: Document GdkDisplayPointerHooks.
* gdk/tmpl/x_interaction.sgml: Some docs moved inline.
2002-10-20 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/Makefile.am (SCANOBJ_FILES):
* gtk/Makefile.am (SCANOBJ_FILES):
* gdk/Makefile.am (SCANOBJ_FILES): Add $(DOC_MODULE).prerequisites.
Fri Oct 18 15:13:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/event_structs.sgml: Update the docs for
the event->key.string to say that @string is deprecated.
Mon Oct 14 19:34:26 2002 Owen Taylor <otaylor@redhat.com>
* gdk/Makefile.am (content_files)
gdk-pixbuf/Makefile.am (content_files): Add some missing
files.
Mon Oct 14 19:16:16 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtk-sections.txt: Update.
* gdk/tmpl/images.sgml gtk/tmpl/gtkmain.sgml
gtk/tmpl/gtkselection.sgml: Remove docs that were moved
the the C files.
2002-10-14 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/Makefile.am (dist-hook):
* gdk/Makefile.am (dist-hook):
* gtk/Makefile.am (dist-hook): Dist the xml/*.xml, not
sgml/*.sgml. (#95678, Owen Taylor)
2002-10-14 Matthias Clasen <maclas@gmx.de>
* gtk/Makefile.am (SCANOBJ_FILES):
* gdk-pixbuf/Makefile.am (SCANOBJ_FILES):
* gdk/Makefile.am (SCANOBJ_FILES): Add $(DOC_MODULE).interfaces.
2002-10-11 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkimagemenuitem.sgml: Add a bit.
* gtk/tmpl/gtkimage.sgml: Fix example.
* gtk/tmpl/gtkrc.sgml: Spelling fixes.
* gdk-pixbuf/tmpl/refcounting.sgml: Remove documentation for
non-longer-present last-unref hook.
* gtk/tmpl/gtkfilesel.sgml: s/GtkCList/GtkTreeView/.
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add some missing symbols.
* gdk/gdk-sections.txt: Add some missing symbols.
* gdk/Makefile.am (IGNORE_HFILES): Add gdkintl.h and gdkmarshalers.h.
* gtk/gtk-sections.txt: Add some missing symbols.
2002-10-04 Matthias Clasen <maclas@gmx.de>
* gtk/running.sgml: Document GDK_PIXBUF_MODULE_FILE.
* gdk-pixbuf/tmpl/module_interface.sgml: Some information for
module writers.
2002-08-12 Matthias Clasen <maclas@gmx.de>
* gdk/gdk-sections.txt: Remove gdk_screen_close, add a section
for GdkDisplayManager, add gdk_visual_get_screen and
gdk_colormap_get_screen.
2002-08-07 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Remove gtk_style_get_font_for_display.
* gtk/tree_widget.sgml (select): use GTK_SELECTION_SINGLE, not
GTK_SELECT_SINGLE. (#96516, Erik Grinaker)
Mon Jul 29 22:36:06 2002 Owen Taylor <otaylor@redhat.com>
@@ -402,170 +16,22 @@ Mon Jul 29 22:36:06 2002 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/rgb.sgml: fixed the example code (return TRUE from the
expose_event handler).
2002-07-07 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf/gdk-pixbuf-sections.txt,
gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml,
gdk-pixbuf/tmpl/module_interface.sgml: Updates for
load-at-size functionality.
Tue Jun 18 17:02:48 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdk-sections.txt: Fix for cursor screen => display
change.
2002-06-03 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkprogress.sgml:
* gtk/tmpl/gtkscale.sgml:
* gtk/tmpl/gtktreemodel.sgml:
* gtk/tmpl/gtkimage.sgml:
* gtk/tmpl/gtksignal.sgml:
* gtk/tmpl/gtkrc.sgml:
* gtk/gtk-docs.sgml:
* gdk/gdk-docs.sgml:
* gdk/tmpl/threads.sgml:
* gdk/tmpl/cursors.sgml:
* gdk/tmpl/rgb.sgml: Replace homegrown "nbsp", "hash" and
"percent" entities by standard ISO entities "nbsp", "num" and
"percnt".
* gtk/text_widget.sgml: Fix a link.
2002-05-30 Matthias Clasen <maclas@gmx.de>
Make stock icons appear again (patch by Gediminas Paulauskas):
* gtk/Makefile.am (HTML_IMAGES): Add stock_broken_image_24.png
* gtk/tmpl/gtkstock.sgml: Fix icon filenames.
2002-05-29 Matthias Clasen <maclas@gmx.de>
* gtk/*, gdk/*, gdk-pixbuf/*: Create XML, not SGML.
2002-05-28 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/*: Remove property documentation which comes from the
source now.
* gtk/building.sgml: Remove traces of gxi.
2002-05-05 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Add gtk_widget_class_find_style_property,
gtk_widget_class_list_style_properties and gtk_style_get_font_for_display.
2002-05-03 Matthias Clasen <maclas@gmx.de>
* gdk/gdk-sections.txt: Remove gdk_screen_use_virtual_screen.
* gdk/tmpl/gdkscreen.sgml: Updates.
* gdk/tmpl/gdkdisplay.sgml: Document GdkDisplay.
* gdk/tmpl/x_interaction.sgml: Document GDK_DISPLAY_XDISPLAY,
GDK_SCREEN_XDISPLAY, GDK_SCREEN_XSCREEN, GDK_SCREEN_XNUMBER,
gdk_font_lookup_for_display.
* gdk/Makefile.am (GTKDOC_CFLAGS, GTKDOC_LIBS): set these.
* gdk/gdk.types: Add types derived from GObject, so that they get
an object hierarchy section.
2002-05-01 Matthias Clasen <maclas@gmx.de>
* gdk/gdk-sections.txt: Move GdkScreen struct to the GdkScreen section.
* gdk/tmpl/gdkscreen.sgml:
* gdk/tmpl/gdkdisplay.sgml: Typo and markup fixes.
* gdk/gdk-docs.sgml: Reorder display and screen sections.
* gdk/multihead.sgml: Remove references to GdkDisplayManager, typo
and markup fixes.
Tue Apr 30 14:16:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtk-sections.txt: Update for multihead.
Tue Apr 30 12:26:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk-sections.txt: Update for multihead.
* multihead.sgml gtk-docs.sgml: Add overview of
multihead from multihead branch.
* tmpl/gdkdisplay.sgml tmpl/gdkscreen.sgml: New
sections from multihead branch.
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/other_software.sgml: half-finished docs on merging GTK with
existing hunks of code (event loop integration, using threads
vs. processes, blah blah)
Thu Apr 25 22:37:58 2002 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/{events,input_devices,region,x_interaction}.sgml:
Fix some docs duplicated between templates and inline.
2002-04-24 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Remove GTK_OBJECT_CONNECTED.
Merged from HEAD:
* gtk/tmpl/gtksocket.sgml: Formatting fix.
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml: Updates. (#79001)
2002-04-23 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtksocket.sgml: Add link to XEmbed draft. (#67818)
* gtk/tmpl/gtkdrawingarea.sgml: Fix a typo.
* gtk/text_widget.sgml: Complete the fix for #79080.
2002-04-22 Matthias Clasen <maclas@gmx.de>
* gtk/tree_widget.sgml: Fix typo in "Simple Example". (#78661)
2002-04-21 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtktreemodel.sgml:
* gtk/tmpl/gtkradiomenuitem.sgml: Fix crossreferences. (#78392)
* gtk/gtk-sections.txt: Add GtkWidgetClass. (#78392)
* gtk/tmpl/gtkwidget.sgml: Rewrite docs for
gtk_widget_reset_rc_styles. (#75588)
* gdk/tmpl/properties.sgml: Fix gdk_property_change docs. (#72312)
* gtk/text_widget.sgml: Fix misleading example. (#79080)
* gtk/tmpl/gtkdialog.sgml: Fix stock id in example. (#74439)
2002-04-18 Matthias Clasen <maclas@gmx.de>
* gdk/tmpl/rgb.sgml:
* gdk/tmpl/general.sgml:
* gtk/tmpl/gtktogglebutton.sgml:
* gtk/tmpl/gtkaccellabel.sgml:
* gtk/tmpl/gtkradiobutton.sgml:
* gtk/tmpl/gtktreemodel.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkimage.sgml:
* gtk/tmpl/gtktooltips.sgml:
* gtk/tmpl/gtksignal.sgml:
* gtk/tmpl/gtkcombo.sgml:
* gtk/tmpl/gtkdnd.sgml:
* gtk/tmpl/gtksocket.sgml:
* gtk/tmpl/gtkdrawingarea.sgml:
* gtk/tmpl/gtkobject.sgml:
* gtk/tmpl/gtkpaned.sgml:
* gtk/tmpl/gtkmain.sgml: s/<!>/<!-- -->/g throughout the
documentation to bring the produced Docbook closer to XML.
* gtk/tmpl/gtktreemodel.sgml:
* gtk/tmpl/gtkradiomenuitem.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkdialog.sgml:
* gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml:
* gtk/text_widget.sgml:
* gtk/tree_widget.sgml:
* gtk/gtk-sections.txt:
* gdk/tmpl/properties.sgml: Documentation fixes. (#79001, #67818,
#79080, #78661, #78392, #75588, #72312, #74439)
Tue Mar 26 15:41:49 2002 Owen Taylor <otaylor@redhat.com>

View File

@@ -1,17 +1,14 @@
Makefile
Makefile.in
gdk-pixbuf-decl-list.txt
gdk-pixbuf-decl.txt
gdk-pixbuf-undocumented.txt
gdk-pixbuf-unused.txt
html
sgml
gdk-pixbuf.args
gdk-pixbuf.hierarchy
gdk-pixbuf.interfaces
gdk-pixbuf.prerequisites
gdk-pixbuf.signals
html
xml
gdk-pixbuf-decl.txt
gdk-pixbuf-decl-list.txt
gdk-pixbuf-undocumented.txt
gdk-pixbuf-unused.txt
*.stamp
*.lo
.libs
version.xml

View File

@@ -13,7 +13,7 @@ DOC_SOURCE_DIR=../../../gdk-pixbuf
SCAN_OPTIONS=--source-dir=../../../contrib/gdk-pixbuf-xlib --deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
MKDB_OPTIONS=--sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
@@ -30,7 +30,6 @@ IGNORE_HFILES= \
gdk-pixbuf-i18n.h \
gdk-pixbuf-private.h \
io-gif-animation.h \
io-ani-animation.h \
test-images.h
# Extra files to add when scanning
@@ -41,14 +40,12 @@ HTML_IMAGES =
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
gdk-pixbuf-from-drawables.sgml \
gdk-pixbuf-rendering.sgml \
gdk-pixbuf.sgml \
porting-from-imlib.sgml
# Other files to distribute
extra_files = version.xml.in
extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
@@ -97,11 +94,9 @@ EXTRA_DIST = \
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).signals
if ENABLE_GTK_DOC
@@ -195,10 +190,10 @@ endif
dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/sgml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

View File

@@ -48,9 +48,9 @@ gdk_pixbuf_error_get_type
<SECTION>
<FILE>refcounting</FILE>
GdkPixbufDestroyNotify
gdk_pixbuf_ref
gdk_pixbuf_unref
GdkPixbufDestroyNotify
</SECTION>
<SECTION>
@@ -98,6 +98,7 @@ gdk_pixbuf_fill
<SECTION>
<FILE>animation</FILE>
GdkPixbufFrame
GdkPixbufAnimation
GdkPixbufAnimationIter
gdk_pixbuf_animation_new_from_file
@@ -122,8 +123,6 @@ GDK_PIXBUF_ANIMATION_ITER
GDK_TYPE_PIXBUF_ANIMATION_ITER
<SUBSECTION Private>
gdk_pixbuf_non_anim_new
gdk_pixbuf_animation_get_type
gdk_pixbuf_animation_iter_get_type
</SECTION>
@@ -147,12 +146,9 @@ gdk_interp_type_get_type
<SECTION>
<FILE>gdk-pixbuf-loader</FILE>
<TITLE>GdkPixbufLoader</TITLE>
GdkPixbufLoader
gdk_pixbuf_loader_new
gdk_pixbuf_loader_new_with_type
gdk_pixbuf_loader_get_format
gdk_pixbuf_loader_write
gdk_pixbuf_loader_set_size
gdk_pixbuf_loader_get_pixbuf
gdk_pixbuf_loader_get_animation
gdk_pixbuf_loader_close
@@ -164,40 +160,17 @@ GDK_IS_PIXBUF_LOADER
GDK_PIXBUF_LOADER_CLASS
GDK_IS_PIXBUF_LOADER_CLASS
<SUBSECTION Private>
GdkPixbufLoader
gdk_pixbuf_loader_get_type
</SECTION>
<SECTION>
<TITLE>Module Interface</TITLE>
<FILE>module_interface</FILE>
gdk_pixbuf_set_option
gdk_pixbuf_get_formats
gdk_pixbuf_format_get_name
gdk_pixbuf_format_get_description
gdk_pixbuf_format_get_mime_types
gdk_pixbuf_format_get_extensions
gdk_pixbuf_format_is_writable
GdkPixbufFormat
GdkPixbufFormatFlags
GdkPixbufModulePattern
GdkPixbufModuleFillVtableFunc
GdkPixbufModuleFillInfoFunc
GdkPixbufModuleSizeFunc
GdkPixbufModulePreparedFunc
GdkPixbufModuleUpdatedFunc
ModuleFillVtableFunc
ModulePreparedNotifyFunc
ModuleUpdatedNotifyFunc
GdkPixbufModule
<SUBSECTION Animation>
GdkPixbufAnimationClass
GdkPixbufAnimationIterClass
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION_GET_CLASS
GDK_IS_PIXBUF_ANIMATION_ITER_CLASS
GDK_PIXBUF_ANIMATION_ITER_CLASS
GDK_IS_PIXBUF_ANIMATION_CLASS
GDK_PIXBUF_ANIMATION_ITER_GET_CLASS
GDK_PIXBUF_ANIMATION_CLASS
</SECTION>
<SECTION>

View File

@@ -1,36 +1,34 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-pixbuf-gdk-pixbuf SYSTEM "xml/gdk-pixbuf.xml">
<!ENTITY gdk-pixbuf-refcounting SYSTEM "xml/refcounting.xml">
<!ENTITY gdk-pixbuf-file-loading SYSTEM "xml/file-loading.xml">
<!ENTITY gdk-pixbuf-file-saving SYSTEM "xml/file-saving.xml">
<!ENTITY gdk-pixbuf-creating SYSTEM "xml/creating.xml">
<!ENTITY gdk-pixbuf-inline SYSTEM "xml/inline.xml">
<!ENTITY gdk-pixbuf-scaling SYSTEM "xml/scaling.xml">
<!ENTITY gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
<!ENTITY gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
<!ENTITY gdk-pixbuf-util SYSTEM "xml/util.xml">
<!ENTITY gdk-pixbuf-animation SYSTEM "xml/animation.xml">
<!ENTITY GdkPixbufLoader SYSTEM "xml/gdk-pixbuf-loader.xml">
<!ENTITY module-interface SYSTEM "xml/module_interface.xml">
<!ENTITY initialization-versions SYSTEM "xml/initialization_versions.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "xml/gdk-pixbuf-xlib-init.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "xml/gdk-pixbuf-xlib-rendering.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "xml/gdk-pixbuf-xlib-from-drawables.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "xml/gdk-pixbuf-xlib-rgb.xml">
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN"[
<!ENTITY Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
<!entity gdk-pixbuf-gdk-pixbuf SYSTEM "sgml/gdk-pixbuf.sgml">
<!entity gdk-pixbuf-refcounting SYSTEM "sgml/refcounting.sgml">
<!entity gdk-pixbuf-file-loading SYSTEM "sgml/file-loading.sgml">
<!entity gdk-pixbuf-file-saving SYSTEM "sgml/file-saving.sgml">
<!entity gdk-pixbuf-creating SYSTEM "sgml/creating.sgml">
<!entity gdk-pixbuf-inline SYSTEM "sgml/inline.sgml">
<!entity gdk-pixbuf-scaling SYSTEM "sgml/scaling.sgml">
<!entity gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
<!entity gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
<!entity gdk-pixbuf-util SYSTEM "sgml/util.sgml">
<!entity gdk-pixbuf-animation SYSTEM "sgml/animation.sgml">
<!entity GdkPixbufLoader SYSTEM "sgml/gdk-pixbuf-loader.sgml">
<!entity module-interface SYSTEM "sgml/module_interface.sgml">
<!entity initialization-versions SYSTEM "sgml/initialization_versions.sgml">
<!entity gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "sgml/gdk-pixbuf-xlib-init.sgml">
<!entity gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "sgml/gdk-pixbuf-xlib-rendering.sgml">
<!entity gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "sgml/gdk-pixbuf-xlib-from-drawables.sgml">
<!entity gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "sgml/gdk-pixbuf-xlib-rgb.sgml">
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
<!ENTITY version SYSTEM "version.xml">
<!entity Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
<!entity gdk-pixbuf "<application>gdk-pixbuf</application>">
<!entity Imlib "<application>Imlib</application>">
]>
<book id="index">
<bookinfo>
<title>The &gdk-pixbuf; Library</title>
<releaseinfo>Version &version;</releaseinfo>
<authorgroup>
<author>
<firstname>Federico</firstname>

View File

@@ -5,7 +5,7 @@ Animations
Animated images.
<!-- ##### SECTION Long_Description ##### -->
<para>
<para><anchor id="GdkPixbufAnimation">
The &gdk-pixbuf; library provides a simple mechanism to load and represent
animations. An animation is conceptually a series of frames to be displayed
over time. Each frame is the same size. The animation may not be represented
@@ -20,6 +20,12 @@ Animated images.
#GdkPixbufLoader
</para>
<!-- ##### STRUCT GdkPixbufFrame ##### -->
<para>
This object describes an individual frame of an animation.
</para>
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
This object describes an animation.

View File

@@ -21,28 +21,21 @@ Application-driven progressive image loading.
To use #GdkPixbufLoader to load an image, just create a new one,
and call gdk_pixbuf_loader_write() to send the data to it. When
done, gdk_pixbuf_loader_close() should be called to end the stream
and finalize everything. The loader will emit three important
and finalize everything. The loader will emit two important
signals throughout the process. The first, "<link
linkend="GdkPixbufLoader-size-prepared">size_prepared</link>",
will be called as soon as the image has enough information to
determine the size of the image to be used. If you want to scale
the image while loading it, you can call gdk_pixbuf_loader_set_size()
in response to this signal.
</para>
<para>The second signal, "<link
linkend="GdkPixbufLoader-area-prepared">area_prepared</link>",
will be called as soon as the pixbuf of the desired has been
allocated. You can obtain it by calling gdk_pixbuf_loader_get_pixbuf().
If you want to use it, simply ref it.
In addition, no actual information will be passed in yet, so the
will be called as soon as the image has enough information to
determine the size of the image to be used. It will pass a
@GdkPixbuf in. If you want to use it, you can simply ref it. In
addition, no actual information will be passed in yet, so the
pixbuf can be safely filled with any temporary graphics (or an
initial color) as needed. You can also call
gdk_pixbuf_loader_get_pixbuf() later and get the same pixbuf.
initial color) as needed. You can also call the
gdk_pixbuf_loader_get_pixbuf() once this signal has been emitted
and get the same pixbuf.
</para>
<para>
The last signal, "<link
The other signal, "<link
linkend="GdkPixbufLoader-area-updated">area_updated</link>" gets
called every time a region is updated. This way you can update a
partially completed image. Note that you do not know anything
@@ -69,13 +62,6 @@ Application-driven progressive image loading.
gdk_pixbuf_new_from_file(), gdk_pixbuf_animation_new_from_file()
</para>
<!-- ##### STRUCT GdkPixbufLoader ##### -->
<para>
The <structname>GdkPixbufLoader</structname> struct contains only private
fields.
</para>
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
<para>
@@ -94,15 +80,6 @@ fields.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_get_format ##### -->
<para>
</para>
@loader:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_write ##### -->
<para>
@@ -115,16 +92,6 @@ fields.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_set_size ##### -->
<para>
</para>
@loader:
@width:
@height:
<!-- ##### FUNCTION gdk_pixbuf_loader_get_pixbuf ##### -->
<para>
@@ -155,12 +122,16 @@ fields.
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
<para>
This signal is emitted when the pixbuf loader has allocated the pixbuf
in the desired size. After this signal is emitted, applications can
call gdk_pixbuf_loader_get_pixbuf() to fetch the partially-loaded pixbuf.
This signal is emitted when the pixbuf loader has been fed the
initial amount of data that is required to figure out the size and
format of the image that it will create. After this signal is
emitted, applications can call gdk_pixbuf_loader_get_pixbuf() to
fetch the partially-loaded pixbuf.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
<para>
@@ -171,12 +142,13 @@ fields.
areas of an image that is being loaded.
</para>
@gdkpixbufloader: Loader which emitted the signal.
@gdkpixbufloader: the object which received the signal.
@arg1:
@arg2:
@arg3:
@arg4:
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
@x: X offset of upper-left corner of the updated area.
@y: Y offset of upper-left corner of the updated area.
@width: Width of updated area.
@@ -191,6 +163,8 @@ fields.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
<!--
Local variables:
@@ -199,19 +173,3 @@ sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->
<!-- ##### SIGNAL GdkPixbufLoader::size-prepared ##### -->
<para>
This signal is emitted when the pixbuf loader has been fed the
initial amount of data that is required to figure out the size
of the image that it will create. Applications can call
gdk_pixbuf_loader_set_size() in response to this signal to set
the desired size to which the image should be scaled.
</para>
@gdkpixbufloader: the object which received the signal.
@arg1:
@arg2:
<!-- # Unused Parameters # -->
@width: the original width of the image
@height: the original height of the image

View File

@@ -365,12 +365,6 @@ XlibRGB
@obj: A GTK+ object.
<!-- ##### STRUCT GdkPixbufFrame ##### -->
<para>
This object describes an individual frame of an animation.
</para>
<!-- ##### ENUM GdkPixbufFrameAction ##### -->
<para>

View File

@@ -6,7 +6,7 @@ Information that describes an image.
<!-- ##### SECTION Long_Description ##### -->
<para>
<para><anchor id="GdkPixbuf">
The <structname>GdkPixbuf</structname> structure contains
information that describes an image in memory.
</para>

View File

@@ -6,58 +6,7 @@ Extending &gdk-pixbuf;
<!-- ##### SECTION Long_Description ##### -->
<para>
If &gdk-pixbuf; has been compiled with GModule support, it can be extended by
modules which can load (and perhaps also save) new image and animation
formats. Each loadable module must export a
#GdkPixbufModuleFillInfoFunc function named <function>fill_info</function> and
a #GdkPixbufModuleFillVtableFunc function named
<function>fill_vtable</function>.
</para>
<para>
In order to make format-checking work before actually loading the modules
(which may require dlopening image libraries), modules export their
signatures (and other information) via the <function>fill_info</function>
function. An external utility, <command>gdk-pixbuf-query-loaders</command>, uses
this to create a text file containing a list of all available loaders and
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
the list of available loaders and their signatures.
</para>
<para>
Modules may only implement a subset of the functionality available via
#GdkPixbufModule. If a particular functionality is not implemented, the
<function>fill_vtable</function> function will simply not set the corresponding
function pointers of the #GdkPixbufModule structure. If a module supports
incremental loading (i.e. provides #begin_load, #stop_load and
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
supply a generic #load implementation wrapping the incremental loading.
</para>
<para>
Installing a module is a two-step process:
<itemizedlist>
<listitem><para>copy the module file(s) to the loader directory (normally
<filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULEDIR</envar>)
</para></listitem>
<listitem><para>call <command>gdk-pixbuf-query-loaders</command> to update the
module file (normally
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0/gdk-pixbuf.loaders</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULE_FILE</envar>)
</para></listitem>
</itemizedlist>
</para>
<para>
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
<filename>gdk-pixbuf-io.h</filename> (and
<filename>gdk-pixbuf-animation.h</filename> if the module supports animations).
They are not covered by the same stability guarantees as the regular
&gdk-pixbuf; API. To underline this fact, they are protected by
<literal>#ifdef GDK_PIXBUF_ENABLE_BACKEND</literal>.
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -65,157 +14,16 @@ They are not covered by the same stability guarantees as the regular
</para>
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
<para>
</para>
@pixbuf:
@key:
@value:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_formats ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_get_name ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_get_description ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_get_mime_types ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_get_extensions ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_is_writable ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### STRUCT GdkPixbufFormat ##### -->
<para>
A #GdkPixbufFormat contains information about the image format accepted by a
module. Only modules should access the fields directly, applications should
use the <function>gdk_pixbuf_format_*</function> functions.
</para>
@name: the name of the image format.
@signature: the signature of the module.
@domain: the message domain for the @description.
@description: a description of the image format.
@mime_types: a %NULL-terminated array of MIME types for the image format.
@extensions: a %NULL-terminated array of typical filename extensions for the
image format.
@flags: a combination of #GdkPixbufFormatFlags.
@Since: 2.2
<!-- ##### ENUM GdkPixbufFormatFlags ##### -->
<para>
Flags which allow a module to specify further details about the supported
operations.
</para>
@GDK_PIXBUF_FORMAT_WRITABLE: the module can write out images in the format.
@Since: 2.2
<!-- ##### STRUCT GdkPixbufModulePattern ##### -->
<para>
The signature of a module is a set of prefixes. Prefixes are encoded as
pairs of ordinary strings, where the second string, if not %NULL,
may contain ' ', '!', 'x', 'z', and 'n' to indicate bytes that must be
matched, not matched, "don't-care"-bytes, zeros and non-zeros.
Each prefix has an associated integer that describes the relevance of
the prefix, with 0 meaning a mismatch and 100 a "perfect match".
</para>
<para>
The signature of a module is stored as an array of
#GdkPixbufModulePattern<!-- -->s.
</para>
@prefix: the prefix for this pattern
@mask: mask containing bytes which modify how the prefix is matched against
test data
@relevance: relevance of this pattern
@Since: 2.2
<!-- ##### USER_FUNCTION GdkPixbufModuleFillVtableFunc ##### -->
<!-- ##### USER_FUNCTION ModuleFillVtableFunc ##### -->
<para>
Defines the type of the function used to set the vtable of a
#GdkPixbufModule when it is loaded.
#GdkPixbufModule when it is loaded.
</para>
@module: a #GdkPixbufModule.
@Since: 2.2
<!-- ##### USER_FUNCTION GdkPixbufModuleFillInfoFunc ##### -->
<para>
Defines the type of the function used to fill a
#GdkPixbufFormat structure with information about a module.
</para>
@info: a #GdkPixbufFormat.
@Since: 2.2
<!-- ##### USER_FUNCTION GdkPixbufModuleSizeFunc ##### -->
<para>
Defines the type of the function that gets called once the size
of the loaded image is known.
</para>
<para>
The function is expected to set @width and @height to the desired
size to which the image should be scaled. If a module has no efficient
way to achieve the desired scaling during the loading of the image, it may
either ignore the size request, or only approximate it -- &gdk-pixbuf; will
then perform the required scaling on the completely loaded image.
</para>
@width: pointer to a location containing the current image width
@height: pointer to a location containing the current image height
@user_data: the loader.
@Since: 2.2
<!-- ##### USER_FUNCTION GdkPixbufModulePreparedFunc ##### -->
<!-- ##### USER_FUNCTION ModulePreparedNotifyFunc ##### -->
<para>
Defines the type of the function that gets called once the initial
setup of @pixbuf is done.
@@ -229,10 +37,9 @@ signal.
@pixbuf: the #GdkPixbuf that is currently being loaded.
@anim: if an animation is being loaded, the #GdkPixbufAnimation, else %NULL.
@user_data: the loader.
@Since: 2.2
<!-- ##### USER_FUNCTION GdkPixbufModuleUpdatedFunc ##### -->
<!-- ##### USER_FUNCTION ModuleUpdatedNotifyFunc ##### -->
<para>
Defines the type of the function that gets called every time a region
of @pixbuf is updated.
@@ -249,7 +56,6 @@ signal.
@width: the width of the updated area.
@height: the height of the updated area.
@user_data: the loader.
@Since: 2.2
<!-- ##### STRUCT GdkPixbufModule ##### -->
@@ -259,16 +65,17 @@ images in a certain file format.
</para>
<para>
A #GdkPixbufModule can be loaded dynamically from a #GModule.
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
named <function>fill_vtable</function>, which will get called when the module
is loaded and must set the function pointers of the #GdkPixbufModule.
Each loadable module must contain a #ModuleFillVtableFunc function named
<function>gdk_pixbuf__<replaceable>module_name</replaceable>_fill_vtable</function>.
It will get called when the module is loaded and must set the function
pointers of the #GdkPixbufModule.
</para>
@module_name: the name of the module, usually the same as the
usual file extension for images of this type, eg. "xpm", "jpeg" or "png".
@module_path: the path from which the module is loaded.
@format_check: checks if the given data is the beginning of a valid image
in the format supported by the module.
@module: the loaded #GModule.
@info: a #GdkPixbufFormat holding information about the module.
@load: loads an image from a file.
@load_xpm_data: loads an image from data in memory.
@begin_load: begins an incremental load.
@@ -277,32 +84,3 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
@load_animation: loads an animation from a file.
@save: saves a #GdkPixbuf to a file.
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimation, providing suitable implementations of the
virtual functions.
</para>
@parent_class:
@is_static_image: returns whether the given animation is just a static image.
@get_static_image: returns a static image representing the given animation.
@get_size: fills @width and @height with the frame size of the animation.
@get_iter: returns an iterator for the given animation.
<!-- ##### STRUCT GdkPixbufAnimationIterClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimationIter, providing suitable implementations of the
virtual functions.
</para>
@parent_class:
@get_delay_time: returns the time in milliseconds that the current frame
should be shown.
@get_pixbuf: returns the current frame.
@on_currently_loading_frame: returns whether the current frame of @iter is
being loaded.
@advance: advances the iterator to @current_time, possibly changing the
current frame.

View File

@@ -40,11 +40,42 @@ Functions for reference counting and memory management on pixbufs.
responsibility to free the pixel array.
</para>
<para>
As an extension to traditional reference counting, #GdkPixbuf
structures support defining a handler for the last unref
operation. If g_object_unref() is called on a #GdkPixbuf
structure that has a reference count of 1, i.e. its last
reference, then the pixbuf's last unref handler function will be
called. It is up to this function to determine whether to
finalize the pixbuf using gdk_pixbuf_finalize() or to just
continue execution. This can be used to implement a pixbuf cache
efficiently; please see the programmer's documentation for
details.
</para>
<!-- FIXME: link the last sentence above to the relevant section of
the programmer's docs.
-->
<!-- ##### SECTION See_Also ##### -->
<para>
#GdkPixbuf, gdk_pixbuf_new_from_data().
</para>
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->
<para>
A function of this type is responsible for freeing the pixel array
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
pass in a pre-allocated pixel array so that a pixbuf can be
created from it; in this case you will need to pass in a function
of #GdkPixbufDestroyNotify so that the pixel data can be freed
when the pixbuf is finalized.
</para>
@pixels: The pixel array of the pixbuf that is being finalized.
@data: User closure data.
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
@@ -62,17 +93,3 @@ Functions for reference counting and memory management on pixbufs.
@pixbuf:
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->
<para>
A function of this type is responsible for freeing the pixel array
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
pass in a pre-allocated pixel array so that a pixbuf can be
created from it; in this case you will need to pass in a function
of #GdkPixbufDestroyNotify so that the pixel data can be freed
when the pixbuf is finalized.
</para>
@pixels: The pixel array of the pixbuf that is being finalized.
@data: User closure data.

View File

@@ -1 +0,0 @@
@GTK_VERSION@

View File

@@ -1,17 +1,14 @@
Makefile
Makefile.in
gdk-decl-list.txt
sgml
html
gdk.args
gdk.signals
gdk.hierarchy
gdk-decl.txt
gdk-decl-list.txt
gdk-undocumented.txt
gdk-unused.txt
gdk.args
gdk.hierarchy
gdk.interfaces
gdk.prerequisites
gdk.signals
html
xml
*.stamp
*.lo
.libs
version.xml

View File

@@ -13,7 +13,7 @@ DOC_SOURCE_DIR=../../../gdk
SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
@@ -24,8 +24,6 @@ CFILE_GLOB=$(top_srcdir)/gdk/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
gdkintl.h \
gdkmarshalers.h \
gdkkeysyms.h \
gdkinternals.h \
gdkprivate.h \
@@ -121,27 +119,15 @@ HTML_IMAGES = \
images/xterm.png
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
multihead.sgml
content_files =
# Other files to distribute
extra_files = version.xml.in
extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = @STRIP_BEGIN@ \
@CFLAGS@ \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
@GTK_DEBUG_FLAGS@ \
@GDK_DEP_CFLAGS@ \
@STRIP_END@
GTKDOC_LIBS = @STRIP_BEGIN@ \
$(top_builddir)/gdk/@gdktargetlib@ \
@STRIP_END@
GTKDOC_CFLAGS =
GTKDOC_LIBS =
# Commands for compiling and linking
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
@@ -173,11 +159,9 @@ EXTRA_DIST = \
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).signals
if ENABLE_GTK_DOC
@@ -271,10 +255,10 @@ endif
dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/sgml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

View File

@@ -1,52 +1,42 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-General SYSTEM "xml/general.xml">
<!ENTITY gdk-Bitmaps-and-Pixmaps SYSTEM "xml/pixmaps.xml">
<!ENTITY gdk-Images SYSTEM "xml/images.xml">
<!ENTITY gdk-GdkRGB SYSTEM "xml/rgb.xml">
<!ENTITY gdk-Pixbufs SYSTEM "xml/pixbufs.xml">
<!ENTITY gdk-Colormaps-and-Colors SYSTEM "xml/colors.xml">
<!ENTITY gdk-Fonts SYSTEM "xml/fonts.xml">
<!ENTITY gdk-Drawing-Primitives SYSTEM "xml/drawing.xml">
<!ENTITY gdk-Graphics-Contexts SYSTEM "xml/gcs.xml">
<!ENTITY gdk-Visuals SYSTEM "xml/visuals.xml">
<!ENTITY gdk-Windows SYSTEM "xml/windows.xml">
<!ENTITY gdk-Selections SYSTEM "xml/selections.xml">
<!ENTITY gdk-Properties-and-Atoms SYSTEM "xml/properties.xml">
<!ENTITY gdk-Pango-Interaction SYSTEM "xml/pango_interaction.xml">
<!ENTITY gdk-Points-Rectangles-and-Regions SYSTEM "xml/regions.xml">
<!ENTITY gdk-Threads SYSTEM "xml/threads.xml">
<!ENTITY gdk-Keys SYSTEM "xml/keys.xml">
<!ENTITY gdk-Input-Devices SYSTEM "xml/input_devices.xml">
<!ENTITY gdk-Events SYSTEM "xml/events.xml">
<!ENTITY gdk-Event-Structures SYSTEM "xml/event_structs.xml">
<!ENTITY gdk-Cursors SYSTEM "xml/cursors.xml">
<!ENTITY gdk-Input SYSTEM "xml/input.xml">
<!ENTITY gdk-Drag-and-Drop SYSTEM "xml/dnd.xml">
<!ENTITY gdk-X-Window-System-Interaction SYSTEM "xml/x_interaction.xml">
<!ENTITY gdk-Screen SYSTEM "xml/gdkscreen.xml">
<!ENTITY gdk-Display SYSTEM "xml/gdkdisplay.xml">
<!ENTITY gdk-DisplayManager SYSTEM "xml/gdkdisplaymanager.xml">
<!ENTITY gdk-Multihead SYSTEM "multihead.sgml">
<!ENTITY version SYSTEM "version.xml">
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!notation PNG system "PNG">
<!entity % local.notation.class "| PNG">
<!entity gdk-General SYSTEM "sgml/general.sgml">
<!entity gdk-Bitmaps-and-Pixmaps SYSTEM "sgml/pixmaps.sgml">
<!entity gdk-Images SYSTEM "sgml/images.sgml">
<!entity gdk-GdkRGB SYSTEM "sgml/rgb.sgml">
<!entity gdk-Pixbufs SYSTEM "sgml/pixbufs.sgml">
<!entity gdk-Colormaps-and-Colors SYSTEM "sgml/colors.sgml">
<!entity gdk-Fonts SYSTEM "sgml/fonts.sgml">
<!entity gdk-Drawing-Primitives SYSTEM "sgml/drawing.sgml">
<!entity gdk-Graphics-Contexts SYSTEM "sgml/gcs.sgml">
<!entity gdk-Visuals SYSTEM "sgml/visuals.sgml">
<!entity gdk-Windows SYSTEM "sgml/windows.sgml">
<!entity gdk-Selections SYSTEM "sgml/selections.sgml">
<!entity gdk-Properties-and-Atoms SYSTEM "sgml/properties.sgml">
<!entity gdk-Pango-Interaction SYSTEM "sgml/pango_interaction.sgml">
<!entity gdk-Points-Rectangles-and-Regions SYSTEM "sgml/regions.sgml">
<!entity gdk-Threads SYSTEM "sgml/threads.sgml">
<!entity gdk-Keys SYSTEM "sgml/keys.sgml">
<!entity gdk-Input-Devices SYSTEM "sgml/input_devices.sgml">
<!entity gdk-Events SYSTEM "sgml/events.sgml">
<!entity gdk-Event-Structures SYSTEM "sgml/event_structs.sgml">
<!entity gdk-Cursors SYSTEM "sgml/cursors.sgml">
<!entity gdk-Input SYSTEM "sgml/input.sgml">
<!entity gdk-Drag-and-Drop SYSTEM "sgml/dnd.sgml">
<!entity gdk-X-Window-System-Interaction SYSTEM "sgml/x_interaction.sgml">
]>
<book id="index">
<bookinfo>
<title>GDK Reference Manual</title>
<releaseinfo>for GDK &version;</releaseinfo>
</bookinfo>
<reference id="reference">
<title>API Reference</title>
&gdk-General;
&gdk-Multihead;
&gdk-Display;
&gdk-DisplayManager;
&gdk-Screen;
&gdk-Points-Rectangles-and-Regions;
&gdk-Graphics-Contexts;
&gdk-Drawing-Primitives;

View File

@@ -6,12 +6,10 @@
<FILE>general</FILE>
gdk_init
gdk_init_check
gdk_parse_args
gdk_get_display_arg_name
gdk_set_locale
gdk_set_sm_client_id
gdk_exit
gdk_notify_startup_complete
<SUBSECTION>
gdk_get_program_class
@@ -112,103 +110,6 @@ gdk_wm_decoration_get_type
gdk_wm_function_get_type
</SECTION>
<SECTION>
<FILE>gdkdisplay</FILE>
<TITLE>GdkDisplay</TITLE>
GdkDisplay
gdk_display_open
gdk_display_get_default
gdk_display_get_name
gdk_display_get_n_screens
gdk_display_get_screen
gdk_display_get_default_screen
gdk_display_pointer_ungrab
gdk_display_keyboard_ungrab
gdk_display_pointer_is_grabbed
gdk_display_beep
gdk_display_sync
gdk_display_close
gdk_display_list_devices
gdk_display_get_event
gdk_display_peek_event
gdk_display_put_event
gdk_display_add_client_message_filter
gdk_display_set_double_click_time
gdk_display_get_pointer
gdk_display_get_window_at_pointer
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
<SUBSECTION Standard>
GDK_DISPLAY_OBJECT
GDK_IS_DISPLAY
GDK_TYPE_DISPLAY
gdk_display_get_type
GDK_DISPLAY_CLASS
GDK_IS_DISPLAY_CLASS
GDK_DISPLAY_GET_CLASS
<SUBSECTION Private>
gdk_display_open_default_libgtk_only
</SECTION>
<SECTION>
<FILE>gdkdisplaymanager</FILE>
<TITLE>GdkDisplayManager</TITLE>
GdkDisplayManager
gdk_display_manager_get
gdk_display_manager_get_default_display
gdk_display_manager_set_default_display
gdk_display_manager_list_displays
gdk_display_get_core_pointer
<SUBSECTION Standard>
GDK_DISPLAY_MANAGER
GDK_DISPLAY_MANAGER_CLASS
GDK_DISPLAY_MANAGER_GET_CLASS
GDK_IS_DISPLAY_MANAGER_CLASS
GDK_IS_DISPLAY_MANAGER
GDK_TYPE_DISPLAY_MANAGER
GdkDisplayManagerClass
gdk_display_manager_get_type
</SECTION>
<SECTION>
<FILE>gdkscreen</FILE>
<TITLE>GdkScreen</TITLE>
GdkScreen
gdk_screen_get_default
gdk_screen_get_default_colormap
gdk_screen_set_default_colormap
gdk_screen_get_system_colormap
gdk_screen_get_system_visual
gdk_screen_get_rgb_colormap
gdk_screen_get_rgb_visual
gdk_screen_get_root_window
gdk_screen_get_display
gdk_screen_get_number
gdk_screen_get_width
gdk_screen_get_height
gdk_screen_get_width_mm
gdk_screen_get_height_mm
gdk_screen_list_visuals
gdk_screen_get_toplevel_windows
gdk_screen_make_display_name
gdk_screen_get_n_monitors
gdk_screen_get_monitor_geometry
gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
gdk_screen_broadcast_client_message
gdk_screen_get_setting
<SUBSECTION Standard>
GDK_SCREEN
GDK_IS_SCREEN
GDK_TYPE_SCREEN
gdk_screen_get_type
GDK_SCREEN_CLASS
GDK_IS_SCREEN_CLASS
GDK_SCREEN_GET_CLASS
</SECTION>
<SECTION>
<TITLE>Bitmaps and Pixmaps</TITLE>
<FILE>pixmaps</FILE>
@@ -339,7 +240,6 @@ gdk_colormap_alloc_color
gdk_colormap_free_colors
gdk_colormap_query_color
gdk_colormap_get_visual
gdk_colormap_get_screen
gdk_colors_store
gdk_color_copy
gdk_color_free
@@ -374,12 +274,8 @@ gdk_color_get_type
GdkFont
GdkFontType
gdk_font_load
gdk_font_load_for_display
gdk_fontset_load
gdk_fontset_load_for_display
gdk_font_from_description
gdk_font_from_description_for_display
gdk_font_get_display
gdk_font_ref
gdk_font_unref
gdk_font_id
@@ -401,6 +297,10 @@ gdk_string_height
gdk_text_height
gdk_char_height
<SUBSECTION>
gdk_font_full_name_get
gdk_font_full_name_free
<SUBSECTION>
GdkWChar
gdk_wcstombs
@@ -422,8 +322,6 @@ gdk_drawable_ref
gdk_drawable_unref
gdk_drawable_set_data
gdk_drawable_get_data
gdk_drawable_get_display
gdk_drawable_get_screen
gdk_drawable_get_visual
gdk_drawable_set_colormap
gdk_drawable_get_colormap
@@ -437,7 +335,6 @@ gdk_draw_point
gdk_draw_points
gdk_draw_line
gdk_draw_lines
gdk_draw_pixbuf
gdk_draw_segments
GdkSegment
gdk_draw_rectangle
@@ -483,7 +380,6 @@ GdkFunction
gdk_gc_new
gdk_gc_new_with_values
gdk_gc_get_screen
gdk_gc_ref
gdk_gc_unref
gdk_gc_destroy
@@ -558,7 +454,6 @@ gdk_visual_get_best_with_type
gdk_visual_get_best_with_both
gdk_visual_ref
gdk_visual_unref
gdk_visual_get_screen
<SUBSECTION Standard>
GDK_TYPE_BYTE_ORDER
@@ -588,6 +483,7 @@ GdkWindowEdge
GdkWindowTypeHint
GdkWindowAttr
GdkWindowAttributesType
GdkScreen
gdk_window_new
gdk_window_destroy
gdk_window_ref
@@ -607,8 +503,6 @@ gdk_window_stick
gdk_window_unstick
gdk_window_maximize
gdk_window_unmaximize
gdk_window_fullscreen
gdk_window_unfullscreen
gdk_window_move
gdk_window_resize
gdk_window_move_resize
@@ -669,8 +563,6 @@ gdk_window_set_geometry_hints
gdk_window_set_icon_list
gdk_window_set_modal_hint
gdk_window_set_type_hint
gdk_window_set_skip_taskbar_hint
gdk_window_set_skip_pager_hint
gdk_window_get_position
gdk_window_get_root_origin
gdk_window_get_frame_extents
@@ -756,13 +648,10 @@ GDK_SELECTION_TYPE_PIXMAP
GDK_SELECTION_TYPE_WINDOW
GDK_SELECTION_TYPE_STRING
gdk_selection_owner_set
gdk_selection_owner_set_for_display
gdk_selection_owner_get
gdk_selection_owner_get_for_display
gdk_selection_convert
gdk_selection_property_get
gdk_selection_send_notify
gdk_selection_send_notify_for_display
</SECTION>
<SECTION>
@@ -773,16 +662,12 @@ GDK_ATOM_TO_POINTER
GDK_POINTER_TO_ATOM
GDK_NONE
gdk_text_property_to_text_list
gdk_text_property_to_text_list_for_display
gdk_free_text_list
gdk_text_property_to_utf8_list
gdk_text_property_to_utf8_list_for_display
gdk_string_to_compound_text
gdk_string_to_compound_text_for_display
gdk_free_compound_text
gdk_utf8_to_string_target
gdk_utf8_to_compound_text
gdk_utf8_to_compound_text_for_display
gdk_atom_intern
gdk_atom_name
gdk_property_get
@@ -798,7 +683,6 @@ GDK_TYPE_PROP_MODE
<TITLE>Pango Interaction</TITLE>
<FILE>pango_interaction</FILE>
gdk_pango_context_get
gdk_pango_context_get_for_screen
gdk_pango_context_set_colormap
GdkPangoAttrEmbossed
GdkPangoAttrStipple
@@ -875,7 +759,6 @@ gdk_threads_mutex
GdkKeymap
GdkKeymapKey
gdk_keymap_get_default
gdk_keymap_get_for_display
gdk_keymap_lookup_key
gdk_keymap_translate_keyboard_state
gdk_keymap_get_entries_for_keyval
@@ -971,7 +854,6 @@ gdk_event_peek
gdk_event_get
gdk_event_get_graphics_expose
gdk_event_put
gdk_event_new
gdk_event_copy
gdk_event_free
gdk_event_get_time
@@ -986,15 +868,12 @@ GdkEventFunc
<SUBSECTION>
gdk_event_send_client_message
gdk_event_send_client_message_for_display
gdk_event_send_clientmessage_toall
gdk_add_client_message_filter
<SUBSECTION>
gdk_get_show_events
gdk_set_show_events
gdk_event_set_screen
gdk_event_get_screen
<SUBSECTION>
gdk_setting_get
@@ -1060,8 +939,6 @@ GdkCursor
GdkCursorType
gdk_cursor_new
gdk_cursor_new_from_pixmap
gdk_cursor_new_for_display
gdk_cursor_get_display
gdk_cursor_ref
gdk_cursor_unref
gdk_cursor_destroy
@@ -1097,13 +974,11 @@ gdk_drop_reply
gdk_drag_context_new
gdk_drag_drop
gdk_drag_find_window
gdk_drag_find_window_for_screen
gdk_drag_context_ref
gdk_drag_begin
gdk_drag_motion
gdk_drop_finish
gdk_drag_get_protocol
gdk_drag_get_protocol_for_display
GdkDragProtocol
gdk_drag_context_unref
GdkDragContext
@@ -1135,7 +1010,6 @@ GDK_WINDOW_XDISPLAY
GDK_WINDOW_XID
GDK_PIXMAP_XDISPLAY
GDK_PIXMAP_XID
GDK_DISPLAY_XDISPLAY
GDK_DRAWABLE_XDISPLAY
GDK_DRAWABLE_XID
GDK_IMAGE_XDISPLAY
@@ -1143,9 +1017,6 @@ GDK_IMAGE_XIMAGE
GDK_GC_XDISPLAY
GDK_COLORMAP_XDISPLAY
GDK_COLORMAP_XCOLORMAP
GDK_SCREEN_XDISPLAY
GDK_SCREEN_XNUMBER
GDK_SCREEN_XSCREEN
GDK_VISUAL_XVISUAL
GDK_FONT_XDISPLAY
GDK_FONT_XFONT
@@ -1157,31 +1028,17 @@ GDK_WINDOW_XWINDOW
gdkx_visual_get
gdkx_colormap_get
gdk_pixmap_foreign_new
gdk_pixmap_foreign_new_for_display
gdk_window_foreign_new
gdk_window_foreign_new_for_display
gdk_xid_table_lookup
gdk_xid_table_lookup_for_display
gdk_window_lookup
gdk_window_lookup_for_display
gdk_pixmap_lookup
gdk_pixmap_lookup_for_display
gdk_font_lookup
gdk_font_lookup_for_display
gdk_x11_lookup_xdisplay
gdk_x11_get_server_time
gdk_net_wm_supports
gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_lookup_visual
gdk_x11_colormap_foreign_new
gdk_x11_colormap_get_xcolormap
gdk_x11_colormap_get_xdisplay
gdk_x11_cursor_get_xcursor
gdk_x11_cursor_get_xdisplay
gdk_x11_display_get_xdisplay
gdk_x11_display_grab
gdk_x11_display_ungrab
gdk_x11_drawable_get_xdisplay
gdk_x11_drawable_get_xid
gdk_x11_font_get_name
@@ -1195,18 +1052,12 @@ gdk_x11_get_default_xdisplay
gdk_x11_grab_server
gdk_x11_image_get_xdisplay
gdk_x11_image_get_ximage
gdk_x11_screen_get_screen_number
gdk_x11_screen_get_xscreen
gdk_x11_ungrab_server
gdk_x11_visual_get_xvisual
gdk_x11_atom_to_xatom
gdk_x11_atom_to_xatom_for_display
gdk_x11_xatom_to_atom
gdk_x11_xatom_to_atom_for_display
gdk_x11_get_xatom_by_name
gdk_x11_get_xatom_by_name_for_display
gdk_x11_get_xatom_name
gdk_x11_get_xatom_name_for_display
<SUBSECTION Private>
gdk_display

View File

@@ -1,10 +0,0 @@
#include <gdk/gdk.h>
gdk_display_get_type
gdk_display_manager_get_type
gdk_screen_get_type
gdk_drawable_get_type
gdk_window_object_get_type
gdk_pixmap_get_type
gdk_gc_get_type
gdk_keymap_get_type

View File

@@ -1,124 +0,0 @@
<refentry id="multihead" revision="1 May 2002">
<refmeta>
<refentrytitle>Multi-head Support Overview</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GDK Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Multi-head Support Overview</refname>
<refpurpose>Overview of GdkDisplay and GdkScreen</refpurpose>
</refnamediv>
<refsect1>
<title>Overview</title>
<para>
Multihead support is based around two main object types:
<itemizedlist>
<listitem><para>GdkDisplay</para></listitem>
<listitem><para>GdkScreen</para></listitem>
</itemizedlist>
</para>
<para>
<link linkend="gdk-GdkDisplay">GdkDisplay</link> objects are the GDK
representation of the X Display which can be described as <emphasis>a
workstation consisting of a keyboard a pointing device (such as a
mouse) and one or more screens</emphasis>.
It is used to open and keep track of various <link
linkend="gdk-GdkScreen">GdkScreen</link> objects currently
instanciated by the application. It is also used to grab and release
the keyboard and the mouse pointer.
</para>
<para>
<link linkend="gdk-GdkScreen">GdkScreen</link> objects are the GDK
representation of a physical screen. It is used throughout GDK and GTK+
to specify which screen the top level windows are to be displayed on.
It is also used to query the screen specification and default settings such as
the default colormap (<link linkend="gdk-screen-get-default-colormap">gdk_screen_get_default_colormap</link>()),
the screen width (<link linkend="gdk-screen-get-width">gdk_screen_get_width</link>()), etc.
</para>
<para>
The following code samples demonstrate common usage of the objects described above.
</para>
<example>
<title>Testing the number of screen on the current display</title>
<programlisting><!--
-->gint num_screen = 0;
gchar *displayname = NULL;
GdkScreen **screen_list;
GdkDisplay *display;
gtk_init (&amp;argc, &amp;argv);
display = gdk_display_get_default ();
num_screen = gdk_display_get_n_screens (display);
displayname = gdk_display_get_name (display);
if (num_screen &lt;= 1)
{
printf ("This Xserver (%s) manages only one screen. exiting...\n",
displayname);
exit (1);
}
else
{
printf ("This Xserver (%s) manages %d screens.\n", displayname,
num_screen);
}<!--
--> </programlisting>
</example>
<example>
<title>Opening a second display</title>
<programlisting><!--
-->gchar *second_screen_name;
GdkDisplay *second_display;
GdkScreen *second_screen;
GtkWidget *window;
gtk_init (&amp;argc, &amp;argv);
/* screen2_name needs to be initialized before calling
/* gdk_display_new() */
second_display = gdk_display_new (&amp;argc, &amp;argv, second_screen_name);
if (second_display)
second_screen = gdk_display_get_default_screen (second_display);
else
{
g_print ("Can't open display :\n\t%s\n\n",
second_screen_name);
exit (1);
}
/* now GdkScreen can be assigned to GtkWindows */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (window, second_screen);<!--
--></programlisting>
</example>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<variablelist>
<varlistentry>
<term><link linkend="gdk-GdkDisplay">GdkDisplay</link></term>
<listitem><para>the GDK Object used to represent and manipulate display
related data</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="gdk-GdkScreen">GdkScreen</link></term>
<listitem><para>the GDK Object used to represent and query screen related
data</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
</refentry>
<!--
Local variables:
mode: sgml
sgml-parent-document: ("gdk-docs.sgml" "book" "refentry" "")
End:
-->

View File

@@ -2,7 +2,7 @@
Colormaps and Colors
<!-- ##### SECTION Short_Description ##### -->
Manipulation of colors and colormaps
manipulation of colors and colormaps.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -72,11 +72,14 @@ The colormap structure contains the following public fields.
<!-- ##### FUNCTION gdk_colormap_new ##### -->
<para>
Creates a new colormap for the given visual.
</para>
@visual:
@allocate:
@Returns:
@visual: a #GdkVisual.
@allocate: if %TRUE, the newly created colormap will be
a private colormap, and all colors in it will be
allocated for the applications use.
@Returns: the new #GdkColormap.
<!-- ##### FUNCTION gdk_colormap_ref ##### -->
@@ -98,57 +101,82 @@ The colormap structure contains the following public fields.
<!-- ##### FUNCTION gdk_colormap_get_system ##### -->
<para>
Returns the system's default colormap.
</para>
@Returns:
@Returns: the default colormap.
<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
<para>
Returns the size of the system's default colormap.
(See the description of struct #GdkColormap for an
explanation of the size of a colormap.)
</para>
@Returns:
@Returns: the size of the system's default colormap.
<!-- ##### FUNCTION gdk_colormap_change ##### -->
<para>
Changes the value of the first @ncolors in a private colormap
to match the values in the <structfield>colors</structfield>
array in the color map. This function is obsolete and
should not be used. See gdk_color_change().
</para>
@colormap:
@ncolors:
@colormap: a #GdkColormap.
@ncolors: the number of colors to change.
<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
<para>
Allocates colors from a colormap.
</para>
@colormap:
@colors:
@ncolors:
@writeable:
@best_match:
@success:
@Returns:
@colormap: a #GdkColormap.
@colors: The color values to allocate. On return, the pixel
values for allocated colors will be filled in.
@ncolors: The number of colors in @colors.
@writeable: If %TRUE, the colors are allocated writeable
(their values can later be changed using gdk_color_change()).
Writeable colors cannot be shared between applications.
@best_match: If %TRUE, GDK will attempt to do matching against
existing colors if the colors cannot be allocated as
requested.
@success: An array of length @ncolors. On return, this
indicates whether the corresponding color in @colors was
sucessfully allocated or not.
@Returns: The number of colors that were not sucessfully
allocated.
<!-- ##### FUNCTION gdk_colormap_alloc_color ##### -->
<para>
Allocates a single color from a colormap.
</para>
@colormap:
@color:
@writeable:
@best_match:
@Returns:
@colormap: a #GdkColormap.
@color: the color to allocate. On return the
<structfield>pixel</structfield> field will be
filled in if allocation succeeds.
@writeable: If %TRUE, the color is allocated writeable
(their values can later be changed using gdk_color_change()).
Writeable colors cannot be shared between applications.
@best_match: If %TRUE, GDK will attempt to do matching against
existing colors if the color cannot be allocated as
requested.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_colormap_free_colors ##### -->
<para>
Frees previously allocated colors.
</para>
@colormap:
@colors:
@ncolors:
@colormap: a #GdkColormap.
@colors: the colors to free.
@ncolors: the number of colors in @colors.
<!-- ##### FUNCTION gdk_colormap_query_color ##### -->
@@ -163,127 +191,166 @@ The colormap structure contains the following public fields.
<!-- ##### FUNCTION gdk_colormap_get_visual ##### -->
<para>
Returns the visual for which a given colormap was created.
</para>
@colormap:
@Returns:
<!-- ##### FUNCTION gdk_colormap_get_screen ##### -->
<para>
</para>
@cmap:
@Returns:
@colormap: a #GdkColormap.
@Returns: the visual of the colormap.
<!-- ##### FUNCTION gdk_colors_store ##### -->
<para>
Changes the value of the first @ncolors colors in
a private colormap. This function is obsolete and
should not be used. See gdk_color_change().
</para>
@colormap:
@colors:
@ncolors:
@colormap: a #GdkColormap.
@colors: the new color values.
@ncolors: the number of colors to change.
<!-- ##### FUNCTION gdk_color_copy ##### -->
<para>
Makes a copy of a color structure. The result
must be freed using gdk_color_free().
</para>
@color:
@Returns:
@color: a #GdkColor.
@Returns: a copy of @color.
<!-- ##### FUNCTION gdk_color_free ##### -->
<para>
Frees a color structure created with
gdk_color_copy().
</para>
@color:
@color: a #GdkColor.
<!-- ##### FUNCTION gdk_colors_alloc ##### -->
<para>
Allocates colors from a colormap. This function
is obsolete. See gdk_colormap_alloc_colors().
For full documentation of the fields, see
the Xlib documentation for <function>XAllocColorCells()</function>.
</para>
@colormap:
@contiguous:
@planes:
@nplanes:
@pixels:
@npixels:
@colormap: a #GdkColormap.
@contiguous: if %TRUE, the colors should be allocated
in contiguous color cells.
@planes: an array in which to store the plane masks.
@nplanes: the number of planes to allocate. (Or zero,
to indicate that the color allocation should not be
planar.)
@pixels: an array into which to store allocated pixel
values.
@npixels: the number of pixels in each plane to allocate.
@Returns:
<!-- ##### FUNCTION gdk_colors_free ##### -->
<para>
Frees colors allocated with gdk_colors_alloc(). This
function is obsolete. See gdk_colormap_free_colors().
</para>
@colormap:
@pixels:
@npixels:
@planes:
@colormap: a #GdkColormap.
@pixels: the pixel values of the colors to free.
@npixels: the number of values in @pixels.
@planes: the plane masks for all planes to free, OR'd
together.
<!-- ##### FUNCTION gdk_color_white ##### -->
<para>
Returns the white color for a given colormap. The resulting
value has already allocated been allocated.
</para>
@colormap:
@color:
@Returns:
@colormap: a #GdkColormap.
@color: the location to store the color.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_black ##### -->
<para>
Returns the black color for a given colormap. The resulting
value has already benn allocated.
</para>
@colormap:
@color:
@Returns:
@colormap: a #GdkColormap.
@color: the location to store the color.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_parse ##### -->
<para>
Parses a textual specification of a color and fill in
the <structfield>red</structfield>,
<structfield>green</structfield>, and
<structfield>blue</structfield> fields of a
#GdkColor structure. The color is <emphasis>not</emphasis>
allocated, you must call gdk_colormap_alloc_color() yourself.
The text string can be in any of the forms accepted
by <function>XParseColor</function>; these include
name for a color from <filename>rgb.txt</filename>, such as
<literal>DarkSlateGray</literal>, or a hex specification
such as <literal>305050</literal>.
</para>
@spec:
@color:
@spec: the string specifying the color.
@color: the #GdkColor to fill in
@Returns:
<!-- ##### FUNCTION gdk_color_alloc ##### -->
<para>
Allocates a single color from a colormap.
This function is obsolete. See gdk_colormap_alloc_color().
</para>
@colormap:
@color:
@Returns:
@colormap: a #GdkColormap.
@color: The color to allocate. On return, the
<structfield>pixel</structfield> field will be
filled in.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_change ##### -->
<para>
Changes the value of a color that has already
been allocated. If @colormap is not a private
colormap, then the color must have been allocated
using gdk_colormap_alloc_colors() with the
@writeable set to %TRUE.
</para>
@colormap:
@color:
@colormap: a #GdkColormap.
@color: a #GdkColor, with the color to change
in the <structfield>pixel</structfield> field,
and the new value in the remaining fields.
@Returns:
<!-- ##### FUNCTION gdk_color_equal ##### -->
<para>
Compares two colors.
</para>
@colora:
@colorb:
@Returns:
@colora: a #GdkColor.
@colorb: another #GdkColor.
@Returns: %TRUE if the two colors compare equal
<!-- ##### FUNCTION gdk_color_hash ##### -->
<para>
A hash function suitable for using for a hash
table that stores #GdkColor's.
</para>
@colora:
@Returns:
@colora: a #GdkColor.
@Returns: The hash function appled to @colora

View File

@@ -2,7 +2,7 @@
Cursors
<!-- ##### SECTION Short_Description ##### -->
Standard and pixmap cursors
standard and pixmap cursors.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -27,83 +27,83 @@ A <type>GdkCursor</type> structure represents a cursor.
The standard cursors available.
</para>
@GDK_X_CURSOR: <inlinegraphic format="PNG" fileref="X_cursor.png"></inlinegraphic>
@GDK_ARROW: <inlinegraphic format="PNG" fileref="arrow.png"></inlinegraphic>
@GDK_BASED_ARROW_DOWN: <inlinegraphic format="PNG" fileref="based_arrow_down.png"></inlinegraphic>
@GDK_BASED_ARROW_UP: <inlinegraphic format="PNG" fileref="based_arrow_up.png"></inlinegraphic>
@GDK_BOAT: <inlinegraphic format="PNG" fileref="boat.png"></inlinegraphic>
@GDK_BOGOSITY: <inlinegraphic format="PNG" fileref="bogosity.png"></inlinegraphic>
@GDK_BOTTOM_LEFT_CORNER: <inlinegraphic format="PNG" fileref="bottom_left_corner.png"></inlinegraphic>
@GDK_BOTTOM_RIGHT_CORNER: <inlinegraphic format="PNG" fileref="bottom_right_corner.png"></inlinegraphic>
@GDK_BOTTOM_SIDE: <inlinegraphic format="PNG" fileref="bottom_side.png"></inlinegraphic>
@GDK_BOTTOM_TEE: <inlinegraphic format="PNG" fileref="bottom_tee.png"></inlinegraphic>
@GDK_BOX_SPIRAL: <inlinegraphic format="PNG" fileref="box_spiral.png"></inlinegraphic>
@GDK_CENTER_PTR: <inlinegraphic format="PNG" fileref="center_ptr.png"></inlinegraphic>
@GDK_CIRCLE: <inlinegraphic format="PNG" fileref="circle.png"></inlinegraphic>
@GDK_CLOCK: <inlinegraphic format="PNG" fileref="clock.png"></inlinegraphic>
@GDK_COFFEE_MUG: <inlinegraphic format="PNG" fileref="coffee_mug.png"></inlinegraphic>
@GDK_CROSS: <inlinegraphic format="PNG" fileref="cross.png"></inlinegraphic>
@GDK_CROSS_REVERSE: <inlinegraphic format="PNG" fileref="cross_reverse.png"></inlinegraphic>
@GDK_CROSSHAIR: <inlinegraphic format="PNG" fileref="crosshair.png"></inlinegraphic>
@GDK_DIAMOND_CROSS: <inlinegraphic format="PNG" fileref="diamond_cross.png"></inlinegraphic>
@GDK_DOT: <inlinegraphic format="PNG" fileref="dot.png"></inlinegraphic>
@GDK_DOTBOX: <inlinegraphic format="PNG" fileref="dotbox.png"></inlinegraphic>
@GDK_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="double_arrow.png"></inlinegraphic>
@GDK_DRAFT_LARGE: <inlinegraphic format="PNG" fileref="draft_large.png"></inlinegraphic>
@GDK_DRAFT_SMALL: <inlinegraphic format="PNG" fileref="draft_small.png"></inlinegraphic>
@GDK_DRAPED_BOX: <inlinegraphic format="PNG" fileref="draped_box.png"></inlinegraphic>
@GDK_EXCHANGE: <inlinegraphic format="PNG" fileref="exchange.png"></inlinegraphic>
@GDK_FLEUR: <inlinegraphic format="PNG" fileref="fleur.png"></inlinegraphic>
@GDK_GOBBLER: <inlinegraphic format="PNG" fileref="gobbler.png"></inlinegraphic>
@GDK_GUMBY: <inlinegraphic format="PNG" fileref="gumby.png"></inlinegraphic>
@GDK_HAND1: <inlinegraphic format="PNG" fileref="hand1.png"></inlinegraphic>
@GDK_HAND2: <inlinegraphic format="PNG" fileref="hand2.png"></inlinegraphic>
@GDK_HEART: <inlinegraphic format="PNG" fileref="heart.png"></inlinegraphic>
@GDK_ICON: <inlinegraphic format="PNG" fileref="icon.png"></inlinegraphic>
@GDK_IRON_CROSS: <inlinegraphic format="PNG" fileref="iron_cross.png"></inlinegraphic>
@GDK_LEFT_PTR: <inlinegraphic format="PNG" fileref="left_ptr.png"></inlinegraphic>
@GDK_LEFT_SIDE: <inlinegraphic format="PNG" fileref="left_side.png"></inlinegraphic>
@GDK_LEFT_TEE: <inlinegraphic format="PNG" fileref="left_tee.png"></inlinegraphic>
@GDK_LEFTBUTTON: <inlinegraphic format="PNG" fileref="leftbutton.png"></inlinegraphic>
@GDK_LL_ANGLE: <inlinegraphic format="PNG" fileref="ll_angle.png"></inlinegraphic>
@GDK_LR_ANGLE: <inlinegraphic format="PNG" fileref="lr_angle.png"></inlinegraphic>
@GDK_MAN: <inlinegraphic format="PNG" fileref="man.png"></inlinegraphic>
@GDK_MIDDLEBUTTON: <inlinegraphic format="PNG" fileref="middlebutton.png"></inlinegraphic>
@GDK_MOUSE: <inlinegraphic format="PNG" fileref="mouse.png"></inlinegraphic>
@GDK_PENCIL: <inlinegraphic format="PNG" fileref="pencil.png"></inlinegraphic>
@GDK_PIRATE: <inlinegraphic format="PNG" fileref="pirate.png"></inlinegraphic>
@GDK_PLUS: <inlinegraphic format="PNG" fileref="plus.png"></inlinegraphic>
@GDK_QUESTION_ARROW: <inlinegraphic format="PNG" fileref="question_arrow.png"></inlinegraphic>
@GDK_RIGHT_PTR: <inlinegraphic format="PNG" fileref="right_ptr.png"></inlinegraphic>
@GDK_RIGHT_SIDE: <inlinegraphic format="PNG" fileref="right_side.png"></inlinegraphic>
@GDK_RIGHT_TEE: <inlinegraphic format="PNG" fileref="right_tee.png"></inlinegraphic>
@GDK_RIGHTBUTTON: <inlinegraphic format="PNG" fileref="rightbutton.png"></inlinegraphic>
@GDK_RTL_LOGO: <inlinegraphic format="PNG" fileref="rtl_logo.png"></inlinegraphic>
@GDK_SAILBOAT: <inlinegraphic format="PNG" fileref="sailboat.png"></inlinegraphic>
@GDK_SB_DOWN_ARROW: <inlinegraphic format="PNG" fileref="sb_down_arrow.png"></inlinegraphic>
@GDK_SB_H_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="sb_h_double_arrow.png"></inlinegraphic>
@GDK_SB_LEFT_ARROW: <inlinegraphic format="PNG" fileref="sb_left_arrow.png"></inlinegraphic>
@GDK_SB_RIGHT_ARROW: <inlinegraphic format="PNG" fileref="sb_right_arrow.png"></inlinegraphic>
@GDK_SB_UP_ARROW: <inlinegraphic format="PNG" fileref="sb_up_arrow.png"></inlinegraphic>
@GDK_SB_V_DOUBLE_ARROW: <inlinegraphic format="PNG" fileref="sb_v_double_arrow.png"></inlinegraphic>
@GDK_SHUTTLE: <inlinegraphic format="PNG" fileref="shuttle.png"></inlinegraphic>
@GDK_SIZING: <inlinegraphic format="PNG" fileref="sizing.png"></inlinegraphic>
@GDK_SPIDER: <inlinegraphic format="PNG" fileref="spider.png"></inlinegraphic>
@GDK_SPRAYCAN: <inlinegraphic format="PNG" fileref="spraycan.png"></inlinegraphic>
@GDK_STAR: <inlinegraphic format="PNG" fileref="star.png"></inlinegraphic>
@GDK_TARGET: <inlinegraphic format="PNG" fileref="target.png"></inlinegraphic>
@GDK_TCROSS: <inlinegraphic format="PNG" fileref="tcross.png"></inlinegraphic>
@GDK_TOP_LEFT_ARROW: <inlinegraphic format="PNG" fileref="top_left_arrow.png"></inlinegraphic>
@GDK_TOP_LEFT_CORNER: <inlinegraphic format="PNG" fileref="top_left_corner.png"></inlinegraphic>
@GDK_TOP_RIGHT_CORNER: <inlinegraphic format="PNG" fileref="top_right_corner.png"></inlinegraphic>
@GDK_TOP_SIDE: <inlinegraphic format="PNG" fileref="top_side.png"></inlinegraphic>
@GDK_TOP_TEE: <inlinegraphic format="PNG" fileref="top_tee.png"></inlinegraphic>
@GDK_TREK: <inlinegraphic format="PNG" fileref="trek.png"></inlinegraphic>
@GDK_UL_ANGLE: <inlinegraphic format="PNG" fileref="ul_angle.png"></inlinegraphic>
@GDK_UMBRELLA: <inlinegraphic format="PNG" fileref="umbrella.png"></inlinegraphic>
@GDK_UR_ANGLE: <inlinegraphic format="PNG" fileref="ur_angle.png"></inlinegraphic>
@GDK_WATCH: <inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic>
@GDK_XTERM: <inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic>
@GDK_X_CURSOR: <inlinegraphic format="png" fileref="X_cursor.png"></inlinegraphic>
@GDK_ARROW: <inlinegraphic format="png" fileref="arrow.png"></inlinegraphic>
@GDK_BASED_ARROW_DOWN: <inlinegraphic format="png" fileref="based_arrow_down.png"></inlinegraphic>
@GDK_BASED_ARROW_UP: <inlinegraphic format="png" fileref="based_arrow_up.png"></inlinegraphic>
@GDK_BOAT: <inlinegraphic format="png" fileref="boat.png"></inlinegraphic>
@GDK_BOGOSITY: <inlinegraphic format="png" fileref="bogosity.png"></inlinegraphic>
@GDK_BOTTOM_LEFT_CORNER: <inlinegraphic format="png" fileref="bottom_left_corner.png"></inlinegraphic>
@GDK_BOTTOM_RIGHT_CORNER: <inlinegraphic format="png" fileref="bottom_right_corner.png"></inlinegraphic>
@GDK_BOTTOM_SIDE: <inlinegraphic format="png" fileref="bottom_side.png"></inlinegraphic>
@GDK_BOTTOM_TEE: <inlinegraphic format="png" fileref="bottom_tee.png"></inlinegraphic>
@GDK_BOX_SPIRAL: <inlinegraphic format="png" fileref="box_spiral.png"></inlinegraphic>
@GDK_CENTER_PTR: <inlinegraphic format="png" fileref="center_ptr.png"></inlinegraphic>
@GDK_CIRCLE: <inlinegraphic format="png" fileref="circle.png"></inlinegraphic>
@GDK_CLOCK: <inlinegraphic format="png" fileref="clock.png"></inlinegraphic>
@GDK_COFFEE_MUG: <inlinegraphic format="png" fileref="coffee_mug.png"></inlinegraphic>
@GDK_CROSS: <inlinegraphic format="png" fileref="cross.png"></inlinegraphic>
@GDK_CROSS_REVERSE: <inlinegraphic format="png" fileref="cross_reverse.png"></inlinegraphic>
@GDK_CROSSHAIR: <inlinegraphic format="png" fileref="crosshair.png"></inlinegraphic>
@GDK_DIAMOND_CROSS: <inlinegraphic format="png" fileref="diamond_cross.png"></inlinegraphic>
@GDK_DOT: <inlinegraphic format="png" fileref="dot.png"></inlinegraphic>
@GDK_DOTBOX: <inlinegraphic format="png" fileref="dotbox.png"></inlinegraphic>
@GDK_DOUBLE_ARROW: <inlinegraphic format="png" fileref="double_arrow.png"></inlinegraphic>
@GDK_DRAFT_LARGE: <inlinegraphic format="png" fileref="draft_large.png"></inlinegraphic>
@GDK_DRAFT_SMALL: <inlinegraphic format="png" fileref="draft_small.png"></inlinegraphic>
@GDK_DRAPED_BOX: <inlinegraphic format="png" fileref="draped_box.png"></inlinegraphic>
@GDK_EXCHANGE: <inlinegraphic format="png" fileref="exchange.png"></inlinegraphic>
@GDK_FLEUR: <inlinegraphic format="png" fileref="fleur.png"></inlinegraphic>
@GDK_GOBBLER: <inlinegraphic format="png" fileref="gobbler.png"></inlinegraphic>
@GDK_GUMBY: <inlinegraphic format="png" fileref="gumby.png"></inlinegraphic>
@GDK_HAND1: <inlinegraphic format="png" fileref="hand1.png"></inlinegraphic>
@GDK_HAND2: <inlinegraphic format="png" fileref="hand2.png"></inlinegraphic>
@GDK_HEART: <inlinegraphic format="png" fileref="heart.png"></inlinegraphic>
@GDK_ICON: <inlinegraphic format="png" fileref="icon.png"></inlinegraphic>
@GDK_IRON_CROSS: <inlinegraphic format="png" fileref="iron_cross.png"></inlinegraphic>
@GDK_LEFT_PTR: <inlinegraphic format="png" fileref="left_ptr.png"></inlinegraphic>
@GDK_LEFT_SIDE: <inlinegraphic format="png" fileref="left_side.png"></inlinegraphic>
@GDK_LEFT_TEE: <inlinegraphic format="png" fileref="left_tee.png"></inlinegraphic>
@GDK_LEFTBUTTON: <inlinegraphic format="png" fileref="leftbutton.png"></inlinegraphic>
@GDK_LL_ANGLE: <inlinegraphic format="png" fileref="ll_angle.png"></inlinegraphic>
@GDK_LR_ANGLE: <inlinegraphic format="png" fileref="lr_angle.png"></inlinegraphic>
@GDK_MAN: <inlinegraphic format="png" fileref="man.png"></inlinegraphic>
@GDK_MIDDLEBUTTON: <inlinegraphic format="png" fileref="middlebutton.png"></inlinegraphic>
@GDK_MOUSE: <inlinegraphic format="png" fileref="mouse.png"></inlinegraphic>
@GDK_PENCIL: <inlinegraphic format="png" fileref="pencil.png"></inlinegraphic>
@GDK_PIRATE: <inlinegraphic format="png" fileref="pirate.png"></inlinegraphic>
@GDK_PLUS: <inlinegraphic format="png" fileref="plus.png"></inlinegraphic>
@GDK_QUESTION_ARROW: <inlinegraphic format="png" fileref="question_arrow.png"></inlinegraphic>
@GDK_RIGHT_PTR: <inlinegraphic format="png" fileref="right_ptr.png"></inlinegraphic>
@GDK_RIGHT_SIDE: <inlinegraphic format="png" fileref="right_side.png"></inlinegraphic>
@GDK_RIGHT_TEE: <inlinegraphic format="png" fileref="right_tee.png"></inlinegraphic>
@GDK_RIGHTBUTTON: <inlinegraphic format="png" fileref="rightbutton.png"></inlinegraphic>
@GDK_RTL_LOGO: <inlinegraphic format="png" fileref="rtl_logo.png"></inlinegraphic>
@GDK_SAILBOAT: <inlinegraphic format="png" fileref="sailboat.png"></inlinegraphic>
@GDK_SB_DOWN_ARROW: <inlinegraphic format="png" fileref="sb_down_arrow.png"></inlinegraphic>
@GDK_SB_H_DOUBLE_ARROW: <inlinegraphic format="png" fileref="sb_h_double_arrow.png"></inlinegraphic>
@GDK_SB_LEFT_ARROW: <inlinegraphic format="png" fileref="sb_left_arrow.png"></inlinegraphic>
@GDK_SB_RIGHT_ARROW: <inlinegraphic format="png" fileref="sb_right_arrow.png"></inlinegraphic>
@GDK_SB_UP_ARROW: <inlinegraphic format="png" fileref="sb_up_arrow.png"></inlinegraphic>
@GDK_SB_V_DOUBLE_ARROW: <inlinegraphic format="png" fileref="sb_v_double_arrow.png"></inlinegraphic>
@GDK_SHUTTLE: <inlinegraphic format="png" fileref="shuttle.png"></inlinegraphic>
@GDK_SIZING: <inlinegraphic format="png" fileref="sizing.png"></inlinegraphic>
@GDK_SPIDER: <inlinegraphic format="png" fileref="spider.png"></inlinegraphic>
@GDK_SPRAYCAN: <inlinegraphic format="png" fileref="spraycan.png"></inlinegraphic>
@GDK_STAR: <inlinegraphic format="png" fileref="star.png"></inlinegraphic>
@GDK_TARGET: <inlinegraphic format="png" fileref="target.png"></inlinegraphic>
@GDK_TCROSS: <inlinegraphic format="png" fileref="tcross.png"></inlinegraphic>
@GDK_TOP_LEFT_ARROW: <inlinegraphic format="png" fileref="top_left_arrow.png"></inlinegraphic>
@GDK_TOP_LEFT_CORNER: <inlinegraphic format="png" fileref="top_left_corner.png"></inlinegraphic>
@GDK_TOP_RIGHT_CORNER: <inlinegraphic format="png" fileref="top_right_corner.png"></inlinegraphic>
@GDK_TOP_SIDE: <inlinegraphic format="png" fileref="top_side.png"></inlinegraphic>
@GDK_TOP_TEE: <inlinegraphic format="png" fileref="top_tee.png"></inlinegraphic>
@GDK_TREK: <inlinegraphic format="png" fileref="trek.png"></inlinegraphic>
@GDK_UL_ANGLE: <inlinegraphic format="png" fileref="ul_angle.png"></inlinegraphic>
@GDK_UMBRELLA: <inlinegraphic format="png" fileref="umbrella.png"></inlinegraphic>
@GDK_UR_ANGLE: <inlinegraphic format="png" fileref="ur_angle.png"></inlinegraphic>
@GDK_WATCH: <inlinegraphic format="png" fileref="watch.png"></inlinegraphic>
@GDK_XTERM: <inlinegraphic format="png" fileref="xterm.png"></inlinegraphic>
@GDK_LAST_CURSOR:
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
gdk_cursor_new_from_pixmap().
@@ -119,34 +119,56 @@ The standard cursors available.
<!-- ##### FUNCTION gdk_cursor_new_from_pixmap ##### -->
<para>
Creates a new cursor from a given pixmap and mask. Both the pixmap and mask
must have a depth of 1 (i.e. each pixel has only 2 values - on or off).
The standard cursor size is 16 by 16 pixels. You can create a bitmap
from inline data as in the below example.
</para>
<example><title>Creating a custom cursor.</title>
<programlisting>
/* This data is in X bitmap format, and can be created with the 'bitmap'
utility. */
#define cursor1_width 16
#define cursor1_height 16
static unsigned char cursor1_bits[] = {
0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01};
@source:
@mask:
@fg:
@bg:
@x:
@y:
@Returns:
static unsigned char cursor1mask_bits[] = {
0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01};
<!-- ##### FUNCTION gdk_cursor_new_for_display ##### -->
<para>
</para>
@display:
@cursor_type:
@Returns:
GdkCursor *cursor;
GdkPixmap *source, *mask;
GdkColor fg = { 0, 65535, 0, 0 }; /* Red. */
GdkColor bg = { 0, 0, 0, 65535 }; /* Blue. */
<!-- ##### FUNCTION gdk_cursor_get_display ##### -->
<para>
source = gdk_bitmap_create_from_data (NULL, cursor1_bits,
cursor1_width, cursor1_height);
mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits,
cursor1_width, cursor1_height);
cursor = gdk_cursor_new_from_pixmap (source, mask, &amp;fg, &amp;bg, 8, 8);
gdk_pixmap_unref (source);
gdk_pixmap_unref (mask);
</para>
@cursor:
@Returns:
gdk_window_set_cursor (widget->window, cursor);
</programlisting>
</example>
@source: the pixmap specifying the cursor.
@mask: the pixmap specifying the mask, which must be the same size as @source.
@fg: the foreground color, used for the bits in the source which are 1.
The color does not have to be allocated first.
@bg: the background color, used for the bits in the source which are 0.
The color does not have to be allocated first.
@x: the horizontal offset of the 'hotspot' of the cursor.
@y: the vertical offset of the 'hotspot' of the cursor.
@Returns: a new #GdkCursor.
<!-- ##### FUNCTION gdk_cursor_ref ##### -->
@@ -171,5 +193,7 @@ The standard cursors available.
Destroys a cursor, freeing any resources allocated for it.
</para>
<!-- # Unused Parameters # -->
@cursor: a #GdkCursor.

View File

@@ -2,7 +2,7 @@
Drag and Drop
<!-- ##### SECTION Short_Description ##### -->
Functions for controlling drag and drop handling
functions for controlling drag and drop handling.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -24,128 +24,142 @@ the GTK+ documentation for more information.
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
<para>
Returns the selection atom for the current source window.
</para>
@context:
@Returns:
@context: a #GdkDragContext.
@Returns: the selection atom.
<!-- ##### FUNCTION gdk_drag_abort ##### -->
<para>
Aborts a drag without dropping.
</para>
<para>
This function is called by the drag source.
</para>
@context:
@time_:
@context: a #GdkDragContext.
@time: the timestamp for this operation.
<!-- ##### FUNCTION gdk_drop_reply ##### -->
<para>
Accepts or rejects a drop.
</para>
<para>
This function is called by the drag destination in response
to a drop initiated by the drag source.
</para>
@context:
@ok:
@time_:
@context: a #GdkDragContext.
@ok: %TRUE if the drop is accepted.
@time: the timestamp for this operation.
<!-- ##### FUNCTION gdk_drag_context_new ##### -->
<para>
Creates a new #GdkDragContext.
</para>
@Returns:
@Returns: the newly created #GdkDragContext.
<!-- ##### FUNCTION gdk_drag_drop ##### -->
<para>
Drops on the current destination.
</para>
<para>
This function is called by the drag source.
</para>
@context:
@time_:
@context: a #GdkDragContext.
@time: the timestamp for this operation.
<!-- ##### FUNCTION gdk_drag_find_window ##### -->
<para>
Finds the destination window and DND protocol to use at the
given pointer position.
</para>
@context:
@drag_window:
@x_root:
@y_root:
@dest_window:
@protocol:
<!-- ##### FUNCTION gdk_drag_find_window_for_screen ##### -->
<para>
This function is called by the drag source to obtain the
@dest_window and @protocol parameters for gdk_drag_motion().
</para>
@context:
@drag_window:
@screen:
@x_root:
@y_root:
@dest_window:
@protocol:
@context: a #GdkDragContext.
@drag_window: a window which may be at the pointer position, but
should be ignored, since it is put up by the drag source as an icon.
@x_root: the x position of the pointer in root coordinates.
@y_root: the y position of the pointer in root coordinates.
@dest_window: location to store the destination window in.
@protocol: location to store the DND protocol in.
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
<para>
Deprecated function; use g_object_ref() instead.
</para>
@context:
@context: a #GdkDragContext.
<!-- ##### FUNCTION gdk_drag_begin ##### -->
<para>
Starts a drag and creates a new drag context for it.
</para>
<para>
This function is called by the drag source.
</para>
@window:
@targets:
@Returns:
@window: the source window for this drag.
@targets: the list of offered targets.
@Returns: a newly created #GdkDragContext.
<!-- ##### FUNCTION gdk_drag_motion ##### -->
<para>
Updates the drag context when the pointer moves or the
set of actions changes.
</para>
<para>
This function is called by the drag source.
</para>
@context:
@dest_window:
@protocol:
@x_root:
@y_root:
@suggested_action:
@possible_actions:
@time_:
@Returns:
@context: a #GdkDragContext.
@dest_window: the new destination window, obtained by gdk_drag_find_window().
@protocol: the DND protocol in use, obtained by gdk_drag_find_window().
@x_root: the x position of the pointer in root coordinates.
@y_root: the y position of the pointer in root coordinates.
@suggested_action: the suggested action.
@possible_actions: the possible actions.
@time: the timestamp for this operation.
@Returns: FIXME
<!-- ##### FUNCTION gdk_drop_finish ##### -->
<para>
Ends the drag operation after a drop.
</para>
<para>
This function is called by the drag destination.
</para>
@context:
@success:
@time_:
@context: a #GtkDragContext.
@success: %TRUE if the data was successfully received.
@time: the timestamp for this operation.
<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
<para>
Finds out the DND protocol supported by a window.
</para>
@xid:
@protocol:
@Returns:
<!-- ##### FUNCTION gdk_drag_get_protocol_for_display ##### -->
<para>
</para>
@display:
@xid:
@protocol:
@Returns:
@xid: the X id of the destination window.
@protocol: location where the supported DND protocol is returned.
@Returns: the X id of the window where the drop should happen. This
may be @xid or the X id of a proxy window, or None if @xid doesn't
support Drag and Drop.
<!-- ##### ENUM GdkDragProtocol ##### -->
@@ -165,9 +179,10 @@ which DND is done.
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
<para>
Deprecated function; use g_object_unref() instead.
</para>
@context:
@context: a #GdkDragContext.
<!-- ##### STRUCT GdkDragContext ##### -->
@@ -206,10 +221,16 @@ should do with the dropped data.
<!-- ##### FUNCTION gdk_drag_status ##### -->
<para>
Selects one of the actions offered by the drag source.
</para>
<para>
This function is called by the drag destination in response to
gdk_drag_motion() called by the drag source.
</para>
@context:
@action:
@time_:
@context: a #GdkDragContext.
@action: the selected action which will be taken when a drop happens,
or 0 to indicate that a drop will not be accepted.
@time: the timestamp for this operation.

View File

@@ -2,7 +2,7 @@
Drawing Primitives
<!-- ##### SECTION Short_Description ##### -->
Functions for drawing points, lines, arcs, and text
functions for drawing points, lines, arcs, and text.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -32,6 +32,7 @@ drawn onto. This can be a #GdkPixmap, a #GdkBitmap,
or a #GdkWindow.
</para>
@user_data:
<!-- ##### FUNCTION gdk_drawable_ref ##### -->
<para>
@@ -71,24 +72,6 @@ or a #GdkWindow.
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_display ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_screen ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_visual ##### -->
<para>
@@ -155,74 +138,65 @@ or a #GdkWindow.
<!-- ##### FUNCTION gdk_draw_point ##### -->
<para>
Draws a point, using the foreground color and other attributes of the #GdkGC.
</para>
@drawable:
@gc:
@x:
@y:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@x: the x coordinate of the point.
@y: the y coordinate of the point.
<!-- ##### FUNCTION gdk_draw_points ##### -->
<para>
Draws a number of points, using the foreground color and other attributes of
the #GdkGC.
</para>
@drawable:
@gc:
@points:
@npoints:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@points: an array of #GdkPoint structures.
@npoints: the number of points to be drawn.
<!-- ##### FUNCTION gdk_draw_line ##### -->
<para>
Draws a line, using the foreground color and other attributes of the #GdkGC.
</para>
@drawable:
@gc:
@x1_:
@y1_:
@x2_:
@y2_:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@x1: the x coordinate of the start point.
@y1: the y coordinate of the start point.
@x2: the x coordinate of the end point.
@y2: the y coordinate of the end point.
<!-- ##### FUNCTION gdk_draw_lines ##### -->
<para>
Draws a series of lines connecting the given points.
The way in which joins between lines are draw is determined by the
#GdkCapStyle value in the #GdkGC. This can be set with
gdk_gc_set_line_attributes().
</para>
@drawable:
@gc:
@points:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@points: an array of #GdkPoint structures specifying the endpoints of the
lines.
@npoints:
<!-- ##### FUNCTION gdk_draw_pixbuf ##### -->
<para>
</para>
@drawable:
@gc:
@pixbuf:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@dither:
@x_dither:
@y_dither:
@npoints: the size of the @points array.
<!-- ##### FUNCTION gdk_draw_segments ##### -->
<para>
Draws a number of unconnected lines.
</para>
@drawable:
@gc:
@segs:
@nsegs:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@segs: an array of #GdkSegment structures specifying the start and end points
of the lines to be drawn,
@nsegs: the number of line segments to draw, i.e. the size of the @segs array.
<!-- ##### STRUCT GdkSegment ##### -->
@@ -238,45 +212,60 @@ function.
<!-- ##### FUNCTION gdk_draw_rectangle ##### -->
<para>
Draws a rectangular outline or filled rectangle, using the foreground color
and other attributes of the #GdkGC.
</para>
<note>
<para>
A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle
outlined. Calling <literal>gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20)</literal> results
in a filled rectangle 20 pixels wide and 20 pixels high. Calling
<literal>gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20)</literal> results in an outlined
rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which
makes it 21 pixels wide and 21 pixels high.
</para>
</note>
@drawable:
@gc:
@filled:
@x:
@y:
@width:
@height:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: %TRUE if the rectangle should be filled.
@x: the x coordinate of the left edge of the rectangle.
@y: the y coordinate of the top edge of the rectangle.
@width: the width of the rectangle.
@height: the height of the rectangle.
<!-- ##### FUNCTION gdk_draw_arc ##### -->
<para>
Draws an arc or a filled 'pie slice'. The arc is defined by the bounding
rectangle of the entire ellipse, and the start and end angles of the part of
the ellipse to be drawn.
</para>
@drawable:
@gc:
@filled:
@x:
@y:
@width:
@height:
@angle1:
@angle2:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: %TRUE if the arc should be filled, producing a 'pie slice'.
@x: the x coordinate of the left edge of the bounding rectangle.
@y: the y coordinate of the top edge of the bounding rectangle.
@width: the width of the bounding rectangle.
@height: the height of the bounding rectangle.
@angle1: the start angle of the arc, relative to the 3 o'clock position,
counter-clockwise, in 1/64ths of a degree.
@angle2: the end angle of the arc, relative to @angle1, in 1/64ths of a degree.
<!-- ##### FUNCTION gdk_draw_polygon ##### -->
<para>
Draws an outlined or filled polygon.
</para>
@drawable:
@gc:
@filled:
@points:
@npoints:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: %TRUE if the polygon should be filled. The polygon is closed
automatically, connecting the last point to the first point if necessary.
@points: an array of #GdkPoint structures specifying the points making up the
polygon.
@npoints: the number of points.
<!-- ##### FUNCTION gdk_draw_glyphs ##### -->
@@ -346,40 +335,45 @@ function.
<!-- ##### FUNCTION gdk_draw_string ##### -->
<para>
Draws a string of characters in the given font or fontset.
</para>
@drawable:
@font:
@gc:
@x:
@y:
@string:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@string: the string of characters to draw.
<!-- ##### FUNCTION gdk_draw_text ##### -->
<para>
Draws a number of characters in the given font or fontset.
</para>
@drawable:
@font:
@gc:
@x:
@y:
@text:
@text_length:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@text: the characters to draw.
@text_length: the number of characters of @text to draw.
<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
<para>
Draws a number of wide characters using the given font of fontset.
If the font is a 1-byte font, the string is converted into 1-byte characters
(discarding the high bytes) before output.
</para>
@drawable:
@font:
@gc:
@x:
@y:
@text:
@text_length:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@text: the wide characters to draw.
@text_length: the number of characters to draw.
<!-- ##### MACRO gdk_draw_pixmap ##### -->
@@ -387,6 +381,18 @@ function.
Draws a pixmap, or a part of a pixmap, onto another drawable.
</para>
<!-- # Unused Parameters # -->
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@src: the source #GdkPixmap to draw.
@xsrc: the left edge of the source rectangle within @src.
@ysrc: the top of the source rectangle within @src.
@xdest: the x coordinate of the destination within @drawable.
@ydest: the y coordinate of the destination within @drawable.
@width: the width of the area to be copied, or -1 to make the area extend to
the right edge of the source pixmap.
@height: the height of the area to be copied, or -1 to make the area extend
to the bottom edge of the source pixmap.
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
@@ -407,17 +413,21 @@ Draws a pixmap, or a part of a pixmap, onto another drawable.
<!-- ##### FUNCTION gdk_draw_image ##### -->
<para>
Draws a #GdkImage onto a drawable.
The depth of the #GdkImage must match the depth of the #GdkDrawable.
</para>
@drawable:
@gc:
@image:
@xsrc:
@ysrc:
@xdest:
@ydest:
@width:
@height:
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@image: the #GdkImage to draw.
@xsrc: the left edge of the source rectangle within @image.
@ysrc: the top of the source rectangle within @image.
@xdest: the x coordinate of the destination within @drawable.
@ydest: the y coordinate of the destination within @drawable.
@width: the width of the area to be copied, or -1 to make the area extend to
the right edge of @image.
@height: the height of the area to be copied, or -1 to make the area extend
to the bottom edge of @image.
<!-- ##### FUNCTION gdk_drawable_get_image ##### -->

View File

@@ -2,7 +2,7 @@
Event Structures
<!-- ##### SECTION Short_Description ##### -->
Data structures specific to each type of event
data structures specific to each type of event.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -91,17 +91,12 @@ Shift and Alt) and the pointer buttons. See #GdkModifierType.
@keyval: the key that was pressed or released. See the <filename>&lt;gdk/gdkkeysym.h&gt;</filename>
header file for a complete list of GDK key codes.
@length: the length of @string.
@string: a string containing the an approximation of the text that
would result from this keypress. The only correct way to handle text
input of text is using input methods (see #GtkIMContext), so this
field is deprecated and should never be used.
(gdk_unicode_to_keyval() provides a non-deprecated way of getting
an approximate translation for a key.) The string is encoded in the encoding
of the current locale (Note: this for backwards compatibility:
strings in GTK+ and GDK are typically in UTF-8.) and NUL-terminated.
In some cases, the translation of the key code will be a single
NUL byte, in which case looking at @length is necessary to distinguish
it from the an empty translation.
@string: a nul-terminated multi-byte string containing the composed characters
resulting from the key press. When text is being input, in a #GtkEntry for
example, it is these characters which should be added to the input buffer.
When using <link linkend="gdk-Input-Methods">Input Methods</link> to support
internationalized text input, the composed characters appear here after the
pre-editing has been completed.
@hardware_keycode: the raw code of the key that was pressed or released.
@group: the keyboard group.
@@ -471,7 +466,6 @@ Specifies the state of a toplevel window.
@GDK_WINDOW_STATE_ICONIFIED: the window is minimized.
@GDK_WINDOW_STATE_MAXIMIZED: the window is maximized.
@GDK_WINDOW_STATE_STICKY: the window is sticky.
@GDK_WINDOW_STATE_FULLSCREEN:
<!-- ##### ENUM GdkSettingAction ##### -->
<para>

View File

@@ -2,7 +2,7 @@
Events
<!-- ##### SECTION Short_Description ##### -->
Functions for handling events from the window system
functions for handling events from the window system.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -149,59 +149,71 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<!-- ##### FUNCTION gdk_events_pending ##### -->
<para>
Checks if any events are waiting to be processed.
</para>
@Returns:
@Returns: %TRUE if any events are pending.
<!-- ##### FUNCTION gdk_event_peek ##### -->
<para>
Gets a copy of the first #GdkEvent in the event queue.
(Note that this function will not get more events from the X server.
It only checks the events that have already been moved to the GDK event queue.)
</para>
@Returns:
@Returns: a copy of the first #GdkEvent on the event queue, or %NULL if no
events are in the queue. The returned #GdkEvent should be freed with
gdk_event_free().
<!-- ##### FUNCTION gdk_event_get ##### -->
<para>
Gets the next #GdkEvent to be processed, fetching events from the X server if
necessary.
</para>
@Returns:
@Returns: the next #GdkEvent to be processed, or %NULL if no events are pending.
The returned #GdkEvent should be freed with gdk_event_free().
<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
<para>
Waits for a GraphicsExpose or NoExpose event from the X server.
This is used in the #GtkText and #GtkCList widgets in GTK+ to make sure any
GraphicsExpose events are handled before the widget is scrolled.
</para>
@window:
@Returns:
@window: the #GdkWindow to wait for the events for.
@Returns: a #GdkEventExpose if a GraphicsExpose was received, or %NULL if a
NoExpose event was received.
<!-- ##### FUNCTION gdk_event_put ##### -->
<para>
Appends a copy of the given event onto the front of the event queue.
</para>
@event:
<!-- ##### FUNCTION gdk_event_new ##### -->
<para>
</para>
@type:
@Returns:
@event: a #GdkEvent.
<!-- ##### FUNCTION gdk_event_copy ##### -->
<para>
Copies a #GdkEvent, copying or incrementing the reference count of the
resources associated with it (e.g. #GdkWindow's and strings).
</para>
@event:
@Returns:
@event: a #GdkEvent.
@Returns: a copy of @event. The returned #GdkEvent should be freed with
gdk_event_free().
<!-- ##### FUNCTION gdk_event_free ##### -->
<para>
Frees a #GdkEvent, freeing or decrementing any resources associated with it.
Note that this function should only be called with events returned from
gdk_event_peek(), gdk_event_get(), gdk_event_get_graphics_expose() and
gdk_event_copy().
</para>
@event: a #GdkEvent.
@@ -209,10 +221,12 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<!-- ##### FUNCTION gdk_event_get_time ##### -->
<para>
Gets the timestamp from a #GdkEvent.
</para>
@event:
@Returns:
@event: a #GdkEvent.
@Returns: the timestamp from @event, or %GDK_CURRENT_TIME if the event has
no timestamp.
<!-- ##### FUNCTION gdk_event_get_state ##### -->
@@ -260,11 +274,17 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
<para>
Sets the function to call to handle all events from GDK.
</para>
<para>
Note that GTK+ uses this to install its own event handler, so it is probably
not useful for GTK+ applications.
</para>
@func:
@data:
@notify:
@func: the function to call to handle events from GDK.
@data: user data to pass to the function.
@notify: the function to call when the handler function is removed, i.e. when
gdk_event_handler_set() is called with another event handler.
<!-- ##### USER_FUNCTION GdkEventFunc ##### -->
@@ -280,82 +300,73 @@ gdk_event_handler_set().
<!-- ##### FUNCTION gdk_event_send_client_message ##### -->
<para>
Sends an X ClientMessage event to a given window.
</para>
@event:
@winid:
@Returns:
<!-- # Unused Parameters # -->
@xid:
<!-- ##### FUNCTION gdk_event_send_client_message_for_display ##### -->
<para>
This could be used for communicating between different applications,
though the amount of data is limited to 20 bytes.
</para>
@display:
@event:
@winid:
@Returns:
<!-- # Unused Parameters # -->
@xid:
@event: the #GdkEvent to send, which should be a #GdkEventClient.
@xid: the window to send the X ClientMessage event to.
@Returns: non-zero on success.
<!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
<para>
Sends an X ClientMessage event to all toplevel windows.
</para>
<para>
Toplevel windows are determined by checking for the WM_STATE property, as
described in the Inter-Client Communication Conventions Manual (ICCCM).
If no windows are found with the WM_STATE property set, the message is sent
to all children of the root window.
</para>
@event:
@event: the #GdkEvent to send, which should be a #GdkEventClient.
<!-- ##### FUNCTION gdk_add_client_message_filter ##### -->
<para>
Adds a filter to be called when X ClientMessage events are received.
</para>
@message_type:
@func:
@data:
@message_type: the type of ClientMessage events to receive. This will be
checked against the <structfield>message_type</structfield> field of the
XClientMessage event struct.
@func: the function to call to process the event.
@data: user data to pass to @func.
<!-- ##### FUNCTION gdk_get_show_events ##### -->
<para>
Returns non-zero if event debugging output is enabled.
</para>
@Returns:
@Returns: non-zero if event debugging output is enabled.
<!-- ##### FUNCTION gdk_set_show_events ##### -->
<para>
Sets whether event debugging information is output.
Note that GTK+ must be compiled with debugging enabled, i.e. using the
<option>--enable-debug</option> configure option.
</para>
@show_events:
<!-- ##### FUNCTION gdk_event_set_screen ##### -->
<para>
</para>
@event:
@screen:
<!-- ##### FUNCTION gdk_event_get_screen ##### -->
<para>
</para>
@event:
@Returns:
@show_events: %TRUE to output event debugging information.
<!-- ##### FUNCTION gdk_setting_get ##### -->
<para>
Obtains a desktop-wide setting, such as the double-click time.
</para>
<para>
FIXME needs a list of valid settings here, or a link to
more information.
</para>
@name:
@value:
@Returns:
@name: the name of the setting.
@value: location to store the value of the setting.
@Returns: %TRUE if the value has been successfully stored.

View File

@@ -2,7 +2,7 @@
Fonts
<!-- ##### SECTION Short_Description ##### -->
Loading and manipulating fonts
loading and manipulating fonts
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -30,8 +30,8 @@ full description:
<para>
The fields in the XLFD are:
<informaltable pgwide="1" frame="none">
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
<informaltable pgwide=1 frame="none">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
@@ -287,38 +287,30 @@ are currently:
<!-- ##### FUNCTION gdk_font_load ##### -->
<para>
Loads a font.
</para>
@font_name:
@Returns:
<!-- ##### FUNCTION gdk_font_load_for_display ##### -->
<para>
The font may be newly loaded or looked up the font in a cache.
You should make no assumptions about the initial reference count.
</para>
@display:
@font_name:
@Returns:
@font_name: a XLFD describing the font to load.
@Returns: a #GdkFont, or %NULL if the font could not be loaded.
<!-- ##### FUNCTION gdk_fontset_load ##### -->
<para>
Loads a fontset.
</para>
@fontset_name:
@Returns:
<!-- ##### FUNCTION gdk_fontset_load_for_display ##### -->
<para>
The fontset may be newly loaded or looked up in a cache.
You should make no assumptions about the initial reference count.
</para>
@display:
@fontset_name:
@Returns:
@fontset_name: a comma-separated list of XLFDs describing
the component fonts of the fontset to load.
@Returns: a #GdkFont, or %NULL if the fontset could not be loaded.
<!-- ##### FUNCTION gdk_font_from_description ##### -->
@@ -330,199 +322,227 @@ are currently:
@Returns:
<!-- ##### FUNCTION gdk_font_from_description_for_display ##### -->
<para>
</para>
@display:
@font_desc:
@Returns:
<!-- ##### FUNCTION gdk_font_get_display ##### -->
<para>
</para>
@font:
@Returns:
<!-- ##### FUNCTION gdk_font_ref ##### -->
<para>
Increases the reference count of a font by one.
</para>
@font:
@Returns:
@font: a #GdkFont
@Returns: @font
<!-- ##### FUNCTION gdk_font_unref ##### -->
<para>
Decreases the reference count of a font by one.
If the result is zero, destroys the font.
</para>
@font:
@font: a #GdkFont
<!-- ##### FUNCTION gdk_font_id ##### -->
<para>
Returns the X Font ID for the given font.
</para>
@font:
@Returns:
@font: a #GdkFont.
@Returns: the numeric X Font ID
<!-- ##### FUNCTION gdk_font_equal ##### -->
<para>
Compares two fonts for equality. Single fonts compare equal
if they have the same X font ID. This operation does
not currently work correctly for fontsets.
</para>
@fonta:
@fontb:
@Returns:
@fonta: a #GdkFont.
@fontb: another #GdkFont.
@Returns: %TRUE if the fonts are equal.
<!-- ##### FUNCTION gdk_string_extents ##### -->
<para>
Returns the metrics of a nul-terminated string.
</para>
@font:
@string:
@lbearing:
@rbearing:
@width:
@ascent:
@descent:
@font: a #GdkFont.
@string: the nul-terminated string to measure.
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_text_extents ##### -->
<para>
Returns the metrics of a string.
</para>
@font:
@text:
@text_length:
@lbearing:
@rbearing:
@width:
@ascent:
@descent:
@font: a #GdkFont
@text: the text to measure
@text_length: the length of the text in bytes. (If the
font is a 16-bit font, this is twice the length
of the text in characters.)
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_text_extents_wc ##### -->
<para>
Returns the metrics of a string of wide characters.
</para>
@font:
@text:
@text_length:
@lbearing:
@rbearing:
@width:
@ascent:
@descent:
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in character.
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_string_width ##### -->
<para>
Determines the width of a nul-terminated string.
(The distance from the origin of the string to the
point where the next string in a sequence of strings
should be drawn)
</para>
@font:
@string:
@Returns:
@font: a #GdkFont
@string: the nul-terminated string to measure
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_text_width ##### -->
<para>
Determines the width of a given string.
</para>
@font:
@text:
@text_length:
@Returns:
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_text_width_wc ##### -->
<para>
Determines the width of a given wide-character string.
</para>
@font:
@text:
@text_length:
@Returns:
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in characters.
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_char_width ##### -->
<para>
Determines the width of a given character.
</para>
@font:
@character:
@Returns:
@font: a #GdkFont
@character: the character to measure.
@Returns: the width of the character in pixels.
<!-- ##### FUNCTION gdk_char_width_wc ##### -->
<para>
Determines the width of a given wide character. (Encoded
in the wide-character encoding of the current locale).
</para>
@font:
@character:
@Returns:
@font: a #GdkFont
@character: the character to measure.
@Returns: the width of the character in pixels.
<!-- ##### FUNCTION gdk_string_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a nul-terminated string when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
See gdk_string_width().
</para>
@font:
@string:
@Returns:
@font: a #GdkFont
@string: the nul-terminated string to measure.
@Returns: the right bearing of the string in pixels.
<!-- ##### FUNCTION gdk_text_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a string when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
See gdk_text_width().
</para>
@font:
@text:
@text_length:
@Returns:
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the right bearing of the string in pixels.
<!-- ##### FUNCTION gdk_char_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a character when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
</para>
@font:
@character:
@Returns:
@font: a #GdkFont
@character: the character to measure.
@Returns: the right bearing of the character in pixels.
<!-- ##### FUNCTION gdk_string_height ##### -->
<para>
Determines the total height of a given nul-terminated
string. This value is not generally useful, because you
cannot determine how this total height will be drawn in
relation to the baseline. See gdk_string_extents().
</para>
@font:
@string:
@Returns:
@font: a #GdkFont
@string: the nul-terminated string to measure.
@Returns: the height of the string in pixels.
<!-- ##### FUNCTION gdk_text_height ##### -->
<para>
Determines the total height of a given string.
This value is not generally useful, because you cannot
determine how this total height will be drawn in
relation to the baseline. See gdk_text_extents().
</para>
@font:
@text:
@text_length:
@Returns:
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the height of the string in pixels.
<!-- ##### FUNCTION gdk_char_height ##### -->
<para>
Determines the total height of a given character.
This value is not generally useful, because you cannot
determine how this total height will be drawn in
relation to the baseline. See gdk_text_extents().
</para>
@font:
@character:
@Returns:
@font: a #GdkFont
@character: the character to measure.
@Returns: the height of the character in pixels.
<!-- ##### TYPEDEF GdkWChar ##### -->
@@ -562,19 +582,28 @@ for more detailed information on wide and multi-byte characters.
<!-- ##### FUNCTION gdk_wcstombs ##### -->
<para>
Converts a wide character string to a multi-byte string.
(The function name comes from an acronym of 'Wide Character String TO
Multi-Byte String').
</para>
@src:
@Returns:
@src: a wide character string.
@Returns: the multi-byte string corresponding to @src, or %NULL if the
conversion failed. The returned string should be freed with g_free() when no
longer needed.
<!-- ##### FUNCTION gdk_mbstowcs ##### -->
<para>
Converts a multi-byte string to a wide character string.
(The function name comes from an acronym of 'Multi-Byte String TO Wide
Character String').
</para>
@dest:
@src:
@dest_max:
@Returns:
@dest: the space to place the converted wide character string into.
@src: the multi-byte string to convert, which must be nul-terminated.
@dest_max: the maximum number of wide characters to place in @dest.
@Returns: the number of wide characters written into @dest, or -1 if the
conversion failed.

View File

@@ -2,7 +2,7 @@
Graphics Contexts
<!-- ##### SECTION Short_Description ##### -->
Objects to encapsulate drawing properties
objects to encapsulate drawing properties.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -37,6 +37,12 @@ It is an opaque structure with no user-visible
elements.
</para>
@parent_instance:
@clip_x_origin:
@clip_y_origin:
@ts_x_origin:
@ts_y_origin:
@colormap:
<!-- ##### STRUCT GdkGCValues ##### -->
<para>
@@ -138,15 +144,6 @@ Create a new GC with the given initial values.
@Returns: the new graphics context.
<!-- ##### FUNCTION gdk_gc_get_screen ##### -->
<para>
</para>
@gc:
@Returns:
<!-- ##### FUNCTION gdk_gc_ref ##### -->
<para>

View File

@@ -596,14 +596,6 @@ status information, so the application does not need to do anything.
</para>
<!-- ##### FUNCTION gdk_display_set_sm_client_id ##### -->
<para>
</para>
@display:
@sm_client_id:
<!-- ##### FUNCTION gdk_font_full_name_free ##### -->
<para>
Frees a full font name obtained from gdk_font_full_name_get().
@@ -630,20 +622,6 @@ fonts making up a given #GdkFont.
@win:
@Returns:
<!-- ##### FUNCTION gdk_get_default_display ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_get_default_screen ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_ic_attr_destroy ##### -->
<para>
Destroys the given #GdkICAttr struct, freeing the allocated memory.
@@ -839,7 +817,7 @@ Sets the key event generated when a macro button is pressed.
</para>
@deviceid: the device to configure.
@index_: the index of the macro button.
@index: the index of the macro button.
@keyval: the key value for the #GdkKeypressEvent to generate.
(a value of 0 means no event will be generated.)
@modifiers: the modifier field for the generated
@@ -887,14 +865,6 @@ they will be ignored.
</para>
<!-- ##### FUNCTION gdk_open_display ##### -->
<para>
</para>
@display_name:
@Returns:
<!-- ##### VARIABLE gdk_progclass ##### -->
<para>
@@ -907,50 +877,9 @@ they will be ignored.
</para>
<!-- ##### FUNCTION gdk_screen_close ##### -->
<para>
</para>
@screen:
<!-- ##### FUNCTION gdk_screen_get_window_at_pointer ##### -->
<para>
</para>
@screen:
@win_x:
@win_y:
@Returns:
<!-- ##### FUNCTION gdk_screen_use_virtual_screen ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### VARIABLE gdk_selection_property ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_set_default_display ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdkx_visual_get_for_screen ##### -->
<para>
</para>
@screen:
@xvisualid:
@Returns:

View File

@@ -1,263 +0,0 @@
<!-- ##### SECTION Title ##### -->
GdkDisplay
<!-- ##### SECTION Short_Description ##### -->
Controls the keyboard/mouse pointer grabs and a set of <type>GdkScreen</type>s
<!-- ##### SECTION Long_Description ##### -->
<para>
#GdkDisplay objects purpose are two fold:
<itemizedlist>
<listitem><para>To grab/ungrab keyboard focus and mouse pointer</para></listitem>
<listitem><para>To manage and provide information about the #GdkScreen(s)
available for this #GdkDisplay
</para></listitem>
</itemizedlist>
</para>
<para>
#GdkDisplay objects are the GDK representation of the X Display which can be
described as <emphasis>a workstation consisting of a keyboard a pointing
device (such as a mouse) and one or more screens</emphasis>.
It is used to open and keep track of various #GdkScreen objects currently
instanciated by the application. It is also used to grab and release the keyboard
and the mouse pointer.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkDisplay ##### -->
<para>
The <structname>GdkDisplay</structname> struct is the GDK representation
of an X display. All its fields are private and should not be accessed directly.
</para>
@Since: 2.2
<!-- ##### FUNCTION gdk_display_open ##### -->
<para>
</para>
@display_name:
@Returns:
<!-- ##### FUNCTION gdk_display_get_default ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_display_get_name ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_get_n_screens ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_get_screen ##### -->
<para>
</para>
@display:
@screen_num:
@Returns:
<!-- ##### FUNCTION gdk_display_get_default_screen ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_pointer_ungrab ##### -->
<para>
</para>
@display:
@time_:
<!-- ##### FUNCTION gdk_display_keyboard_ungrab ##### -->
<para>
</para>
@display:
@time_:
<!-- ##### FUNCTION gdk_display_pointer_is_grabbed ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_beep ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdk_display_sync ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdk_display_close ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdk_display_list_devices ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_get_event ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_peek_event ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_put_event ##### -->
<para>
</para>
@display:
@event:
<!-- ##### FUNCTION gdk_display_add_client_message_filter ##### -->
<para>
</para>
@display:
@message_type:
@func:
@data:
<!-- ##### FUNCTION gdk_display_set_double_click_time ##### -->
<para>
</para>
@display:
@msec:
<!-- ##### FUNCTION gdk_display_get_pointer ##### -->
<para>
</para>
@display:
@screen:
@x:
@y:
@mask:
<!-- ##### FUNCTION gdk_display_get_window_at_pointer ##### -->
<para>
</para>
@display:
@win_x:
@win_y:
@Returns:
<!-- ##### STRUCT GdkDisplayPointerHooks ##### -->
<para>
A table of pointers to functions for getting quantities related to
the current pointer position. Each #GdkDisplay has a table of this type,
which can be set using gdk_display_set_pointer_hooks().
</para>
<para>
This is only useful for such low-level tools as an event recorder.
Applications should never have any reason to use this facility
</para>
@get_pointer: Obtains the current pointer position and modifier state.
The position is given in coordinates relative to the window containing
the pointer, which is returned in @window.
@window_get_pointer: Obtains the window underneath the mouse pointer.
Current pointer position and modifier state are returned in @x, @y and
@mask. The position is given in coordinates relative to @window.
@window_at_pointer: Obtains the window underneath the mouse pointer,
returning the location of that window in @win_x, @win_y. Returns %NULL
if the window under the mouse pointer is not known to GDK (for example,
belongs to another application).
@Since: 2.2
<!-- ##### FUNCTION gdk_display_set_pointer_hooks ##### -->
<para>
</para>
@display:
@new_hooks:
@Returns:
<!-- ##### SIGNAL GdkDisplay::closed ##### -->
<para>
</para>
@gdkdisplay: the object which received the signal.
@arg1:

View File

@@ -1,83 +0,0 @@
<!-- ##### SECTION Title ##### -->
GdkDisplayManager
<!-- ##### SECTION Short_Description ##### -->
Maintains a list of all open <type>GdkDisplay</type>s
<!-- ##### SECTION Long_Description ##### -->
<para>
The purpose of the #GdkDisplayManager singleton object is to offer
notification when displays appear or disappear or the default display
changes.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkDisplayManager ##### -->
<para>
The <structname>GdkDisplayManager</structname> struct has no interesting
fields.
</para>
@Since: 2.2
<!-- ##### FUNCTION gdk_display_manager_get ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_display_manager_get_default_display ##### -->
<para>
</para>
@display_manager:
@Returns:
<!-- ##### FUNCTION gdk_display_manager_set_default_display ##### -->
<para>
</para>
@display_manager:
@display:
<!-- ##### FUNCTION gdk_display_manager_list_displays ##### -->
<para>
</para>
@display_manager:
@Returns:
<!-- ##### FUNCTION gdk_display_get_core_pointer ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### SIGNAL GdkDisplayManager::display-opened ##### -->
<para>
</para>
@gdkdisplaymanager: the object which received the signal.
@arg1:
<!-- ##### ARG GdkDisplayManager:default-display ##### -->
<para>
</para>

View File

@@ -1,256 +0,0 @@
<!-- ##### SECTION Title ##### -->
GdkScreen
<!-- ##### SECTION Short_Description ##### -->
Object representing a physical screen
<!-- ##### SECTION Long_Description ##### -->
<para>
#GdkScreen objects are the GDK representation of a physical screen. It is used
throughout GDK and GTK+ to specify which screen the top level windows
are to be displayed on.
It is also used to query the screen specification and default settings such as
the default colormap (gdk_screen_get_default_colormap()),
the screen width (gdk_screen_get_width()), etc.
</para>
<para>Note that a screen may consist of multiple monitors which are merged to
form a large screen area.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkScreen ##### -->
<para>
This is a currently just a placeholder typedef for the first argument of
the @window_at_pointer function in #GdkPointerHooks. It will be used
when GDK gets multihead support.
</para>
@Since: 2.2
<!-- ##### FUNCTION gdk_screen_get_default ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_screen_get_default_colormap ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_set_default_colormap ##### -->
<para>
</para>
@screen:
@colormap:
<!-- ##### FUNCTION gdk_screen_get_system_colormap ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_system_visual ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_rgb_colormap ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_rgb_visual ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_root_window ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_display ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_number ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_width ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_height ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_width_mm ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_height_mm ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_list_visuals ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_toplevel_windows ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_make_display_name ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_n_monitors ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_geometry ##### -->
<para>
</para>
@screen:
@monitor_num:
@dest:
<!-- # Unused Parameters # -->
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_at_point ##### -->
<para>
</para>
@screen:
@x:
@y:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_at_window ##### -->
<para>
</para>
@screen:
@window:
@Returns:
<!-- # Unused Parameters # -->
@anid:
<!-- ##### FUNCTION gdk_screen_broadcast_client_message ##### -->
<para>
</para>
@screen:
@event:
<!-- ##### FUNCTION gdk_screen_get_setting ##### -->
<para>
</para>
@screen:
@name:
@value:
@Returns:
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
<para>
</para>
@gdkscreen: the object which received the signal.

View File

@@ -2,7 +2,7 @@
General
<!-- ##### SECTION Short_Description ##### -->
Library initialization and miscellaneous functions
library initialization and miscellaneous functions.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -53,23 +53,6 @@ by GTK+ applications.
@Returns: %TRUE if initialization succeeded.
<!-- ##### FUNCTION gdk_parse_args ##### -->
<para>
</para>
@argc:
@argv:
<!-- ##### FUNCTION gdk_get_display_arg_name ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_set_locale ##### -->
<para>
Initializes the support for internationalization by calling the <function>setlocale()</function>
@@ -96,9 +79,24 @@ locale.
<!-- ##### FUNCTION gdk_set_sm_client_id ##### -->
<para>
Sets the <literal>SM_CLIENT_ID</literal> property on the application's leader window so that
the window manager can save the application's state using the X11R6 ICCCM
session management protocol.
</para>
<para>
The leader window is automatically created by GDK and never shown. It's only
use is for session management. The <literal>WM_CLIENT_LEADER</literal> property is automatically
set on all X windows created by the application to point to the leader window.
</para>
<para>
See the X Session Management Library documentation for more information on
session management and the Inter-Client Communication Conventions Manual
(ICCCM) for information on the <literal>WM_CLIENT_LEADER</literal> property.
(Both documents are part of the X Window System distribution.)
</para>
@sm_client_id:
@sm_client_id: the client id assigned by the session manager when the
connection was opened, or %NULL to remove the property.
<!-- ##### FUNCTION gdk_exit ##### -->
@@ -115,13 +113,6 @@ of g_atexit()).
@error_code: the error code to pass to the <function>exit()</function> call.
<!-- ##### FUNCTION gdk_notify_startup_complete ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_get_program_class ##### -->
<para>
Gets the program class. Unless the program class has explicitly
@@ -163,30 +154,38 @@ trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
<!-- ##### FUNCTION gdk_screen_width ##### -->
<para>
Returns the width of the screen in pixels.
</para>
@Returns:
@Returns: the width of the screen in pixels.
<!-- ##### FUNCTION gdk_screen_height ##### -->
<para>
Returns the height of the screen in pixels.
</para>
@Returns:
@Returns: the height of the screen in pixels.
<!-- ##### FUNCTION gdk_screen_width_mm ##### -->
<para>
Returns the width of the screen in millimeters.
Note that on many X servers this value will not be correct.
</para>
@Returns:
@Returns: the width of the screen in millimeters, though it is not always
correct.
<!-- ##### FUNCTION gdk_screen_height_mm ##### -->
<para>
Returns the height of the screen in millimeters.
Note that on many X servers this value will not be correct.
</para>
@Returns:
@Returns: the height of the screen in millimeters, though it is not always
correct.
<!-- ##### FUNCTION gdk_pointer_grab ##### -->
@@ -228,7 +227,7 @@ and leave events will be generated as necessary.
@cursor: the cursor to display while the grab is active. If this is %NULL then
the normal cursors are used for @window and its descendants, and the cursor
for @window is used for all other windows.
@time_: the timestamp of the event which led to this pointer grab. This usually
@time: the timestamp of the event which led to this pointer grab. This usually
comes from a #GdkEventButton struct, though %GDK_CURRENT_TIME can be used if
the time isn't known.
@Returns: %GDK_GRAB_SUCCESS if the grab was successful.
@@ -250,19 +249,26 @@ success or the reason for the failure of the grab attempt.
<!-- ##### FUNCTION gdk_pointer_ungrab ##### -->
<para>
Ungrabs the pointer, if it is grabbed by this application.
</para>
@time_:
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
available.
<!-- ##### FUNCTION gdk_pointer_is_grabbed ##### -->
<para>
Returns %TRUE if the pointer is currently grabbed by this application.
</para>
<para>
Note that the return value is not completely reliable since the X server may
automatically ungrab the pointer, without informing the application, if the
grab window becomes unviewable. It also does not take passive pointer grabs
into account.
</para>
@Returns:
@Returns: %TRUE if the pointer is currently grabbed by this application.
Though this value is not always correct.
<!-- ##### FUNCTION gdk_set_double_click_time ##### -->
@@ -286,20 +292,23 @@ This overrides any previous keyboard grab by this client.
normal, but keyboard events outside this application are reported with respect
to @window. Both key press and key release events are always reported,
independant of the event mask set by the application.
@time_: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
available.
@Returns: %GDK_GRAB_SUCCESS if the grab was successful.
<!-- ##### FUNCTION gdk_keyboard_ungrab ##### -->
<para>
Ungrabs the keyboard, if it is grabbed by this application.
</para>
@time_:
@time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is
available.
<!-- ##### FUNCTION gdk_beep ##### -->
<para>
Emits a short beep.
</para>
@@ -337,16 +346,16 @@ of exiting the application. It should only be used if it is not possible to
avoid the X error in any other way.
</para>
<example>
<title>Trapping an X error</title>
<title>Trapping an X error.</title>
<programlisting>
gdk_error_trap_push (<!-- -->);
gdk_error_trap_push (<!>);
/* ... Call the X function which may cause an error here ... */
/* Flush the X queue to catch errors now. */
gdk_flush (<!-- -->);
gdk_flush (<!>);
if (gdk_error_trap_pop (<!-- -->))
if (gdk_error_trap_pop (<!>))
{
/* ... Handle the error here ... */
}

View File

@@ -2,7 +2,7 @@
Images
<!-- ##### SECTION Short_Description ##### -->
A client-side area for bit-mapped graphics
an area for bit-mapped graphics stored on the X Windows client.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -105,25 +105,32 @@ and if that fails then %GDK_IMAGE_NORMAL will be used.
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
<para>
Creates a new #GdkImage with a depth of 1 from the given data.
<warning><para>THIS FUNCTION IS INCREDIBLY BROKEN. The passed-in data must
be allocated by malloc() (NOT g_malloc()) and will be freed when the
image is freed.</para></warning>
</para>
@visual:
@data:
@width:
@height:
@Returns:
@visual: the #GdkVisual to use for the image.
@data: the pixel data.
@width: the width of the image in pixels.
@height: the height of the image in pixels.
@Returns: a new #GdkImage.
<!-- ##### FUNCTION gdk_image_get ##### -->
<para>
Gets part of a #GdkWindow and stores it in a new #GdkImage.
</para>
@drawable:
@x:
@y:
@width:
@height:
@Returns:
@x: the left edge of the rectangle to copy from @window.
@y: the top edge of the rectangle to copy from @window.
@width: the width of the area to copy, in pixels.
@height: the height of the area to copy, in pixels.
@Returns: a new #GdkImage with a copy of the given area of @window.
<!-- # Unused Parameters # -->
@window: the #GdkWindow to copy from.
<!-- ##### FUNCTION gdk_image_ref ##### -->

View File

@@ -2,7 +2,7 @@
Input
<!-- ##### SECTION Short_Description ##### -->
Callbacks on file descriptors
Callbacks on file descriptors.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -55,8 +55,8 @@ of this enumeration correspond to the @readfds,
@writefds, and @exceptfds arguments to the
<function>select</function> system call.
<informaltable pgwide="1" frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>

View File

@@ -2,7 +2,7 @@
Input Devices
<!-- ##### SECTION Short_Description ##### -->
Functions for handling extended input devices
Functions for handling extended input devices.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -174,9 +174,11 @@ types that GTK+ understands.
<!-- ##### FUNCTION gdk_devices_list ##### -->
<para>
Returns the list of available input devices. The list is statically
allocated and should not be freed.
</para>
@Returns:
@Returns: a list of #GdkDevice*.
<!-- ##### FUNCTION gdk_device_set_source ##### -->
@@ -207,7 +209,7 @@ is pressed.
</para>
@device: a #GdkDevice.
@index_: the index of the macro button to set.
@index: the index of the macro button to set.
@keyval: the keyval to generate.
@modifiers: the modifiers to set.
@@ -218,15 +220,17 @@ Specifies how an axis of a device is used.
</para>
@device: a #GdkDevice.
@index_: the index of the axis.
@index: the index of the axis.
@use: specifies how the axis is used.
<!-- ##### FUNCTION gdk_device_get_core_pointer ##### -->
<para>
Returns the device for the core pointer. The device is statically
allocated and should not be freed.
</para>
@Returns:
@Returns: a #GdkDevice.
<!-- ##### FUNCTION gdk_device_get_state ##### -->

View File

@@ -2,7 +2,7 @@
Key Values
<!-- ##### SECTION Short_Description ##### -->
Functions for manipulating keyboard codes
functions for manipulating keyboard codes.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -89,6 +89,7 @@ state; the second phase is to look up the keycode/group/level triplet
in the keymap and see what keyval it corresponds to.
</para>
@parent_instance:
<!-- ##### STRUCT GdkKeymapKey ##### -->
<para>
@@ -116,15 +117,6 @@ be mapped to a keyval.
@Returns:
<!-- ##### FUNCTION gdk_keymap_get_for_display ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_keymap_lookup_key ##### -->
<para>

View File

@@ -2,7 +2,7 @@
Pango Interaction
<!-- ##### SECTION Short_Description ##### -->
Low-level access to Pango
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -22,15 +22,6 @@ Low-level access to Pango
@Returns:
<!-- ##### FUNCTION gdk_pango_context_get_for_screen ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_pango_context_set_colormap ##### -->
<para>

View File

@@ -2,7 +2,7 @@
Pixbufs
<!-- ##### SECTION Short_Description ##### -->
Functions for rendering pixbufs on drawables
<!-- ##### SECTION Long_Description ##### -->
<para>

View File

@@ -2,7 +2,7 @@
Bitmaps and Pixmaps
<!-- ##### SECTION Short_Description ##### -->
Offscreen drawables
Offscreen drawables.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -27,22 +27,21 @@ The type #GdkDrawable refers generically to any of
these types.
</para>
@user_data:
<!-- ##### FUNCTION gdk_pixmap_new ##### -->
<para>
Create a new pixmap with a given size and depth.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @depth is specified,
@width: The width of the new pixmap in pixels.
@height: The height of the new pixmap in pixels.
@depth: The depth (number of bits per pixel) of the new pixmap.
If -1, and @window is not %NULL, the depth of the new
pixmap will be equal to that of @window.
@Returns: the #GdkPixmap
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @depth is specified,
<!-- ##### FUNCTION gdk_bitmap_create_from_data ##### -->
@@ -50,15 +49,13 @@ Create a new pixmap with a given size and depth.
Creates a new bitmap from data in XBM format.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL, in which case the root window is
used.
@data: a pointer to the XBM data.
@width: the width of the new pixmap in pixels.
@height: the height of the new pixmap in pixels.
@Returns: the #GdkBitmap
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL, in which case the root window is
used.
<!-- ##### FUNCTION gdk_pixmap_create_from_data ##### -->
@@ -66,7 +63,8 @@ Creates a new bitmap from data in XBM format.
Create a two-color pixmap from data in XBM data.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL, if the depth is given.
@data: a pointer to the data.
@width: the width of the new pixmap in pixels.
@height: the height of the new pixmap in pixels.
@@ -74,9 +72,6 @@ Create a two-color pixmap from data in XBM data.
@fg: the foreground color.
@bg: the background color.
@Returns: the #GdkPixmap
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL, if the depth is given.
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm ##### -->
@@ -84,7 +79,8 @@ Create a two-color pixmap from data in XBM data.
Create a pixmap from a XPM file.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap.
@mask: a pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@@ -93,9 +89,6 @@ that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@filename: the filename of a file containing XPM data.
@Returns: the #GdkPixmap
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap.
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm ##### -->
@@ -103,7 +96,8 @@ in which case a default color will be used.
Create a pixmap from a XPM file using a particular colormap.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @colormap is given.
@colormap: the #GdkColormap that the new pixmap will be use.
If omitted, the colormap for @window will be used.
@mask: a pointer to a place to store a bitmap representing
@@ -114,9 +108,6 @@ that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@filename: the filename of a file containing XPM data.
@Returns: the #GdkPixmap.
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @colormap is given.
<!-- ##### FUNCTION gdk_pixmap_create_from_xpm_d ##### -->
@@ -124,7 +115,8 @@ in which case a default color will be used.
Create a pixmap from data in XPM format.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap.
@mask: Pointer to a place to store a bitmap representing
the transparency mask of the XPM file. Can be %NULL,
in which case transparency will be ignored.
@@ -133,9 +125,6 @@ that are transparent in the input file. Can be %NULL
in which case a default color will be used.
@data: Pointer to a string containing the XPM data.
@Returns: the #GdkPixmap
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap.
<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm_d ##### -->
@@ -144,7 +133,8 @@ Create a pixmap from data in XPM format using a particular
colormap.
</para>
@drawable:
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @colormap is given.
@colormap: the #GdkColormap that the new pixmap will be use.
If omitted, the colormap for @window will be used.
@mask: a pointer to a place to store a bitmap representing
@@ -155,9 +145,6 @@ that are transparent in the input file. Can be %NULL,
in which case a default color will be used.
@data: Pointer to a string containing the XPM data.
@Returns: the #GdkPixmap.
<!-- # Unused Parameters # -->
@window: a #GdkWindow, used to determine default values for the
new pixmap. Can be %NULL if @colormap is given.
<!-- ##### MACRO gdk_pixmap_ref ##### -->

View File

@@ -2,7 +2,7 @@
Properties and Atoms
<!-- ##### SECTION Short_Description ##### -->
Functions to manipulate properties on windows
functions to manipulate properties on windows.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -96,20 +96,6 @@ the nul-separated elements of the original text string.)
if the conversion failed.
<!-- ##### FUNCTION gdk_text_property_to_text_list_for_display ##### -->
<para>
</para>
@display:
@encoding:
@format:
@text:
@length:
@list:
@Returns:
<!-- ##### FUNCTION gdk_free_text_list ##### -->
<para>
Frees the array of strings created by
@@ -133,20 +119,6 @@ gdk_text_property_to_text_list().
@Returns:
<!-- ##### FUNCTION gdk_text_property_to_utf8_list_for_display ##### -->
<para>
</para>
@display:
@encoding:
@format:
@text:
@length:
@list:
@Returns:
<!-- ##### FUNCTION gdk_string_to_compound_text ##### -->
<para>
Converts a string from the encoding of the current locale
@@ -161,20 +133,6 @@ into a form suitable for storing in a window property.
@Returns: 0 upon sucess, non-zero upon failure.
<!-- ##### FUNCTION gdk_string_to_compound_text_for_display ##### -->
<para>
</para>
@display:
@str:
@encoding:
@format:
@ctext:
@length:
@Returns:
<!-- ##### FUNCTION gdk_free_compound_text ##### -->
<para>
Frees the data returned from gdk_string_to_compound_text().
@@ -205,20 +163,6 @@ Frees the data returned from gdk_string_to_compound_text().
@Returns:
<!-- ##### FUNCTION gdk_utf8_to_compound_text_for_display ##### -->
<para>
</para>
@display:
@str:
@encoding:
@format:
@ctext:
@length:
@Returns:
<!-- ##### FUNCTION gdk_atom_intern ##### -->
<para>
Finds or creates an atom corresponding to a given string.

View File

@@ -2,7 +2,7 @@
Points, Rectangles and Regions
<!-- ##### SECTION Short_Description ##### -->
Simple graphical data types
simple graphical data types.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -233,44 +233,58 @@ Positive values shrink the region. Negative values expand it.
<!-- ##### FUNCTION gdk_region_union_with_rect ##### -->
<para>
Sets the area of @region to the union of the areas of @region and
@rect. The resulting area is the set of pixels contained in
either @region or @rect.
</para>
@region:
@rect:
@region: a #GdkRegion.
@rect: a #GdkRectangle.
<!-- ##### FUNCTION gdk_region_intersect ##### -->
<para>
Sets the area of @source1 to the intersection of the areas of @source1
and @source2. The resulting area is the set of pixels contained in
both @source1 and @source2.
</para>
@source1:
@source2:
@source1: a #GdkRegion
@source2: a #GdkRegion
<!-- ##### FUNCTION gdk_region_union ##### -->
<para>
Sets the area of @source1 to the union of the areas of @source1 and
@source2. The resulting area is the set of pixels contained in
either @source1 or @source2.
</para>
@source1:
@source2:
@source1: a #GdkRegion
@source2: a #GdkRegion
<!-- ##### FUNCTION gdk_region_subtract ##### -->
<para>
Subtracts the area of @source2 from the area @source1. The resulting
area is the set of pixels contained in @source1 but not in @source2.
</para>
@source1:
@source2:
@source1: a #GdkRegion
@source2: a #GdkRegion
<!-- ##### FUNCTION gdk_region_xor ##### -->
<para>
Sets the area of @source1 to the exclusive-OR of the areas of @source1
and @source2. The resulting area is the set of pixels contained in one
or the other of the two sources but not in both.
</para>
@source1:
@source2:
@source1: a #GdkRegion
@source2: a #GdkRegion
<!-- ##### STRUCT GdkSpan ##### -->

View File

@@ -2,7 +2,7 @@
GdkRGB
<!-- ##### SECTION Short_Description ##### -->
Renders RGB, grayscale, or indexed image data to a GdkDrawable
renders RGB, grayscale, or indexed image data to a #GdkDrawable
<!-- ##### SECTION Long_Description ##### -->
@@ -35,12 +35,12 @@ in cases where a "better" visual than the default is available.
</para>
<example>
<title>A simple example program using GdkRGB</title>
<title>A simple example program using GdkRGB.</title>
<programlisting>
&num;include &lt;gtk/gtk.h&gt;
#include &lt;gtk/gtk.h&gt;
&num;define IMAGE_WIDTH 256
&num;define IMAGE_HEIGHT 256
#define IMAGE_WIDTH 256
#define IMAGE_HEIGHT 256
guchar rgbbuf[IMAGE_WIDTH * IMAGE_HEIGHT * 3];
@@ -58,7 +58,7 @@ main (int argc, char *argv[])
gtk_init (&amp;argc, &amp;argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
darea = gtk_drawing_area_new (<!-- -->);
darea = gtk_drawing_area_new (<!>);
gtk_widget_set_size_request (darea, IMAGE_WIDTH, IMAGE_HEIGHT);
gtk_container_add (GTK_CONTAINER (window), darea);
gtk_signal_connect (GTK_OBJECT (darea), "expose-event",
@@ -67,9 +67,9 @@ main (int argc, char *argv[])
/* Set up the RGB buffer. */
pos = rgbbuf;
for (y = 0; y &lt; IMAGE_HEIGHT; y++)
for (y = 0; y < IMAGE_HEIGHT; y++)
{
for (x = 0; x &lt; IMAGE_WIDTH; x++)
for (x = 0; x < IMAGE_WIDTH; x++)
{
*pos++ = x - x % 32; /* Red. */
*pos++ = (x / 32) * 4 + y - y % 32; /* Green. */
@@ -77,7 +77,7 @@ main (int argc, char *argv[])
}
}
gtk_main (<!-- -->);
gtk_main (<!>);
return 0;
}
@@ -409,9 +409,14 @@ private colormap.
<!-- ##### FUNCTION gdk_rgb_get_visual ##### -->
<para>
Gets a "preferred visual" chosen by GdkRGB. In previous versions of
GDK, this was the only visual GdkRGB could use for rendering. In
current versions, it's simply the visual GdkRGB would have chosen as
the optimal one in those previous versions. GdkRGB can now render to
drawables with any visual.
</para>
@Returns:
@Returns: The #GdkVisual chosen by GdkRGB.
<!-- ##### FUNCTION gdk_rgb_get_colormap ##### -->

View File

@@ -2,7 +2,7 @@
Selections
<!-- ##### SECTION Short_Description ##### -->
Functions for transfering data via the X selection mechanism
functions for transfering data via the X selection mechanism.
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -197,7 +197,7 @@ Sets the owner of the given selection.
@owner: a #GdkWindow or %NULL to indicate that the
the owner for the given should be unset.
@selection: an atom identifying a selection.
@time_: timestamp to use when setting the selection.
@time: timestamp to use when setting the selection.
If this is older than the timestamp given last
time the owner was set for the given selection, the
request will be ignored.
@@ -208,19 +208,6 @@ Sets the owner of the given selection.
changed to @owner, otherwise %FALSE.
<!-- ##### FUNCTION gdk_selection_owner_set_for_display ##### -->
<para>
</para>
@display:
@owner:
@selection:
@time_:
@send_event:
@Returns:
<!-- ##### FUNCTION gdk_selection_owner_get ##### -->
<para>
Determines the owner of the given selection.
@@ -237,16 +224,6 @@ Determines the owner of the given selection.
this call.
<!-- ##### FUNCTION gdk_selection_owner_get_for_display ##### -->
<para>
</para>
@display:
@selection:
@Returns:
<!-- ##### FUNCTION gdk_selection_convert ##### -->
<para>
Retrieves the contents of a selection in a given
@@ -257,7 +234,7 @@ form.
@selection: an atom identifying the selection to get the
contents of.
@target: the form in which to retrieve the selection.
@time_: the timestamp to use when retrieving the
@time: the timestamp to use when retrieving the
selection. The selection owner may refuse the
request if it did not own the selection at
the time indicated by the timestamp.
@@ -265,13 +242,21 @@ form.
<!-- ##### FUNCTION gdk_selection_property_get ##### -->
<para>
Retrieves selection data that was stored by the selection
data in response to a call to gdk_selection_convert().
</para>
@requestor:
@data:
@prop_type:
@prop_format:
@Returns:
@requestor: the window on which the data is stored
@data: location to store a pointer to the retrieved data.
If the retrieval failed, %NULL we be stored here, otherwise, it
will be non-%NULL and the returned data should be freed with g_free()
when you are finished using it. The length of the
allocated memory is one more than the the length
of the returned data, and the final byte will always
be zero, to ensure nul-termination of strings.
@prop_type: location to store the type of the property.
@prop_format: location to store the format of the property.
@Returns: the length of the retrieved data.
<!-- ##### FUNCTION gdk_selection_send_notify ##### -->
@@ -285,19 +270,6 @@ Sends a response to SelectionRequest event.
@property: property in which the selection owner stored the
data, or %GDK_NONE to indicate that the request
was rejected.
@time_: timestamp.
<!-- ##### FUNCTION gdk_selection_send_notify_for_display ##### -->
<para>
</para>
@display:
@requestor:
@selection:
@target:
@property:
@time_:
@time: timestamp.

View File

@@ -2,7 +2,7 @@
Threads
<!-- ##### SECTION Short_Description ##### -->
Functions for using GDK in multi-threaded programs
functions for using GDK in multi-threaded programs
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -43,20 +43,10 @@ As always, you must also surround any calls to GTK+ not made within
a signal handler with a gdk_threads_enter()/gdk_threads_leave() pair.
</para>
<para>
Before calling gdk_threads_leave() from a thread other
than your main thread, you probably want to call gdk_flush()
to send all pending commands to the windowing system.
(The reason you don't need to do this from the main thread
is that GDK always automatically flushes pending commands
when it runs out of incoming events to process and has
to sleep while waiting for more events.)
</para>
<para>A minimal main program for a threaded GTK+ application
looks like:</para>
<informalexample>
<para>
<programlisting role="C">
int
main (int argc, char *argv[])
@@ -64,20 +54,20 @@ main (int argc, char *argv[])
GtkWidget *window;
g_thread_init (NULL);
gdk_threads_init (<!-- -->);
gdk_threads_init ();
gtk_init (&amp;argc, &amp;argv);
window = create_window (<!-- -->);
window = create_window ();
gtk_widget_show (window);
gdk_threads_enter (<!-- -->);
gtk_main (<!-- -->);
gdk_threads_leave (<!-- -->);
gdk_threads_enter ();
gtk_main ();
gdk_threads_leave ();
return 0;
}
</programlisting>
</informalexample>
</para>
<para>
Callbacks require a bit of attention. Callbacks from GTK+ signals
@@ -92,7 +82,7 @@ do.
illustrate how to use threads within GTK+ programs.
</para>
<informalexample>
<para>
<programlisting role="C">
/*-------------------------------------------------------------------------
* Filename: gtk-thread.c
@@ -114,16 +104,16 @@ illustrate how to use threads within GTK+ programs.
*
*/
&num;include &lt;stdio.h&gt;
&num;include &lt;stdlib.h&gt;
&num;include &lt;unistd.h&gt;
&num;include &lt;time.h&gt;
&num;include &lt;gtk/gtk.h&gt;
&num;include &lt;glib.h&gt;
&num;include &lt;pthread.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;time.h&gt;
#include &lt;gtk/gtk.h&gt;
#include &lt;glib.h&gt;
#include &lt;pthread.h&gt;
&num;define YES_IT_IS (1)
&num;define NO_IT_IS_NOT (0)
#define YES_IT_IS (1)
#define NO_IT_IS_NOT (0)
typedef struct
{
@@ -134,20 +124,20 @@ typedef struct
G_LOCK_DEFINE_STATIC (yes_or_no);
static volatile int yes_or_no = YES_IT_IS;
void destroy (GtkWidget *widget, gpointer data)
void destroy(GtkWidget *widget, gpointer data)
{
gtk_main_quit (<!-- -->);
gtk_main_quit();
}
void *argument_thread (void *args)
void *argument_thread(void *args)
{
yes_or_no_args *data = (yes_or_no_args *)args;
gboolean say_something;
for (;;)
for(;;)
{
/* sleep a while */
sleep(rand(<!-- -->) / (RAND_MAX / 3) + 1);
sleep(rand() / (RAND_MAX / 3) + 1);
/* lock the yes_or_no_variable */
G_LOCK(yes_or_no);
@@ -162,28 +152,28 @@ void *argument_thread (void *args)
}
/* Unlock the yes_or_no variable */
G_UNLOCK (yes_or_no);
G_UNLOCK(yes_or_no);
if (say_something)
if(say_something)
{
/* get GTK thread lock */
gdk_threads_enter (<!-- -->);
gdk_threads_enter();
/* set label text */
if(data->what == YES_IT_IS)
gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!");
gtk_label_set_text(GTK_LABEL(data->label), "O yes, it is!");
else
gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!");
gtk_label_set_text(GTK_LABEL(data->label), "O no, it isn't!");
/* release GTK thread lock */
gdk_threads_leave (<!-- -->);
gdk_threads_leave();
}
}
return NULL;
return(NULL);
}
int main (int argc, char *argv[])
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *label;
@@ -191,49 +181,49 @@ int main (int argc, char *argv[])
pthread_t no_tid, yes_tid;
/* init threads */
g_thread_init (NULL);
gdk_threads_init (<!-- -->);
g_thread_init(NULL);
gdk_threads_init ();
/* init gtk */
gtk_init(&amp;argc, &amp;argv);
/* init random number generator */
srand ((unsigned int) time (NULL));
srand((unsigned int)time(NULL));
/* create a window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy), NULL);
gtk_signal_connect(GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC(destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_container_set_border_width(GTK_CONTAINER (window), 10);
/* create a label */
label = gtk_label_new ("And now for something completely different ...");
gtk_container_add (GTK_CONTAINER (window), label);
label = gtk_label_new("And now for something completely different ...");
gtk_container_add(GTK_CONTAINER(window), label);
/* show everything */
gtk_widget_show (label);
gtk_widget_show(label);
gtk_widget_show (window);
/* create the threads */
yes_args.label = label;
yes_args.what = YES_IT_IS;
pthread_create (&amp;yes_tid, NULL, argument_thread, &amp;yes_args);
pthread_create(&amp;yes_tid, NULL, argument_thread, &amp;yes_args);
no_args.label = label;
no_args.what = NO_IT_IS_NOT;
pthread_create (&amp;no_tid, NULL, argument_thread, &amp;no_args);
pthread_create(&amp;no_tid, NULL, argument_thread, &amp;no_args);
/* enter the GTK main loop */
gdk_threads_enter (<!-- -->);
gtk_main (<!-- -->);
gdk_threads_leave (<!-- -->);
gdk_threads_enter();
gtk_main();
gdk_threads_leave();
return 0;
return(0);
}
</programlisting>
</informalexample>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>

View File

@@ -64,9 +64,9 @@ guint
pixel_from_rgb (GdkVisual *visual,
guchar r, guchar b, guchar g)
{
return ((r &gt;&gt; (16 - visual-&gt;red_prec)) &lt;&lt; visual-&gt;red_shift) |
((g &gt;&gt; (16 - visual-&gt;green_prec)) &lt;&lt; visual-&gt;green_shift) |
((r &gt;&gt; (16 - visual-&gt;blue_prec)) &lt;&lt; visual-&gt;blue_shift);
return ((r >> (16 - visual->red_prec)) << visual->red_shift) |
((g >> (16 - visual->green_prec)) << visual->green_shift) |
((r >> (16 - visual->blue_prec)) << visual->blue_shift);
}
</programlisting>
</example>
@@ -93,7 +93,7 @@ pixel_from_rgb (GdkVisual *visual,
<structfield>red_mask</structfield> is a contiguous sequence
of <structfield>red_prec</structfield> bits starting at bit
number <structfield>red_shift</structfield>. For example,
<xref linkend="rgbmask"/> shows constructing a pixel value
<xref linkend="rgbmask"> shows constructing a pixel value
out of three 16 bit color values.
@red_prec: See above.
@green_mask: A mask giving the bits in a pixel value that
@@ -248,12 +248,3 @@ Deprecated equivalent of g_object_unref().
@v:
<!-- ##### FUNCTION gdk_visual_get_screen ##### -->
<para>
</para>
@visual:
@Returns:

View File

@@ -2,7 +2,8 @@
Windows
<!-- ##### SECTION Short_Description ##### -->
Onscreen display areas in the target window system
onscreen display areas in the target window system
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -27,6 +28,7 @@ The type #GdkDrawable refers generically to any of
these types.
</para>
@user_data: used to store the #GtkWidget associated with this window
<!-- ##### ENUM GdkWindowType ##### -->
<para>
@@ -196,10 +198,6 @@ and behaviour of the window. The hint must be set before mapping the window.
@GDK_WINDOW_TYPE_HINT_DIALOG: Dialog window.
@GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu.
@GDK_WINDOW_TYPE_HINT_TOOLBAR: Window used to implement toolbars.
@GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
@GDK_WINDOW_TYPE_HINT_UTILITY:
@GDK_WINDOW_TYPE_HINT_DOCK:
@GDK_WINDOW_TYPE_HINT_DESKTOP:
<!-- ##### STRUCT GdkWindowAttr ##### -->
<para>
@@ -240,6 +238,14 @@ corresponding flag in #GdkWindowAttributesType.
@GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
@GDK_WA_NOREDIR: Honor the override_redirect field
<!-- ##### STRUCT GdkScreen ##### -->
<para>
This is a currently just a placeholder typedef for the first argument of
the @window_at_pointer function in #GdkPointerHooks. It will be used
when GDK gets multihead support.
</para>
<!-- ##### FUNCTION gdk_window_new ##### -->
<para>
@@ -400,22 +406,6 @@ Deprecated equivalent of g_object_unref()
@window:
<!-- ##### FUNCTION gdk_window_fullscreen ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_window_unfullscreen ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_window_move ##### -->
<para>
@@ -947,24 +937,6 @@ Deprecated equivalent to gdk_drawable_set_colormap()
@hint:
<!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
<para>
</para>
@window:
@skips_taskbar:
<!-- ##### FUNCTION gdk_window_set_skip_pager_hint ##### -->
<para>
</para>
@window:
@skips_pager:
<!-- ##### FUNCTION gdk_window_get_position ##### -->
<para>

View File

@@ -2,7 +2,7 @@
X Window System Interaction
<!-- ##### SECTION Short_Description ##### -->
X backend-specific functions
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -59,10 +59,8 @@ Returns the X window belonging to a #GdkWindow.
Returns the display of a #GdkPixmap.
</para>
@pix:
@Returns: an Xlib <type>Display*</type>.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### MACRO GDK_PIXMAP_XID ##### -->
@@ -70,18 +68,8 @@ Returns the display of a #GdkPixmap.
Returns the X pixmap belonging to a #GdkPixmap.
</para>
@pix:
@Returns: the Xlib <type>XPixmap</type> of @win.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
<!-- ##### MACRO GDK_DISPLAY_XDISPLAY ##### -->
<para>
Returns the display of a #GdkDisplay.
</para>
@display: a #GdkDisplay.
@Returns: the Xlib <type>XPixmap</type> of @win.
<!-- ##### MACRO GDK_DRAWABLE_XDISPLAY ##### -->
@@ -147,34 +135,6 @@ Returns the X colormap belonging to a #GdkColormap.
@Returns: an Xlib <type>Colormap</type>.
<!-- ##### MACRO GDK_SCREEN_XDISPLAY ##### -->
<para>
Returns the display of a #GdkScreen.
</para>
@screen: a #GdkScreen.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### MACRO GDK_SCREEN_XNUMBER ##### -->
<para>
Returns the index of a #GdkScreen.
</para>
@screen: a #GdkScreen
@Returns: the position of @screen among the screens of
its display.
<!-- ##### MACRO GDK_SCREEN_XSCREEN ##### -->
<para>
Returns the screen of a #GdkScreen.
</para>
@screen: a #GdkScreen
@Returns: an Xlib <type>Screen*</type>.
<!-- ##### MACRO GDK_VISUAL_XVISUAL ##### -->
<para>
Returns the X visual belonging to a #GdkVisual.
@@ -252,19 +212,20 @@ Another name for GDK_DRAWABLE_XID().
<!-- ##### FUNCTION gdkx_visual_get ##### -->
<para>
Returns a #GdkVisual corresponding to a X visual.
</para>
@xvisualid:
@Returns:
@xvisualid: a X visual id.
@Returns: the #GdkVisual.
<!-- ##### FUNCTION gdkx_colormap_get ##### -->
<para>
Returns a #GdkColormap corresponding to a X colormap.
</para>
@xcolormap:
@Returns:
@xcolormap: a X colormap.
@Returns: the #GdkColormap.
<!-- ##### FUNCTION gdk_pixmap_foreign_new ##### -->
@@ -276,16 +237,6 @@ Another name for GDK_DRAWABLE_XID().
@Returns:
<!-- ##### FUNCTION gdk_pixmap_foreign_new_for_display ##### -->
<para>
</para>
@display:
@anid:
@Returns:
<!-- ##### FUNCTION gdk_window_foreign_new ##### -->
<para>
@@ -295,100 +246,49 @@ Another name for GDK_DRAWABLE_XID().
@Returns:
<!-- ##### FUNCTION gdk_window_foreign_new_for_display ##### -->
<para>
</para>
@display:
@anid:
@Returns:
<!-- ##### FUNCTION gdk_xid_table_lookup ##### -->
<para>
Returns the Gdk object associated with the given X id.
</para>
@xid:
@Returns:
<!-- ##### FUNCTION gdk_xid_table_lookup_for_display ##### -->
<para>
</para>
@display:
@xid:
@Returns:
@xid: an X id.
@Returns: the associated Gdk object, which may be a #GdkPixmap,
a #GdkWindow or a #GdkFont.
<!-- ##### FUNCTION gdk_window_lookup ##### -->
<para>
Obtains the #GdkWindow for the given Xlib window ID, or %NULL if no #GdkWindow has
been created for @xid.
</para>
@anid:
@Returns:
<!-- ##### FUNCTION gdk_window_lookup_for_display ##### -->
<para>
</para>
@display:
@anid:
@Returns:
<!-- # Unused Parameters # -->
@xid: Xlib window ID
<!-- ##### FUNCTION gdk_pixmap_lookup ##### -->
<para>
Obtains the #GdkPixmap for the given Xlib pixmap ID, or %NULL if no #GdkPixmap has
been created for @xid.
</para>
@anid:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_lookup_for_display ##### -->
<para>
</para>
@display:
@anid:
@Returns:
<!-- # Unused Parameters # -->
@xid: Xlib pixmap ID
<!-- ##### MACRO gdk_font_lookup ##### -->
<para>
Obtains the #GdkFont for the given Xlib font ID, or %NULL if no #GdkFont has
Obtains the #GdkFont for the given Xlib pixmap ID, or %NULL if no #GdkPixmap has
been created for @xid.
</para>
@xid:
<!-- ##### MACRO gdk_font_lookup_for_display ##### -->
<para>
Obtains the #GdkFont for the given Xlib font ID on @display, or %NULL if no
#GdkFont has been created for @xid.
</para>
@display: a #GdkDisplay
@xid: an Xlib font ID
Since: 2.2
<!-- ##### FUNCTION gdk_x11_lookup_xdisplay ##### -->
<para>
</para>
@xdisplay:
@Returns:
<!-- ##### FUNCTION gdk_x11_get_server_time ##### -->
<para>
@@ -407,122 +307,60 @@ Since: 2.2
@Returns:
<!-- ##### FUNCTION gdk_x11_screen_supports_net_wm_hint ##### -->
<para>
</para>
@screen:
@property:
@Returns:
<!-- ##### FUNCTION gdk_x11_screen_get_window_manager_name ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_x11_screen_lookup_visual ##### -->
<para>
</para>
@screen:
@xvisualid:
@Returns:
<!-- ##### FUNCTION gdk_x11_colormap_foreign_new ##### -->
<para>
</para>
@visual:
@xcolormap:
@Returns:
<!-- ##### FUNCTION gdk_x11_colormap_get_xcolormap ##### -->
<para>
Returns the X colormap belonging to a #GdkColormap.
</para>
@colormap:
@Returns:
@colormap: a #GdkColormap.
@Returns: an Xlib <type>Colormap</type>.
<!-- ##### FUNCTION gdk_x11_colormap_get_xdisplay ##### -->
<para>
Returns the display of a #GdkColormap.
</para>
@colormap:
@Returns:
@colormap: a #GdkColormap.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### FUNCTION gdk_x11_cursor_get_xcursor ##### -->
<para>
Returns the X cursor belonging to a #GdkCursor.
</para>
@cursor:
@cursor: a #GdkCursor.
@Returns:
<!-- # Unused Parameters # -->
@Retursn: an Xlib <type>Cursor</type.
<!-- ##### FUNCTION gdk_x11_cursor_get_xdisplay ##### -->
<para>
Returns the display of a #GdkCursor.
</para>
@cursor:
@Returns:
<!-- ##### FUNCTION gdk_x11_display_get_xdisplay ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_x11_display_grab ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdk_x11_display_ungrab ##### -->
<para>
</para>
@display:
@cursor: a #GdkCursor.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### FUNCTION gdk_x11_drawable_get_xdisplay ##### -->
<para>
Returns the display of a #GdkDrawable.
</para>
@drawable:
@Returns:
@drawable: a #GdkDrawable.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### FUNCTION gdk_x11_drawable_get_xid ##### -->
<para>
Returns the X resource (window or pixmap) belonging to a #GdkDrawable.
</para>
@drawable:
@Returns:
@drawable: a #GdkDrawable.
@Returns: the ID of @win's X resource.
<!-- ##### FUNCTION gdk_x11_font_get_name ##### -->
@@ -536,46 +374,47 @@ Since: 2.2
<!-- ##### FUNCTION gdk_x11_font_get_xdisplay ##### -->
<para>
Returns the display of a #GdkFont.
</para>
@font:
@Returns:
@font: a #GdkFont.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### FUNCTION gdk_x11_font_get_xfont ##### -->
<para>
Returns the X font belonging to a #GdkFont.
</para>
@font:
@Returns:
@font: a #GdkFont.
@Returns: an Xlib <type>XFontStruct*</type> or an <type>XFontSet</type>.
<!-- ##### FUNCTION gdk_x11_gc_get_xdisplay ##### -->
<para>
Returns the display of a #GdkGC.
</para>
@gc:
@Returns:
@gc: a #GdkGC.
@Returns: an Xlib <type>Display*</type>.
<!-- ##### FUNCTION gdk_x11_gc_get_xgc ##### -->
<para>
Returns the X GC of a #GdkGC.
</para>
@gc:
@Returns:
@gc: a #GdkGC.
@Returns: an Xlib <type>GC</type>.
<!-- ##### FUNCTION gdk_x11_get_default_root_xwindow ##### -->
<para>
Gets the root window of the default screen
(see gdk_x11_get_default_screen()).
</para>
@Returns:
@Returns: an Xlib <type>Window</type>.
<!-- ##### FUNCTION gdk_x11_get_default_screen ##### -->
@@ -588,69 +427,60 @@ Since: 2.2
<!-- ##### FUNCTION gdk_x11_get_default_xdisplay ##### -->
<para>
Gets the default GTK+ display.
</para>
@Returns:
@Returns: the Xlib <type>Display*</type> for the display
specified in the <option>--display</option> command line option
or the <envar>DISPLAY</envar> environment variable.
<!-- ##### FUNCTION gdk_x11_grab_server ##### -->
<para>
Call <function>XGrabServer()</function> on the default display.
To ungrab the server again, use gdk_x11_ungrab_server().
</para>
<para>
gdk_x11_grab_server()/gdk_x11_ungrab_server() calls can be nested.
</para>
<!-- ##### FUNCTION gdk_x11_image_get_xdisplay ##### -->
<para>
Returns the display of a #GdkImage.
</para>
@image:
@Returns:
@Returns: an Xlib <type>Display*</type>.
<!-- # Unused Parameters # -->
@drawable: a #GdkImage.
<!-- ##### FUNCTION gdk_x11_image_get_ximage ##### -->
<para>
Returns the X image belonging to a #GdkImage.
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_x11_screen_get_screen_number ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_x11_screen_get_xscreen ##### -->
<para>
</para>
@screen:
@Returns:
@image: a #GdkImage.
@Returns: an <type>XImage*</type>.
<!-- ##### FUNCTION gdk_x11_ungrab_server ##### -->
<para>
Ungrab the default display after it has been grabbed with
gdk_x11_grab_server().
</para>
<!-- ##### FUNCTION gdk_x11_visual_get_xvisual ##### -->
<para>
Returns the X visual belonging to a #GdkVisual.
</para>
@visual:
@Returns:
@visual: a #GdkVisual.
@Returns: an Xlib <type>Visual*</type>.
<!-- ##### FUNCTION gdk_x11_atom_to_xatom ##### -->
@@ -662,16 +492,6 @@ Since: 2.2
@Returns:
<!-- ##### FUNCTION gdk_x11_atom_to_xatom_for_display ##### -->
<para>
</para>
@display:
@atom:
@Returns:
<!-- ##### FUNCTION gdk_x11_xatom_to_atom ##### -->
<para>
@@ -681,16 +501,6 @@ Since: 2.2
@Returns:
<!-- ##### FUNCTION gdk_x11_xatom_to_atom_for_display ##### -->
<para>
</para>
@display:
@xatom:
@Returns:
<!-- ##### FUNCTION gdk_x11_get_xatom_by_name ##### -->
<para>
@@ -700,16 +510,6 @@ Since: 2.2
@Returns:
<!-- ##### FUNCTION gdk_x11_get_xatom_by_name_for_display ##### -->
<para>
</para>
@display:
@atom_name:
@Returns:
<!-- ##### FUNCTION gdk_x11_get_xatom_name ##### -->
<para>
@@ -719,13 +519,3 @@ Since: 2.2
@Returns:
<!-- ##### FUNCTION gdk_x11_get_xatom_name_for_display ##### -->
<para>
</para>
@display:
@xatom:
@Returns:

View File

@@ -1 +0,0 @@
@GTK_VERSION@

View File

@@ -1,18 +1,16 @@
Makefile
Makefile.in
gtk-decl-list.txt
gtk-decl.txt
gtk-scan.lo
gtk-undocumented.txt
gtk-unused.txt
sgml
html
.libs
gtk.args
gtk.hierarchy
gtk.interfaces
gtk.prerequisites
gtk.signals
html
xml
gtk-decl.txt
gtk-decl-list.txt
gtk-undocumented.txt
gtk-unused.txt
gtk-scan.lo
*.stamp
*.lo
.libs
version.xml

View File

@@ -16,7 +16,7 @@ SCANGOBJ_OPTIONS=--type-init-func="gtk_type_init(0)"
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
@@ -91,7 +91,6 @@ HTML_IMAGES = \
$(top_srcdir)/gtk/stock-icons/stock_align_justify_24.png \
$(top_srcdir)/gtk/stock-icons/stock_align_left_24.png \
$(top_srcdir)/gtk/stock-icons/stock_align_right_24.png \
$(top_srcdir)/gtk/stock-icons/stock_broken_image_24.png \
$(top_srcdir)/gtk/stock-icons/stock_new_24.png \
$(top_srcdir)/gtk/stock-icons/stock_no_20.png \
$(top_srcdir)/gtk/stock-icons/stock_ok_20.png \
@@ -126,7 +125,6 @@ HTML_IMAGES = \
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
content_files = \
version.xml \
running.sgml \
building.sgml \
changes-1.2.sgml \
@@ -142,7 +140,7 @@ content_files = \
x11.sgml
# Other files to distribute
extra_files = version.xml.in
extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
@@ -191,11 +189,9 @@ EXTRA_DIST = \
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).signals
if ENABLE_GTK_DOC
@@ -289,19 +285,10 @@ endif
dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/sgml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

View File

@@ -142,7 +142,7 @@ How to compile GTK+ itself
library along with version number information.) The version
of <command>pkg-config</command> needed to build GTK+ is
mirrored in the <filename>dependencies</filename> directory
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP
site.</ulink>
</para>
</listitem>
@@ -169,17 +169,15 @@ How to compile GTK+ itself
The GLib library provides core non-graphical functionality
such as high level data types, Unicode manipulation, and
a object and type system to C programs. It is available
from the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+
from the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+
FTP site.</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. Itis available from
the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP
site.</ulink>. Either Pango-1.0 or Pango-1.2 can be used
with GTK+-2.2, though Pango-1.2 is recommended.
Pango is a library for internationalized text handling. It
is available from the <ulink
url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP site.</ulink>
</para>
</listitem>
<listitem>
@@ -188,7 +186,7 @@ How to compile GTK+ itself
interfaces allowing accessibility technologies such as
screen readers to interact with a graphical user interface.
It is available from the <ulink
url="ftp://ftp.gtk.org/pub/gtk/v2.2/">GTK+ FTP site.</ulink>
url="ftp://ftp.gtk.org/pub/gtk/v2.0/">GTK+ FTP site.</ulink>
</para>
</listitem>
<listitem>
@@ -219,7 +217,7 @@ How to compile GTK+ itself
compile GTK+. You probably already have these libraries
installed, but if not, the versions you need are available in
the <filename>dependencies</filename> directory on the the
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.2/dependencies/">GTK+
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.0/dependencies/">GTK+
FTP site.</ulink>. (Before installing these libraries
from source, you should check if your operating system
vendor has prebuilt packages of these libraries that you
@@ -228,26 +226,26 @@ How to compile GTK+ itself
</listitem>
<listitem>
<para>
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides.
While not required for running GTK+ on X, you may want install the
<ulink url="http://www.freetype.org">FreeType
library</ulink> so that the PangoFT2 backend for Pango will
be built. This backend is used by the linux-fb backend for
GTK+ and applications that want to render independently
of the X display. You'll need at least version 2.0.1.
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
library provides Pango with a standard way of locating
fonts and matching them against font names. The Xft2
library, distributed with fontconfig, provide support for
scaleable and antialiased fonts on X. Pango includes two
backends that work on top of fontconfig: an Xft2 backend
and a backend that uses fontconfig and the underlying
<ulink url="http://www.freetype.org">FreeType
library</ulink> directly. Neither backend is mandatory, but the
Xft2 backend is the preferred backend for X and the FreeType
backend is needed by many applications.
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides. If you have a recent
version of the XFree86 system, such as 4.2.0, then Pango
and GTK+ will take advantage of the Xft and Xrender
libraries to provide anti-aliased and scaleable fonts in
a much more sophisticated fashion then the support for
core X fonts.
</para>
</listitem>
</itemizedlist>
@@ -273,8 +271,13 @@ How to compile GTK+ itself
<link linkend="gtk-compiling">start compiling your own GTK+
applications</link>. You can test your GTK+ installation
by running the <command>gtk-demo</command> program that
GTK+ installs.
GTK+ installs. If you have the Xft library, you can turn on
anti-aliased fonts by setting the <envar>GDK_USE_XFT</envar>
environment variable.
</para>
<programlisting>
GDK_USE_XFT=1 gtk-demo
</programlisting>
<para>
If one of the <filename>configure</filename> scripts fails or running
<command>make</command> fails, look closely at the error
@@ -285,7 +288,7 @@ How to compile GTK+ itself
Looking at the last couple of hundred lines in this file will
frequently make clear what went wrong. If all else fails, you
can ask for help on the gtk-list mailing list.
See <xref linkend="gtk-resources"/> for more information.
See <xref linkend="gtk-resources"> for more information.
</para>
</refsect1>
<refsect1 id="extra-configuration-options">
@@ -332,7 +335,7 @@ How to compile GTK+ itself
<arg>--enable-gtk-doc</arg>
</group>
<group>
<arg>--with-xinput=[no|yes]</arg>
<arg>--with-xinput=[no|gxi|xfree]</arg>
</group>
<group>
<arg>--with-gdktarget=[x11|linux-fb|win32]</arg>
@@ -494,6 +497,9 @@ How to compile GTK+ itself
provided by the device such as pressure and tilt
information. This is only known to work well on XFree86
systems, though other systems do have this extension.
(If <systemitem>--with-xinput=gxi</systemitem>
is supplied, support for an obsolete and unsupported
way of interacting with XInput is compiled.)
</para>
</formalpara>
<formalpara>

Some files were not shown because too many files have changed in this diff Show More