Compare commits

..

109 Commits

Author SHA1 Message Date
Matthias Clasen 00abd6a36b 2.6.2 2005-02-04 19:08:27 +00:00
Matthias Clasen dfcb773476 Work better when there is not enough space. This avoids a nasty size
2005-02-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkpaned.c (gtk_paned_compute_position): Work better
        when there is not enough space. This avoids a nasty size
        allocation loop in the file chooser.  (#154007, reported
        by Milosz Derezynski, patch by Robert Ögren)
2005-02-04 17:45:05 +00:00
Matthias Clasen 3d67b0de18 Avoid spurious selection of RTL direction if the widget does not have
2005-02-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_create_layout): Avoid spurious
	selection of RTL direction if the widget does not have
	focus.  (#164125, Frederic Crozat)
2005-02-04 15:36:02 +00:00
Pauli Virtanen 83af87b41d Updated Finnish translation.
2005-02-04  Pauli Virtanen  <pauli.virtanen@hut.fi>

        * fi.po: Updated Finnish translation.
2005-02-04 10:11:14 +00:00
Tor Lillqvist 4e82deacd8 Use the wide character version of ImmGetCompositionString() here, too.
2005-02-03  Tor Lillqvist  <tml@novell.com>

	* modules/input/gtkimcontextime.c (get_pango_attr_list): Use the
	wide character version of ImmGetCompositionString() here,
	too. (#165278, Takuro Ashie)
2005-02-03 20:49:33 +00:00
Matthias Clasen 60bc8d0b77 Don't do one roundtrip per motion event. (#166173, pointed out by Chris
2005-02-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_handle_scrolling): Don't do
	one roundtrip per motion event.  (#166173, pointed out
	by Chris Lee, patch by Søren Sandmann)
2005-02-03 18:10:49 +00:00
Mark McLoughlin b6cd92f645 remove debug spew.
2005-02-03  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtkicontheme.c: (load_themes): remove debug spew.
2005-02-03 16:51:55 +00:00
Kostas Papadimas 4b08c83f0f Updated Greek Translation. 2005-02-03 16:32:15 +00:00
Matthias Clasen 503dd06986 Make the gdk_key array const (#166075, Tommi Komulainen)
2005-02-03  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkkeynames.c: Make the gdk_key array const (#166075,
	Tommi Komulainen)
2005-02-03 15:38:20 +00:00
Alexander Shopov 8d33536350 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2005-02-02  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2005-02-02 18:56:09 +00:00
Federico Mena Quintero 42945febfd Don't select the first row if the chooser is not mapped. This happens when
2005-02-02  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
	Don't select the first row if the chooser is not mapped.  This
	happens when it's acting on behalf of GtkFileChooserButton.  Also,
	don't select the first row if we are in SAVE or CREATE_FOLDER
	modes --- I had missed that (see the ChangeLog entry from
	2005-01-18).  Fixes #165264.
2005-02-02 18:22:35 +00:00
Tor Lillqvist 1b976c4464 Implement lazy extended input initialization on Win32, by Robert Ögren.
2005-02-02  Tor Lillqvist  <tml@novell.com>

	Implement lazy extended input initialization on Win32, by Robert
	Ögren. Fixes #163163, possibly #162334. Lazy initialization would
	be a good idea in any case even if it didn't fix any visible
	problems, though.

	The Wacom tablet driver seems to get confused if Wintab is
	initialized but no window is shown before the process exits. This
	is the case for some GIMP plug-ins, for instance.

	* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Made
	non-static (and renamed).
	(_gdk_input_init): Don't call _gdk_input_wintab_init_check().

	* gdk/win32/gdkinput-win32.h: Declare _gdk_input_wintab_init_check().

	* gdk/win32/gdkinput.c (gdk_devices_list,
	gdk_display_list_devices, gdk_input_set_extension_events): Call
	_gdk_input_wintab_init_check() here instead.
2005-02-02 18:13:41 +00:00
Ivan, Wong Yat Cheung 14ec6ddec3 Use a FIFO list for storing GdkSelProp of a single window so that
2005-02-02  Ivan, Wong Yat Cheung  <email@ivanwong.info>

	* gdk/win32/gdkselection.c: Use a FIFO list for storing GdkSelProp
	of a single window so that gtk_clipboard_request_contents() can be
	called inside a GtkClipboardReceivedFunc(). (#163844)
2005-02-02 17:29:20 +00:00
Priit Laes 13882b5f8e Translation updated by Ivar Smolin.
2005-02-02  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-02-02 16:41:46 +00:00
Laurent Dhima 5d3e310dbc Updated Albanian translation.
2005-02-02  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2005-02-02 08:46:30 +00:00
Matthias Clasen 2bb62c29c3 Updates
Updates
2005-02-02 07:02:57 +00:00
Matthias Clasen 54099127ef Mark GdkEventOwnerChange and GdkOwnerChange as 2.6 additions. (#165823,
2005-02-02  Matthias Clasen  <mclasen@redhat.com>

	* gdk/tmpl/event_structs.sgml:
	* gdk/tmpl/events.sgml: Mark GdkEventOwnerChange and
	GdkOwnerChange as 2.6 additions.  (#165823, Masao Mutoh)
2005-02-02 06:23:00 +00:00
Matthias Clasen b14361feef Look for icons in XDG_DATA_DIRS/pixmaps. (#165950, Thomas Zajic)
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (gtk_icon_theme_init): Look for icons
	in XDG_DATA_DIRS/pixmaps.  (#165950, Thomas Zajic)
2005-02-02 04:29:16 +00:00
Matthias Clasen 40ce4d2995 Set info->icon_list to NULL after freeing it. (#165800, Damon Chaplin)
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_set_icon_name): Set info->icon_list
	to NULL after freeing it.  (#165800, Damon Chaplin)
2005-02-02 03:54:07 +00:00
Federico Mena Quintero 710acda91c Don't g_assert_not_reached() if we are in any other state. Another code
2005-02-01  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(browse_files_model_finished_loading_cb): Don't
	g_assert_not_reached() if we are in any other state.  Another code
	path may have triggered a folder reload.  Fixes #165556.
2005-02-02 00:52:14 +00:00
Michael Natterer 49bfb352bb depend on stable pango-1.8, not unstable 1.7
2005-02-01  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on stable pango-1.8, not unstable 1.7
2005-02-02 00:15:31 +00:00
Federico Mena Quintero 6a33d02463 Fix #165770:
2005-02-01  Federico Mena Quintero  <federico@ximian.com>

	Fix #165770:

	* gtk/gtkfilechooserdefault.c (FALLBACK_ICON_SIZE): Make the
	fallback size be 16, to be equal to the default for
	GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()).
	(change_icon_theme): Use GTK_ICON_SIZE_MENU instead of
	GTK_ICON_SIZE_SMALL_TOOLBAR.
2005-02-01 23:55:04 +00:00
Matthias Clasen 3a7fcb54d5 Remove debug printf. (#165877, Carlos Garnacho Parro)
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed):
	Remove debug printf.  (#165877, Carlos Garnacho Parro)
2005-02-01 18:52:09 +00:00
Matthias Clasen 91708cf600 Fix many instances of "the the" in docs and comments. (#165815, Masao
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* */*.c: Fix many instances of "the the" in docs and
	comments.  (#165815, Masao Mutoh)
2005-02-01 18:07:41 +00:00
Matthias Clasen d223323e08 Add a --quiet option.
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c (main): Add a --quiet option.
2005-02-01 13:52:40 +00:00
Tor Lillqvist 40ebcb878c New functions, code blocks refactored out of update_keymap(). No
2005-02-01  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (handle_special, set_shift_vks,
	reset_after_dead, handle_dead): New functions, code blocks
	refactored out of update_keymap(). No functionality change.

	(update_keymap): Use ToUnicodeEx() when available (on NT-based
	Windows) instead of ToAsciiEx(). Makes keyboard input work in
	Unicode-only input locales that don't have any ANSI codepage, for
	instance Hindi and Bengali. Use _gdk_input_codepage only on
	Win9x. (#165723)

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_INPUTLANGCHANGE, use GetLocaleInfo() instead of
	TranslateCharsetInfo() to get the input locale's corresponding
	codepage, if any.
2005-02-01 11:33:58 +00:00
Matthias Clasen 8ec056217c Use NULL, not 0 to terminate NULL-terminated va lists. (#165683)
2005-01-31  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c: Use NULL, not 0 to terminate
	NULL-terminated va lists.  (#165683)
2005-01-31 19:55:10 +00:00
Martin Willemoes Hansen 2dfc05f941 Updated Danish translation.
* da.po: Updated Danish translation.
2005-01-31 11:00:03 +00:00
Žygimantas Beručka b5920b0f66 Updated Lithuanian translation.
2005-01-31  Žygimantas Beručka  <uid0@akl.lt>

        * lt.po: Updated Lithuanian translation.
2005-01-31 10:18:09 +00:00
Alessio Frusciante ee126f8b6f Updated Italian translation. 2005-01-30 18:36:47 +00:00
Priit Laes c7952ccd91 Translation updated.
2005-01-29  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated.
2005-01-29 18:50:10 +00:00
Christian Rose a59fdf547a Updated Swedish translation.
2005-01-28  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2005-01-28 20:31:44 +00:00
Manish Singh a959f2a1ce update ancient IRC info.
Thu Jan 27 14:25:45 2005  Manish Singh  <yosh@gimp.org>

        * README.cvs-commits: update ancient IRC info.
2005-01-27 22:27:02 +00:00
Federico Mena Quintero 4cbee7b5b9 Oops, don't assert that we can't reach the end of the function; this
2005-01-27  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_select_path): Oops, don't assert that we
	can't reach the end of the function; this happens if we are still
	loading but don't need a path change.  Fixes #165213.
2005-01-27 20:02:40 +00:00
Kjartan Maraas a4d2679444 Update Update
2005-01-27  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-01-27 15:40:22 +00:00
Matthias Clasen 0619f0576b Some visual tweaks to the about dialog, obey HIG spacing a bit more, add a
2005-01-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaboutdialog.c: Some visual tweaks to the about dialog,
	obey HIG spacing a bit more, add a hand cursor when over the
	link button.  (#163979, Jorn Baayen)
2005-01-27 14:15:33 +00:00
Jordi Mallach 51914c6e89 Updated Catalan translation. 2005-01-27 14:02:51 +00:00
Frank Arnold cc6cf7c77e Removed context string in translation. Added comment.
2005-01-26  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Removed context string in translation. Added comment.
2005-01-26 07:55:50 +00:00
Changwoo Ryu 0a67ab7d32 Updated Korean translation.
2005-01-26  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2005-01-26 07:29:08 +00:00
Matthias Clasen c0f10b5ff6 Don't allow -1 as minimum-key-length. (gtk_entry_completion_set_model):
2005-01-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
	Don't allow -1 as minimum-key-length.
	(gtk_entry_completion_set_model): Add missing notification.
	(gtk_entry_completion_set_minimum_key_length): Add missing
	notification, allow setting minimum-key-length to 0.  (#165194,
	Vincent Ladeuil)
2005-01-26 06:50:05 +00:00
Matthias Clasen 1dc40fa709 Make sure the license dialog is initially displayed without a horizontal
2005-01-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaboutdialog.c (display_license_dialog): Make sure
	the license dialog is initially displayed without a horizontal
	scrollbar.
	(gtk_about_dialog_class_init): Document the fact that the
	license text is not wrapped.  (#165012, Christian Rose)
2005-01-26 06:07:48 +00:00
Changwoo Ryu 8d8fe966e0 Removed CVS conflict indicator. Updated Korean translation.
2005-01-26  Changwoo Ryu  <cwryu@debian.org>

	* ChangeLog: Removed CVS conflict indicator.
	* ko.po: Updated Korean translation.
2005-01-26 05:12:56 +00:00
Matthias Clasen 3a4316602d Fix docs. (#165180, Jeff Franks)
2005-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c (gtk_button_set_image): Fix docs.  (#165180,
	Jeff Franks)
2005-01-25 20:54:43 +00:00
Matthias Clasen f5f1b8aab4 Fix docs. (#165163, Jeff Franks)
2005-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Fix
	docs.  (#165163, Jeff Franks)
2005-01-25 18:51:36 +00:00
Matthias Clasen 505441e464 Add bug ref 2005-01-25 18:45:16 +00:00
Matthias Clasen 361878c1dd Add note on limited availability.
2005-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtksocket.sgml:
	* gtk/tmpl/gtkplug.sgml: Add note on limited
	availability.
2005-01-25 18:44:41 +00:00
Matthias Clasen be8c820b40 Use the correct setter for a string GValue. (#165203, Damon Chaplin)
2005-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimage.c (gtk_image_get_property): Use the correct setter
	for a string GValue.  (#165203, Damon Chaplin)
2005-01-25 18:40:27 +00:00
Hendrik Brandt 1ac0dbc65c Updated German translation.
2005-01-24  Hendrik Brandt  <heb@gnome-de.org>

        * po/de.po: Updated German translation.
2005-01-25 14:25:12 +00:00
Matthias Clasen a049d45686 Initialize user_time from DESKTOP_STARTUP_ID. (#165131, Elijah Newren)
2005-01-24  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display):
	Initialize user_time from DESKTOP_STARTUP_ID.  (#165131,
	Elijah Newren)
2005-01-25 04:14:50 +00:00
Federico Mena Quintero 2e7aceb60b Removed leftover comments.
2005-01-24  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c: Removed leftover comments.
2005-01-25 01:36:58 +00:00
Federico Mena Quintero 0b27d652f6 Fix #147785 and clean up the loading code:
2005-01-24  Federico Mena Quintero  <federico@ximian.com>

	Fix #147785 and clean up the loading code:

	* gtk/gtkfilechooserdefault.c (LoadState): Make the set of states
	be EMPTY, PRELOAD, LOADING, FINISHED.
	(gtk_file_chooser_default_init): Start in the LOAD_EMPTY state.
	(struct _GtkFileChooserDefault): Added a pending_select_paths
	field.
	(load_remove_timer): Add the new states.
	(load_setup_timer): Likewise.
	(load_timeout_cb): Likewise.  Switch to the LOAD_LOADING state.
	(browse_files_model_finished_loading_cb): Switch to the
	LOAD_FINISHED state.
	(enum PendingOp): Removed.
	(struct _GtkFileChooserDefault): Removed the pending_op and
	pending_select_path fields.
	(pending_select_paths_free): New utility function.
	(pending_select_paths_add): New utility function.
	(gtk_file_chooser_default_finalize): Call
	pending_select_paths_free().
	(pending_op_queue): Removed.
	(pending_op_process): Removed.
	(pending_select_paths_process): New function.
	(browse_files_model_finished_loading_cb): Call
	pending_select_paths_process().
	(center_selected_row_foreach_cb): Handle multiple selection by
	only centering the first row.
	(get_is_file_filtered): Constify.
	(gtk_file_chooser_default_select_path): Queue into a list of paths
	to select if we are not finished loading.
	(show_and_select_paths): New utility function.
	(up_folder_handler): Use pending_select_paths_add().
	(gtk_file_chooser_default_should_respond): Do not call
	pending_op_queue(); free the pending_selected_paths instead.
	(gtk_file_chooser_default_initial_focus): Don't queue a pending
	operation, and don't select the first row unconditionally --- this
	will happen when the folder is done loading.
	(shortcuts_row_activated_cb): Free the pending_select_paths.
	(pending_select_paths_store_selection): New utility function.
	(gtk_file_chooser_default_map): Call
	pending_select_paths_store_selection() to save the selection
	before reloading the folder.
	(select_func): Umm?  Call gtk_tree_selection_select_iter().  Don't
	move the cursor here; it will be done when processing the pending paths.

	* tests/testfilechooser.c (main): Add a button to the command
	window to unmap and remap the file chooser.
2005-01-25 01:34:31 +00:00
Alessio Frusciante ef2919fe7f Updated italian translation. 2005-01-24 20:53:26 +00:00
Raphael Higino 7cbe12fa99 Updated pt_BR translation 2005-01-24 18:34:42 +00:00
Raphael Higino f670396a79 Updated pt_BR translation 2005-01-24 18:30:09 +00:00
Matthias Clasen f98b70be84 Document GtkWidget::style-set. (#164222, Alex Graveley)
2005-01-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init): Document
	GtkWidget::style-set.  (#164222, Alex Graveley)
2005-01-24 15:14:38 +00:00
Frank Arnold b05ae83531 Fix for #164724
2005-01-24  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Fix for #164724
2005-01-24 04:37:12 +00:00
Alessio Frusciante a38be0f32a Updated Italian translation. 2005-01-23 21:15:16 +00:00
Matthias Clasen 80c7acf9c2 Close the loader before unreffing it in the error case. (#164915, Crispin
2005-01-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type)
	(gdk_pixbuf_loader_new_with_mime_type): Close the loader
	before unreffing it in the error case.  (#164915, Crispin
	Flowerday)
2005-01-23 04:37:04 +00:00
Matthias Clasen d63f16a923 Remove the accidentally added prototype for this unimplemented function.
2005-01-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdisplay.h (gdk_display_add_client_message_filter_full):
	Remove the accidentally added prototype for this unimplemented
	function.  (#164893, Jeff Franks)
2005-01-23 04:27:39 +00:00
Matthias Clasen 73b39c9b3b Avoid spurious drags. (#164884)
2005-01-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_leave_notify): Avoid spurious
	drags.  (#164884)
2005-01-23 04:00:47 +00:00
Tor Lillqvist e9068f0fe5 Merged from HEAD:
2005-01-23  Tor Lillqvist  <tml@novell.com>

	Merged from HEAD:

	Fix for #162790, by Iwan Wong:

	* gdk/win32/gdkdrawable-win32.c: Implement dashed lines
	correctly. Simplify the interface to render_line_horizontal() and
	render_line_vertical(). Need to draw lines "manually" also on
	NT-based Windowses if we have a dash offset or are drawing
	double-dashed lines.

	* gdk/win32/gdkprivate-win32.h: Keep also the dash offset,
	double-dash flag, and a brush for the background colour (used by
	the odd dashes in the double-dash line style) in the GdkGCWin32
	struct.

	* gdk/win32/gdkgc-win32.c: Set up above new fields.
2005-01-23 01:23:10 +00:00
Tor Lillqvist 49205d1377 Fix for #163702, from Ivan Wong:
* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: New flag _ignore_destroy_clipboard.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle
	WM_DESTROYCLIPBOARD. Unless _ignore_destroy_clipboard, generate a
	GDK_SELECTION_CLEAR event.

	* gdk/win32/gdkselection-win32.c
	(gdk_selection_owner_set_for_display): Set _ignore_destroy_clipboard
	when emptying the clipboard ourselves.

	(gdk_selection_send_notify_for_display): Remove the artifical
	GDK_SELECTION_CLEAR event generation.
2005-01-23 00:42:50 +00:00
Tor Lillqvist 37144a75fa Handle Greek tonos dead accent key. (#164859, reported and fix verified by
2005-01-23  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos
	dead accent key. (#164859, reported and fix verified by Daniel
	Atallah.)

	* gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle
	GDK_Greek_accentdieresis (tonos and dialytika) combining with iota
	and upsilon.
2005-01-23 00:23:14 +00:00
Tor Lillqvist b7124b938c Don't call GetVolumeInformation() for network drives. They might be
2005-01-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name):
	Don't call GetVolumeInformation() for network drives. They might
	be disconnected, and calling GetVolumeInformation() will then
	cause long delays. (#164448) It seems to be very hard to reliably
	find out whether a network drive is connected or not, so it's
	easier to just not try getting the volume name for them. See the
	bug report for discussion.
2005-01-23 00:09:00 +00:00
Funda Wang e23002b7f4 Updated Simplified Chinese translation 2005-01-22 08:01:28 +00:00
Priit Laes f2553b827c Translation updated by Ivar Smolin.
2005-01-21  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-01-21 17:41:34 +00:00
Kjartan Maraas a3cc4b98f3 Update Update some.
2005-01-21  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* nn.po: Update some.
2005-01-21 11:45:42 +00:00
Matthias Clasen a7cd9932b7 Don't loop forever here, even if the only focusable widgets are labels.
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever
	here, even if the only focusable widgets are labels.
2005-01-20 19:52:15 +00:00
Miloslav Trmac 72f3a28e86 Updated Czech translation.
2005-01-20  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-01-20 19:31:34 +00:00
Frank Arnold 156bd41f65 Updated German translation.
2005-01-20  Frank Arnold  <farnold@cvs.gnome.org>

	* de.po: Updated German translation.
2005-01-20 16:12:03 +00:00
Francisco Javier F. Serrador 059668029d Updated Spanish translation.
2005-01-20  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-01-20 14:56:59 +00:00
Matthias Clasen dfc1602d67 Don't reverse the order of modules when putting them in gtk_modules.
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmodules.c (load_module): Don't reverse the order
	of modules when putting them in gtk_modules.  (#162676, Dennis
	Cranston, patch by Remus Draica)
2005-01-20 13:32:47 +00:00
Matthias Clasen 7a6ad8b8c8 Don't crash if the tree is empty. (#164669, Priit Laes)
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_move): Don't crash
	if the tree is empty.  (#164669, Priit Laes)
2005-01-20 13:17:30 +00:00
Manish Singh 682d8c6da4 Call GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the
Wed Jan 19 18:57:02 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Call
        GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the
        function a bit too.
2005-01-20 02:58:52 +00:00
Manish Singh 2b37f960d0 Squash strict aliasing warning in _NET_VIRTUAL_ROOTS code.
Wed Jan 19 17:17:31 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Squash
        strict aliasing warning in _NET_VIRTUAL_ROOTS code.
2005-01-20 01:20:32 +00:00
Tor Lillqvist e445f739c4 Handle keyboards with ShiftLock (and not CapsLock) correctly. (#161814)
2005-01-19  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (update_keymap,
	gdk_keymap_translate_keyboard_state): Handle keyboards with
	ShiftLock (and not CapsLock) correctly. (#161814)
2005-01-19 22:52:01 +00:00
Matthias Clasen bb0603d449 In save mode, don't return paths containing nonexisting directories.
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
	In save mode, don't return paths containing nonexisting
	directories.  (#162443, Jean Marie Favreau)
2005-01-19 21:06:32 +00:00
Matthias Clasen 58c1ace70e Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit
	macros to avoid sparse warnings. Pointed out by Kjartan Maraas.
2005-01-19 20:08:37 +00:00
Matthias Clasen a948d8b057 Precache the _NET_VIRTUAL_ROOTS atom.
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdisplay-x11.c: Precache the _NET_VIRTUAL_ROOTS
	atom.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents):
	Support _NET_VIRTUAL_ROOTS.  (#163910, Carsten Haitzler)
2005-01-19 19:56:30 +00:00
Vincent van Adrighem 4debf6f906 Translation updated by Tino Meinen.
2005-01-19  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-01-19 18:06:05 +00:00
Priit Laes a47d1157be Translation updated by Ivar Smolin.
2005-01-19  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-01-19 16:46:30 +00:00
Kjartan Maraas 1a06a54641 Update Update
2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-01-19 14:17:27 +00:00
Manish Singh e6d17f4584 Actually assign PENDING_OP_NONE.
Tue Jan 18 13:56:09 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkfilechooserdefault.c (pending_op_queue): Actually assign
        PENDING_OP_NONE.
2005-01-18 21:57:16 +00:00
Manish Singh d401f3f1bb disambiguate nested if/else.
Tue Jan 18 13:46:46 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
        disambiguate nested if/else.
2005-01-18 21:48:45 +00:00
Federico Mena Quintero cf06d201f0 Don't queue an operation to select the first file if we are in SAVE or
2005-01-18  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtkfilechooserdefault.c (pending_op_queue): Don't queue an
	operation to select the first file if we are in SAVE or
	CREATE_FOLDER modes.  Executing that operation would overwrite the
	contents of the save-name entry.
2005-01-18 21:43:16 +00:00
Matthias Clasen f13bfda4db Add some more NULL checks, patch by Michael Natterer.
2005-01-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstyle.c (gtk_default_draw_check)
	(gtk_default_draw_option, gtk_default_draw_handle): Add some
	more NULL checks, patch by Michael Natterer.
2005-01-18 16:43:45 +00:00
Søren Sandmann 2033e6f0ec Check for NULL detail and NULL widget.
Tue Jan 18 10:55:47 2005  Søren Sandmann  <sandmann@redhat.com>

	* gtk/gtkstyle.c (gtk_default_draw_handle): Check for NULL detail
	and NULL widget.

	* gtk/gtkstyle.c (gtk_default_draw_box): Check for NULL detail and
	NULL widget. (#164477, Michael Natterer)
2005-01-18 16:00:12 +00:00
Matthias Clasen 8521a936ac Avoid X errors when running against servers which implement XRender < 0.4.
2005-01-18  Matthias Clasen  <mclasen@redhat.com>

	Avoid X errors when running against servers which
	implement XRender < 0.4.  (#164427, Albert Chin)

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
	New function to check for trapezoid support in XRender.
	(gdk_x11_draw_trapezoids, _gdk_x11_drawable_draw_xtrapezoids):
	Use it here.

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a
	separate have_render_with_trapezoids field.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize it.
2005-01-18 15:22:23 +00:00
Adam Weinberger bc61febe5b Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-01-18 05:47:40 +00:00
Matthias Clasen 3019e3374b Remove debug output. (#164376, Jens Finke)
2005-01-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c: Remove debug output. (#164376, Jens Finke)
2005-01-18 03:47:52 +00:00
Federico Mena Quintero 3ee6a92800 Merged from HEAD:
2005-01-17  Federico Mena Quintero  <federico@ximian.com>

	Merged from HEAD:

	Fix #162617.

	* gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out
	GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this.
	(gtk_file_system_unix_get_folder): Make error reporting more
	accurate.  Don't bail out if we can't read the directory.
	(fill_in_stats): Don't return an error; just assume we don't have
	stat info for this folder's files.
	(fill_in_names): Don't create the hash table for the names if we
	can't open the directory.
	(gtk_file_folder_unix_list_children): Don't emit the
	"finished-loading" signal --- we don't do asynchronous loads, so
	we are always finished loading.
	(gtk_file_folder_unix_get_info): Use helper functions; handle the
	case where we can't stat '/'.
	(get_icon_type_from_path): Don't call fill_in_stats() here; only
	use the info we have.
	(fill_in_mime_type): Don't return an error.  Don't do anything if
	we don't have the stat info.
2005-01-18 01:02:40 +00:00
Matthias Clasen 27851f1579 Save and restore the selected row in the bookmark list and the save folder
2005-01-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (shortcuts_add_bookmarks): Save
	and restore the selected row in the bookmark list and the
	save folder combo.  (#164290)
2005-01-17 07:05:59 +00:00
Matthias Clasen 9b1e677d2f Fix argument order in docs.
2005-01-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new_with_backend):
	Fix argument order in docs.
2005-01-17 04:28:02 +00:00
Vincent van Adrighem 9d6cb67aff Translation updated by Tino Meinen.
2005-01-16  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-01-16 18:35:10 +00:00
Miloslav Trmac c018ec54f4 Updated Czech translation.
2005-01-16  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-01-16 15:59:28 +00:00
Matthias Clasen 0fb9454174 Some updates. 2005-01-16 04:13:02 +00:00
Matthias Clasen 4150e5cbe1 Prefer LTR over RTL if the keymap is neutral. (#164125, Phil Blundell)
2005-01-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_check_keymap_direction):
	* gtk/gtkentry.c (gtk_entry_create_layout): Prefer LTR over RTL
	if the keymap is neutral.  (#164125, Phil Blundell)
2005-01-16 03:53:41 +00:00
Marcel Telka 9ad73f0152 Updated Slovak translation.
2005-01-15  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-01-15 17:02:30 +00:00
Laszlo Dvornik 53dd99416e Hungarian translation updated.
2005-01-15  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Hungarian translation updated.
2005-01-15 12:26:22 +00:00
Funda Wang 6d43233717 Updated Simplified Chinese translation 2005-01-14 15:16:16 +00:00
Duarte Loreto 88614f43b5 Updated Portuguese translation.
2005-01-14  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-01-14 08:25:21 +00:00
Matthias Clasen 7ad308c721 Add an OS_LINUX conditional.
2005-01-13  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Add an OS_LINUX conditional.

	* gdk/Makefile.am (TESTS):
	* gdk-pixbuf/Makefile.am (TESTS):
	* gtk/Makefile.am (TESTS): Only run abicheck on Linux.  (#163917,
	Roger Leigh)
2005-01-13 15:18:22 +00:00
Matthias Clasen 820ec627e9 Make the headers-visible property readwrite instead of just writable, and
2005-01-13  Matthias Clasen <mclasen@redhat.com>

	* gtk/gtktreeview.c: (gtk_tree_view_class_init),
	(gtk_tree_view_set_headers_clickable): Make the headers-visible
	property readwrite instead of just writable, and remove the
	g_return_if_fail check that there is a model when setting this
	property.  (#163851, Richard Hult)
2005-01-13 14:12:14 +00:00
Raphael Higino ef73798880 Updated pt_BR translation 2005-01-12 18:39:29 +00:00
Artur Flinta 3f16fc983f Updated Polish translation by GNOME PL Team.
2005-01-12  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-01-12 08:46:08 +00:00
Artur Flinta 3894ada19f Updated Polish translation by GNOME PL Team.
2005-01-12  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-01-12 07:29:51 +00:00
Laszlo Dvornik 950e94a7d3 Hungarian translation updated by Gabor Kelemen.
2005-01-11  Laszlo Dvornik  <dvornik@gnome.hu>

	* hu.po: Hungarian translation updated by Gabor Kelemen.
2005-01-11 14:56:01 +00:00
Artur Flinta 901f09864a Updated Polish translation by GNOME PL Team.
2005-01-11  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-01-11 08:55:24 +00:00
Owen Taylor 4d97569882 Adding missing ChangeLog.pre* to EXTRA_DIST.
2005-01-10  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (EXTRA_DIST): Adding missing ChangeLog.pre*
        to EXTRA_DIST.
2005-01-10 16:04:27 +00:00
1569 changed files with 235921 additions and 772950 deletions
-3
View File
@@ -19,17 +19,14 @@ stamp-h.in
gtk+.spec
gtk+-2.0.pc
gtk+-2.0-uninstalled.pc
gtk+-unix-print-2.0.pc
gtk+-linux-fb-2.0.pc
gtk+-nanox-2.0.pc
gtk+-x11-2.0.pc
gtk+-quartz-2.0.pc
gdk-2.0.pc
gdk-2.0-uninstalled.pc
gdk-linux-fb-2.0.pc
gdk-nanox-2.0.pc
gdk-x11-2.0.pc
gdk-quartz-2.0.pc
gdk-pixbuf-2.0.pc
gdk-pixbuf-2.0-uninstalled.pc
gtk-zip.sh
+3 -36
View File
@@ -1,12 +1,12 @@
Please do not mail any of the authors listed here
asking questions about this version of GTK+.
Original Authors
----------------
Peter Mattis <petm@xcf.berkeley.edu>
Spencer Kimball <spencer@xcf.berkeley.edu>
Josh MacDonald <jmacd@xcf.berkeley.edu>
Please do not mail the original authors asking questions about this
version of GTK+.
The GTK+ Team (in alphabetical order)
-------------------------------------
Shawn T. Amundson <amundson@gtk.org>
@@ -30,36 +30,3 @@ Owen Taylor <otaylor@gtk.org>
There are many others who have contributed patches; we thank them,
GTK+ is much better because of them.
Over time, GTK+ has incorporated some pieces of software which
started as independent projects. We list the original authors here:
MS-Windows theme engine
-----------------------
Raymond Penners
Dom Lachowicz
Pixbuf theme engine
-------------------
Owen Taylor
IME input method
----------------
Takuro Ashie
Kazuki IWAMOTO
Mac OS X backend
----------------
Anders Carlsson
DirectFB backend
----------------
Denis Oliver Kropp
Sven Neumann
Mike Emmel
+765 -9209
View File
File diff suppressed because it is too large Load Diff
-514
View File
@@ -1,514 +0,0 @@
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.[ch] (gtk_file_info_render_icon): remove the
caching code,
(gtk_file_info_get_icon_name): new function,
(gtk_file_system_volume_get_icon_name): new function,
(gtk_file_system_volume_render_icon): refactor to use
get_icon_name() and render the icon on the fly.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon),
(gtk_file_system_unix_volume_get_icon_name): reflect updates in
file system interface,
(get_fallback_icon): remove, along with icon caching code.
* gtk/gtk.symbols: updated.
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemmodel.c (got_root_folder_cb), (ref_path_cb),
(get_children_get_folder_cb): don't leak the handle,
(got_root_folder_cb), (get_children_get_folder_cb): emit
row-inserted for the newly added nodes.
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (file_list_drag_data_select_uris),
(file_list_drag_data_received_get_info_cb),
(file_list_drag_data_received_cb): refactor code for selecting
multiple uris into file_list_drag_data_select_uris().
2006-04-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb): don't
leak handle,
(change_icon_theme_get_info_cb), (set_info_get_info_cb),
(model_add_special_get_info_cb), (update_label_get_info_cb): ditto.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
don't leak the handle,
(get_file_info_finished), (edited_idle_create_folder_cb),
(file_list_drag_data_received_get_info_cb),
(show_and_select_paths_get_folder_cb),
(update_current_folder_get_info_cb), (add_shortcut_get_info_cb),
(confirmation_confirm_get_info_cb), (action_create_folder_cb),
(save_entry_get_info_cb), (shortcuts_activate_volume_mount_cb),
(shortcuts_activate_get_info_cb), (update_from_entry_get_info_cb):
ditto.
* gtk/gtkfilechooserentry.c (load_directory_get_folder_callback):
don't leak the handle.
* gtk/gtkpathbar.c (set_button_image_get_info_cb),
(gtk_path_bar_get_info_callback): don't leak the handle.
2006-04-23 Kristian Rietveld <kris@imendio.com>
Review.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
don't forget to unref data->impl at the end.
2006-04-23 Kristian Rietveld <kris@imendio.com>
Review, continued.
* gtk/gtkfilechooserdialog.c (response_cb): set response_requested
to FALSE after stopping emission of the response signal.
2006-03-16 Kristian Rietveld <kris@imendio.com>
More review work.
* gtk/gtkfilechooserprivate.h: remove idle_finished_loading_source
from GtkFileSystemModel.
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): remove
idle_finished_loading_source,
(idle_finished_loading_cb), (queue_finished_loading): removed,
(got_root_folder_cb): save a list walk, immediately emit
finished-loading and don't queue it, since we are already in an
idle here, always list_children() so the children the folder already
has are returned,
(_gtk_file_system_model_new): handle the case where NULL is
returned by _get_folder(),
(_gtk_file_system_model_path_do): remove comment, and append the
new handle to the list, don't try to remove,
(get_children_get_folder_cb): save a list walk, remove the dummy
child if the _get_folder() call fails or is cancelled.
2006-03-14 Kristian Rietveld <kris@imendio.com>
More suggestions from Federico.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
remove check for filename_is_root(), since we never hit that code
and else mkdir will fail anyway,
(gtk_file_system_unix_create_folder): fixup parent folder refresh
code.
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (read_hidden_file), (fill_in_hidden),
(get_is_hidden_for_file): factor out g_file_get_contents() code
in read_hidden_file(). (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
Icon name code suggestions by Federico Mena Quintero.
* gtk/gtkfilesystemunix.c: add GTK_FILE_INFO_ICON to
STAT_NEEDED_MASK,
(get_fallback_icon_name), (get_fallback_icon),
(get_icon_name_for_directory), (get_special_icon_name): get rid
of strdups,
(get_icon_type_from_path): add a statbuf argument and use the
statbuf when folder_unix is NULL,
(create_file_info): adapt to work with above changes.
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): path
is NULL is an error here (gtk_file_system_get_info() already guards
path = NULL),
(gtk_file_system_unix_get_info): move basename creation to just
before create_file_info(). (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (struct _GtkFileFolderUnix): add
load_folder_id field,
(load_folder): add thread enter/leave construct, set load_folder_id
to zero since we have the idle removed when we return,
(gtk_file_system_unix_get_folder): initialize load_folder_id to 0
and store the source id of the load_folder idle,
(gtk_file_folder_unix_finalize): remove the load_folder idle
if necessary. (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder): return
NULL if there is no current folder path.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_map): we
reload the current folder if there is one, else we continue the
still pending load.
2006-03-14 Kristian Rietveld <kris@imendio.com>
Couple of fixes from Markku Vire.
* gtk/gtkfilesystem.c (gtk_file_info_copy): also strdup icon_name
and display_key.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
initialize error to NULL,
(gtk_file_folder_unix_list_children): return an empty list for now if
we couldn't read the directory.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb),
(gtk_file_chooser_default_update_current_folder): set and unset
busy cursor while checking whether the given path is a folder.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.h: change the GtkFileInfo argument of the
GetInfoCallback to be const.
* gtk/gtkfilechooserbutton.c, gtk/gtkfilechooserdefault.c,
gtk/gtkpathbar.c: changes functions to reflect the above change.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c, gtk/gtkfilechooserprivate.h: keep track
of handles, cancel all pending operations on dispose.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserprivate.h (struct _GtkFileSystemModel): add
pending_handles field,
(struct _FileModelNode): add load_pending flag.
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_dispose): introduce,
cancel all pending operations here,
(got_root_folder_cb), (_gtk_file_system_model_new), (ref_path_cb),
(_gtk_file_system_model_path_do): keep track of all pending
operations, handle cancelled operations.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
(gtk_file_chooser_button_destroy): move all handle cancellations
and object unrefs to destroy.
* gtk/gtkpathbar.c (gtk_path_bar_finalize), (gtk_path_bar_dispose):
likewise.
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_class_init):
add dispose,
(gtk_file_chooser_entry_dispose): cancel handles and unrefs
objects here instead of finalize.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c (get_cached_icon): check if "name" is an
absolute path, if so load the icon from that file.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): fix
the build.
2005-12-21 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): remove
the FIXME since it doesn't make sense, when we return a cached
folder we won't emit finished-loading either,
(gtk_file_system_unix_create_folder): remove unused variable,
(gtk_file_folder_unix_list_children): remove unused code,
(get_is_hidden_for_file): new function,
(create_file_info): also handle getting is_hidden when called
without a folder unix (from _system_get_info() for example).
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (check_is_folder): fully removed!
woo!,
(check_save_entry): add is_folder argument,
(gtk_file_chooser_default_get_paths): update check_save_entry() call,
(get_display_name_for_folder): removed,
(confirmation_confirm_get_info_cb): new function which will
handle the confirmation dialog now we have all information for it,
(should_respond_after_confirm_overwrite): replace the call to
get_display_name_for_folder() with an asynchronous solution,
(action_create_folder_cb): request dialog response on successfull
folder creation,
(gtk_file_chooser_default_should_respond): update call to
check_save_entry(); replace the check is folder call for "path"
by just using the is_folder return value from check_save_entry();
replaced the check is folder call for "parent_path" with an
asynchronous setup, remainder of that work is now done in
save_entry_get_info_cb(),
(save_entry_get_info_cb): new function.
* gtk/gtkfilechoosermebed.[ch]: add response-requested signal.
* gtk/gtkfilechooserdialog.c, gtk/gtkfilechooserprivate.h: handle
response_requested signal.
* gtk/gtkfilechooserentry.[ch]
(_gtk_file_chooser_entry_get_is_folder): new function.
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (ref_path_cb): when called with
!folder, check if node is the node we are looking for (can be
triggered when we call ref_path_cb ourselves after a find_child_node),
(_gtk_file_system_model_path_do): introduce parent_node field;
after finding a child node in a loaded parent node, don't forget
to call ref_path_cb,
(get_children_get_folder_cb): don't forget to set data->node->folder
to the newly acquired folder.
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (show_and_select_paths_get_folder_cb):
handle case where the folder we get already finished loading.
* gtk/gtkfilesystemmodel.c (ref_path_cb),
(_gtk_file_system_model_path_do): make this work.
2005-12-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (shortcuts_update_count): modify
in such a way that it can also negatively update the count on
failures,
(get_file_info_finished): handle failures, update save folder
combo box on success,
(shortcuts_insert_path): change the boolean return value into a
void one, also refilter the model and update the save folder combo
box for the non-asynchronous case,
(shortcuts_append_home), (shortcuts_append_desktop),
(shortcuts_add_volumes), (shortcuts_add_current_folder),
(add_shortcuts_get_info_cb): adapt to shortcuts_insert_path() updates.
2005-12-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtkpathbar.[ch]: add handle fields to ButtonData and
GtkPathBar; do correct handle bookkeeping.
* gtk/gtkfilesystemunix.c (load_folder),
(gtk_file_system_unix_get_folder),
(gtk_file_folder_unix_is_finished_loading): add is_finished_loading
field to GtkFileFolderUnix, which is set to true once we are
really finished with loading (previous assumption that we are
always finshed loading is not true anymore).
* gtk/gtkfilesystemmodel.c (got_root_folder_cb): if the folder is
finished loading, list the children and update the root level.
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
handle cancellation.
2005-12-16 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c: always call the callback, even when
cancelled; ref handles passed to the callback queue functions;
don't set cancelled to TRUE in _cancel_operation(), since operations
in this backend are always completed,
(get_special_icon_name): don't strdup the value of
get_icon_name_for_directory() again.
* gtk/gtkfilechooserbutton.c: adapt to new cancellation policy;
reference all objects which are passed as callback arguments; in the
callback check if the handles match.
* gtk/gtkfilechooserentry.c: likewise.
* gtk/gtkfilechooserdefault.c: likewise. Also changed the shortcut
loading code to be more like the code in GtkFileChooserButton, where
we store all handles in the model and have model_row_free_data
cancel any pending operations,
(shortcuts_model_create): copy the error.
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): remove
loading_volumes and loading_bookmarks fields.
* gtk/gtkfilesystem.c (gtk_file_info_free): free icon_name here...
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): fix
thinko.
* gtk/gtkfilesystemunix.c (dispatch_create_folder_callback),
(queue_create_folder_callback): need to copy/free the path,
(gtk_file_system_unix_create_folder): put the "reget folder" hack
back in, though it's working different now.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
(dnd_select_folder_get_info_cb), (gtk_file_chooser_drag_data_received),
(change_icon_theme_get_info_cb), (change_icon_theme),
(model_add_special_get_info_cb), (model_add_special),
(update_label_get_info_cb), (update_label_and_image): cancel existing
operations, if any; added apprioriate fields to
GtkFileChooserButtonPrivate.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_finalize): if
there's a folder loading, cancel the operation,
(load_directory_get_folder_callback): set the loading folder handle
to NULL,
(load_directory_callback): cancel any currently loading folders
before starting a new get folder operation.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): don't overwrite
data if it's already set (for example by the "is volume" case).
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
(set_info_for_path_at_iter): store a row reference in the temporary
data structure and not an iter,
(model_add_special), (model_update_current_folder),
(gtk_file_chooser_button_add_shorcut_folder): remove unused pixbuf
variable.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
(shortcuts_insert_path): replace gtk_file_system_render_icon() call
with gtk_file_system_get_file_info(),
(gtk_file_chooser_default_add_shortcut_folder),
(gtk_file_chooser_default_remove_shortcut_folder): handle shortcuts
which are still loading.
* gtk/gtkfilechooserprivate.h: add shortcuts_loading field to
struct _GtkFileChooserDefault.
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
(set_info_for_path_at_iter), (model_free_row_data): keep handle
and path together; now supports adding/removing shortcuts
which are still loading.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c: make the cancelled field an GObject property.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.h: make the GError argument in the callbacks
const.
* gtk/gtkfilechooserbutton.c: update callbacks,
* gtk/gtkfilechooserentry.c: likewise,
* gtk/gtkfilechooserdefault.c: likewise,
* gtk/gtkfilesystemmodel.c: likewise,
* gtk/gtkpathbar.c: likewise.
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): copy
the error which will be passed to error_creating_folder_dialog(),
(action_create_folder_cb): likewise,
(file_list_drag_data_received_get_info_cb): add forgotten GError
declaration.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkpathbar.c (get_button_image), (set_button_image),
(set_button_image_get_info_cb),
(gtk_path_bar_update_button_appearance): update to new icon
rendering call.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (file_list_drag_data_received),
(gtk_file_chooser_default_add_shortcut_folder),
(shortcuts_activate_get_info_cb): replace synchronous check_is_folder
calls with an async gtk_file_system_get_info() solution.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c (icon_cache_element_free), (icon_theme_changed),
(get_cached_icon), (gtk_file_info_render_icon): implement pixbuf
caching as found in the file system backends.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtk.symbols: updated.
* gtk/gtkfilesystem.[ch] (struct GtkFileInfo): added icon_name field,
(enum GtkFileInfoType): added GTK_FILE_INFO_ICON,
(gtk_file_info_set_icon_name): new function,
(gtk_file_info_render_icon): new function,
(gtk_file_system_render_icon): removed.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): removed,
(create_file_info): fill icon_name field if required,
(get_*_icon): modified to suit create_file_info() better.
* gtk/gtkfilechooserbutton.c: modified to use
gtk_file_info_render_icon() instead of gtk_file_system_render_icon().
* gtk/gtkfilechooserdefault.c: likewise.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
(update_current_folder_get_info_cb): fix mem leaks.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): ditto.
* gtk/gtkpathbar.c (gtk_path_bar_set_path_finish): ditto.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb),
(gtk_file_chooser_button_drag_data_received): make asynchronous,
(update_label_and_image): remove unused variable.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_update_current_folder): split in two
functions, so we can have the is_folder check back.
* gtk/gtkfilechooserprivate.h: add update_current_folder_handle
field.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (show_and_select_paths): fixed a typo.
2005-12-05 Federico Mena Quintero <federico@ximian.com>
(merge from HEAD)
* gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
modifiers", not "event->state && modifiers". Patch by Sadrul
Habib Chowdhury <imadil@gmail.com>. Fixes bug #323073.
2005-12-06 Kristian Rietveld <kris@imendio.com>
Beginnings of an asynchronous file chooser.
* gtk/gtkfilechooserbutton.c: display name and the is folder property
are now asynchronously set using set_info_for_at_path_iter(), the
is folder property is now also stored in the tree model.
* gtk/gtkfilechooserdefault.c: lots of changes to the shortcuts
model code to make it operate asynchronously, check_is_folder() has
been "disabled" for now, all other synchronous calls were
replaced with asychronous ones.
* gtk/gtkfilechooserentry.c: update call to
gtk_file_system_get_folder().
* gtk/gtkfilechooserprivate.h: added two fields.
* gtk/gtkfilesystem.[ch]: for about 85% changed to the changes
outlined in the proposal discussed on gtk-devel-list.
* gtk/gtkfilesystemmodel.[ch]: updated all asynchronous calls,
_gtk_file_system_model_path_do() basically had to be rewritten
(and I still need to finish that).
* gtk/gtkfilesystemunix.c: changed to be compatible with the new
GtkFileSystem interface.
* gtk/gtkpathbar.c (button_clicked_cb): block/unblock the
button_clicked_cb callback around the call to
gtk_toggle_button_set_active(), avoids button_clicked_cb getting
called twice.
(_gtk_path_bar_set_path): refactored to be asynchronous.
-500
View File
@@ -1,500 +0,0 @@
2006-04-17 Matthias Clasen <mclasen@redhat.com>
* docs/tools/widgets.c (get_all_widgets): Add print dialog
and page setup dialog.
2006-04-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpapersize.c (gtk_paper_size_get_display_name):
Call gettext on the standard paper names.
2006-04-11 Alexander Larsson <alexl@redhat.com>
* gdk/gdk.symbols:
* gdk/win32/gdkevents-win32.c:
* gdk/win32/gdkwin32.h:
Add gdk_win32_set_modal_dialog_libgtk_only that we
need for handling the mainloop in the print dialogs.
* gtk/gtkprintoperation-win32.c:
Pump the gtk+ mainloop when needed in the print dialogs.
This means gtk+ windows will redraw while the print dialogs
are up.
2006-04-10 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Better size handling.
Save win32-specific settings in additions to the generic ones
if the generic one is lossy.
2006-04-10 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Finish implementing run_page_setup_dialog.
* gtk/gtkpagesetup.h:
* gtk/gtkpapersize.h:
* gtk/gtkprint-win32.h:
* gtk/gtkprintcontext.h:
* gtk/gtkprinter-private.h:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.h:
* gtk/gtkprintsettings.h:
s/EGG/GTK/
2006-04-09 Matthias Clasen <mclasen@redhat.com>
* gtk+-unix-print-2.0.pc.in: Fix a typo (#337698)
2006-04-07 Matthias Clasen <mclasen@redhat.com>
* gtk/paper_names_offsets.c:
* gtk/gen-paper-names.c: Correct the suffix/duplicate optimizations.
2006-04-07 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Initial work on gtk_print_run_page_setup_dialog.
Not reading margins yet.
2006-04-07 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Link to winspool
* gtk/gtk.symbols:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Add gtk_print_operation_get_status_string() and status
string to _gtk_print_operation_set_status.
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
* gtk/gtkprintoperation-win32.c:
Poll for status updates
* modules/printbackends/cups/gtkprintbackendcups.c:
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
* tests/print-editor.c:
Show print status string
2006-04-06 Matthias Clasen <mclasen@redhat.com>
* gtk/paper_names_offsets.c:
* gtk/gtkpapersize.c: Save 4K of .data by converting
the array of paper names to offsets.
* gtk/gen-paper-names.c: Utility used to create
paper_names_offsets.c from paper_names.c.
* gtk/Makefile.am: Necessary glue.
2006-04-06 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Use glib base64 code.
Set up manual_* vars fully.
2006-04-06 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Add -lcomdlg32 on win32
* gtk/gtkprint-win32.h:
Move WINVER define to .c files
* gtk/gtk.symbols:
* gtk/gtkprintoperation-win32.c:
Add empty gtk_print_run_page_setup win implementation
Move WINVER define to this file
* modules/Makefile.am:
Only build print backends on unix
2006-04-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c:
* gtk/gtkprintoperation-unix.c: Use GTK_RESPONSE_CANCEL/OK
instead of GTK_RESPONSE_REJECT/ACCEPT, to make Esc close
the dialog, and to not use values which are documented
as reserved for apps.
2006-04-05 Alexander Larsson <alexl@redhat.com>
* modules/printbackends/lpr/gtkprintbackendlpr.c:
Don't hardcode lpr command, expose full commandline.
2006-04-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
Don't check for printer changes after dialog is dead.
* gtk/gtkprintbackend.c: (gtk_print_backend_load_modules):
Strip whitespace from backend strings
* gtk/gtkprintbackend.h:
Add private printer functions
* gtk/gtkprinter-private.h:
Move GtkPrinterPrivate into gtkprinter.c
* gtk/gtkprinter.[ch]:
Move GtkPrinterPrivate into gtkprinter.c
Add new construct properties.
Add setter functions.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/cups/gtkprintercups.[ch]:
Update to new APIs.
* modules/printbackends/lpr/Makefile.am:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/lpr/gtkprinterlpr.[ch]
Update to new APIs.
Remove GtkPrinterLPR.
Read/Save command line option in settings
* modules/printbackends/pdf/Makefile.am:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Update to new APIs.
Remove GtkPrinterPDF.
2006-04-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.h: Add missing standard
GObject macros. (#337277, Yevgen Muntyan)
2006-04-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprinteroption.[ch]:
Add gtk_printer_option_has_choice.
* gtk/gtkprintunixdialog.c:
* modules/printbackends/cups/gtkprintbackendcups.c:
Add support for "print at time".
2006-04-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpapersize.c:
Handle ppd names with ".Transverse" suffix
Don't force width < height
* gtk/gtkprinteroption.c:
Make sure that value is never NULL.
* modules/printbackends/cups/gtkprintbackendcups.c:
Add some HP whitelist names
Remove spew from ignored options.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Fix warnings
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
Add gtk_printer_is_default.
* gtk/gtkprintunixdialog.c:
Use gtk_printer_is_default.
* modules/printbackends/cups/gtkprintbackendcups.c:
Get default printer info
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Fix warning.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Correctly read/write/use the output filename setting.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Disable margin from printers if there are no printers.
* gtk/gtkpapersize.c:
Fix build.
2006-04-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols: protect unix-only symbols by
G_OS_UNIX (#336819, Yevgen Muntyan)
* gtk/gtkpapersize.c: Win32 fixes. (#336806, Yevgen Muntyan)
2006-03-30 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
Update
* gtk/gtkprintbackend.[ch]:
Add dnotify to gtk_print_backend_print_stream
* gtk/gtkprinter-private.h:
Declare gtk_print_job_set_status
* gtk/gtkprinter.[ch]:
Remove gtk_printer_prepare_job.
* gtk/gtkprintjob.[ch]:
Now you create print job directly with gtk_print_job_new() and
they'll be prepared automatically.
Add status_changed signal and get_status.
Add gtk_print_job_set_source_file to allow sending a file.
* gtk/gtkprintoperation-private.h:
Add destroy notify for platform_data.
Declare _gtk_print_operation_set_status.
* gtk/gtkprintoperation-unix.c:
Hook up status change handling.
Use the new way to get a print job.
* gtk/gtkprintoperation.[ch]:
Add status_changed signal and get_status/is_finished.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Update to use new APIs and set status on the job.
Cups polls for the status.
* tests/print-editor.c:
Track the print operations in the status bar.
2006-03-30 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
* gtk/gtkprintbackend.c:
Default to "pdf,cups" if we found cups, and
"pdf,lpr" otherwise.
2006-03-29 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/Makefile.am:
* configure.in: Don't build the cups backend
if cups is not there.
2006-03-29 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
gtk_printer_prep_job -> gtk_printer_prepare_job
gtk_print_job_prep -> gtk_print_job_prepare
* gtk/gtkprintbackend.h:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
Add print_job argument to printer_prepare_for_print
gtk_printer_prep_job -> gtk_printer_prepare_job
* gtk/gtkprintjob.[ch]:
Add manual rendering settings to GtkPrintJob.
gtk_print_job_prep -> gtk_print_job_prepare
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.c:
Get more manual_* settings working.
Run mainloop after each printed page.
* gtk/gtkprintunixdialog.c:
Save page ranges.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Now put the manual_* settings inside the PrintJob in
prepare_for_print.
2006-03-29 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Make sure we remember the format-for printer.
Also, use it as the default if set.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Remove unnecessary padding under list.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
More HIGy layout.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
HIG conformance of spacing and titles.
* gtk/gtkprintunixdialog.c:
Use standard constructor form print button too.
2006-03-27 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/*/Makefile.am: Fix
a problem with builddir != srcdir builds.
(#335915, Yevgen Muntyan)
2006-03-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintbackend.c: Simply the syntax
of the setting to "cups,pdf", and get rid
of the GScanner used to parse it.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Reorder print list so status is at the end.
Ellipsize the status column.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Handle removed printers and status-changed.
Handle NULL printer location.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
* gtk/stock-icons/24/gtk-orientation-landscape.png:
* gtk/stock-icons/24/gtk-orientation-portrait.png:
* gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
* gtk/gtkiconfactory.c: (get_default_icons):
* gtk/gtkstock.h:
Add orientation stock icons.
* gtk/gtkpagesetupunixdialog.c:
Use the orientation icons.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintjob.c:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintunixdialog.c:
s/impl/dialog/
Don't prefix static functions with _
2006-03-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c: Don't use _(""). (#335898,
Christian Persch)
* modules/printbackends/*: Don't use G_DEFINE_TYPE
in modules.
* gtk/gtkprintbackend.c: Remove an unused static function.
2006-03-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols: Add printing symbols
* gtk/gtkpapersize.[hc]:
* gtk/gtkpage*.[hc]:
* gtk/gtkprint*.[hc]: Add aliasing, #include cleanups.
* gtk/gtkprintcontext.h:
* gtk/gtkprintoperation.h:
* gtk/gtkprintsettings.h: Make get_type function const.
* modules/printbackends/pdf/gtkprintbackendpdf.c: Remove
C99ism.
* modules/printbackends/cups/gtkcupsutils.c: Use unsigned
integers for bitfields.
2006-03-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c: Fix docs
* gtk/Makefile.am (EXTRA_DIST): Add the stock icons here.
* gdk/directfb/Makefile.am (EXTRA_DIST): Remove ChangeLog,
to make make dist happier.
2006-03-24 Alexander Larsson <alexl@redhat.com>
* configure.in:
* gtk/gtkprintbackend.c:
* modules/printbackends/Makefile.am:
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/lpr/Makefile.am:
* modules/printbackends/lpr/gtkprintbackendlpr.[ch]:
* modules/printbackends/lpr/gtkprinterlpr.[ch]:
* modules/printbackends/pdf/Makefile.am:
* modules/printbackends/pdf/gtkprintbackendpdf.[ch]:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Import pdf and lpr backend
2006-03-24 Alexander Larsson <alexl@redhat.com>
Import print-operation into gtk+
* .cvsignore:
* Makefile.am:
* gtk+-unix-print-2.0.pc.in:
Add gtk+-unix-print-2.0.pc
* configure.in:
Look for cups
Look for various _NL_* extensions
Output new makefiles and .pc.in
* gtk/Makefile.am:
Add new files
* gtk/gtk.h:
Include gtkprintoperation.h
* gtk/gtkenums.h:
Add printing enums
* gtk/gtkmarshalers.list:
Add required new marshallers
* gtk/gtkpagesetup.[ch]:
* gtk/gtkpagesetupunixdialog.[ch]:
* gtk/gtkpagesetupunixdialog.h:
* gtk/gtkpapersize.[ch]:
* gtk/gtkprint-win32.[ch]:
* gtk/gtkprintbackend.[ch]:
* gtk/gtkprintcontext.[ch]:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
* gtk/gtkprinteroption.[ch]:
* gtk/gtkprinteroptionset.[ch]:
* gtk/gtkprinteroptionwidget.[ch]:
* gtk/gtkprintjob.[ch]:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation-win32.c:
* gtk/gtkprintoperation.[ch]:
* gtk/gtkprintsettings.[ch]:
* gtk/gtkprintunixdialog.[ch]:
* gtk/paper_names.c:
Generic printing support
* modules/Makefile.am:
* modules/printbackends/Makefile.am:
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/cups/gtkcupsutils.[ch]:
* modules/printbackends/cups/gtkprintbackendcups.[ch]:
* modules/printbackends/cups/gtkprintercups.[ch]:
Cups backend
* tests/.cvsignore:
* tests/Makefile.am:
* tests/print-editor.c:
Add printing test app
+765 -9149
View File
File diff suppressed because it is too large Load Diff
+79 -4544
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -3,9 +3,9 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ 2.10.2 requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- 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
@@ -18,12 +18,12 @@ GTK+ requires the following packages:
Simple install procedure
========================
% gzip -cd gtk+-2.10.2.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.10.2 # change to the toplevel directory
% gzip -cd gtk+-2.6.2.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.6.2 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
% make # build GTK
[ Become root if necessary ]
% make install # install GTK+
% make install # install GTK
The Details
===========
+5 -5
View File
@@ -3,9 +3,9 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- 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
@@ -21,9 +21,9 @@ Simple install procedure
% gzip -cd gtk+-@GTK_VERSION@.tar.gz | tar xvf - # unpack the sources
% cd gtk+-@GTK_VERSION@ # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
% make # build GTK
[ Become root if necessary ]
% make install # install GTK+
% make install # install GTK
The Details
===========
-7
View File
@@ -1,7 +0,0 @@
Email: mclasen@redhat.com
Email: timj@gtk.org
Note that a lot of people are contributing to GTK+, and some parts of it
are technically maintained by other people. The people listed above are
meant as contacts for administrative questions such as cvs accounts. Other
questions are best directed to the mailing list gtk-devel-list@gnome.org.
+5 -8
View File
@@ -1,7 +1,7 @@
## Makefile.am for GTK+
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
@@ -16,9 +16,6 @@ EXTRA_DIST = \
ChangeLog.pre-2-2 \
ChangeLog.pre-2-4 \
ChangeLog.pre-2-6 \
ChangeLog.pre-2-8 \
ChangeLog.gtk-async-file-chooser \
ChangeLog.gtk-printing \
README.cvs-commits \
README.win32 \
config.h.win32 \
@@ -134,10 +131,9 @@ gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gtk+-unix-print-2.0.pc
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \
gtk+-$(GDKTARGET)-2.0.pc \
gdk-$(GDKTARGET)-2.0.pc \
gtk+-$(GDKTARGET)-2.0-uninstalled.pc \
@@ -191,4 +187,5 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
+30 -914
View File
@@ -1,920 +1,36 @@
Overview of Changes from GTK+ 2.10.1 to 2.10.2
==============================================
* Many fixes and improvements for the OS X backends
* Revert to using gtk modules with global binding,
since the local binding that was introduced in
2.10 breaks the accessibility support of current
OpenOffice.org releases.
* GtkRecenManager
- Poll for changes to the XBEL file
- Fix initial bad placement of recent files menu
- Show nonexisting resources by default, and do
not mark them as insensitive
- Allow adding a filter to GtkRecentChooserMenu
Overview of Changes from GTK+ 2.6.1 to GTK+ 2.6.2
=================================================
* Speed up size allocation of labels, progress bars and
text cell renderers [Anders Carlsson]
* Add a --quiet option to gtk-update-icon-cache [Matthias]
* GtkFileChooser
- Improve the fallbacks for icons
- Make / and ~ activate the location entry again
* Bugs fixed:
348828 Segmentation Fault in gtk_combo_box_menu_setup
when removing combobox child
349552 problem with parsing (enum) style properties
351581 API Documentation issues with 2.15 release
348652 reorder() from ComboBoxEntry produces Gtk+ assert
error
349128 Fix docs about GtkTreeModel::row-deleted
350605 Crash caused by the recent menu
348096 GtkStyle leaks GtkRcContext
348145 Background images not working with Quartz backend
329752 Problem with has_selection notification when
deleting the selection
347856 gtk_recent_chooser_add_filter not implemented
for GtkRecentChooserMenu
348245 Disabling pdf printing doesn't hide option
348278 textview doesn't update on hinting setting change
348289 Filechooser is blocked by higher priority idle
348478 entry completions needs to reset the IM context
before emitting action-activate signal
348538 Remove old email addreses from the tutorial
348626 drag-to-child should not work
348634 IconView does not update background
348706 don't allow dnd onto arrows
348740 configure script does not honour PKG_CONFIG variable
348787 Segfault in gtk_font_button_update_font_info()
348824 test attached calendar-sane-timer patch in head
348971 gtk_status_icon_get_geometry returns bogus data
349382 valgrind uninitialized memory warnings setting
partly uninitialized X properties
349570 notebook arrow PRELIGHT drawing doesn't work
349834 Memleak from gtk_tree_view_set_enable_tree_lines
349858 Leak of ShmPixmapInfo from get_shm_pixmap_for_image
349859 gtk_paint_tab doesn't work when widget is now
option menu
349997 Indirect leak from XkbGetMap
350039 GtkFileChooserEntry leaks sources
350050 GdkGC leak from GtkRuler
350139 Should use evince preview mode
350258 Memory leak in gtk_entry_drag_data_received()
350329 The CUPS printer backend in GTK+-2.10.1 fails
with CUPS 1.1.
350517 reset_style_idle() interferes with application
idles
350860 Balloon messages sent to tray do not have the
correct window in XEvent
350938 TreeViewColumn rendering off when "spacing"
property set
351112 gtk_notebook_set_current_page fails when the
notebook has not yet been shown
351519 Directfb backend fails to build
165714 GtkEntryCompletion doesn't complete on paste
168737 Different button sizes in About dialogs
345666 The icons of file, directory and device at
GtkFileChooser
349429 spin button does not use correct value for
inner_border
349501 fix in the documentation of function
gtk_list_store_insert_with_values()
350072 stdout output from colorselection
351759 Wrong range value in documentation of
gtk_color_selection_set_current_alpha
349277 Wrong message for problems with serializing
texts
346800 Rework sort/filter models to use indices to
parents instead of pointers
349120 Small error in doc
350911 gdk_pixbuf_new_from_file_at_scale() should
skip when there's enough image data
348728 GtkTable Row and Column Spacing
351241 swapped argument description
350023 "Running GTK+ Applications" chapter does not
document new GTK_DEBUG possibilities
351812 file print backend filename encoding issue
* New and updated translations (bg,bn_IN,de,dz,el,es,
et,eu,fi,gu,hu,ko,ku,ja,lt,mk,ml,nb,ne,nl,or,pl,po,
sv,th,tr,tt,uk,zh_HK,zh_TW)
Overview of Changes from GTK+ 2.10.0 to 2.10.1
==============================================
* Drop Pango requirement 1.12.0
* Many fixes and improvements for the OS X
and directfb backends
* The printing framework now supports a subset
of the Cups 1.2 custom PPD option spec
* Bug fixes:
348134 box gaps on left and right can be drawn wrong
348014 crash on Epiphany Web Browser
348063 _gtk_icon_cache_get_icon crashes when no
cache available
348096 GtkStyle leaks GtkRcContext
157439 The "adding to panel" is buggy when switching
to an rtl environment
346751 symbolic colors can't be use in properties
347976 Context menus appear in strange locations
348001 xid / fid X11 font id's are used intermixed
348049 Tabs "magically" re-order
348094 Adjustment leak from gtkiconview
348115 improve notebook visuals when dragging
348120 gtkentrycompletion leaks action_view
348227 gtkimcontextsimple doesn't terminate a string
with null
348424 mem leak in GtkPrintSettings
348089 Missing chaining up in gtk_recent_chooser_menu_finalize
348090 Reference leak in gtk_text_layout_set_contexts
348095 gtk_menu_stop_scrolling does work even if we
were not scrolling...
142582 Add animation xsetting
346427 xbm loader returns false, fails to set error
346733 GList of visuals is always empty and causes
crashes in gdk_rgb_choose_visual()
347048 crash on using GtkAssistant
164884 GtkTreeView row drag is sometimes started
spuriously
302127 GtkTreeView gets angry when items deleted
from a test_expand_row handler
346092 gtk_tooltip_set_delay documentation wrong
346428 Be robust against broken loaders failing to
set error on failure
346467 gtkwindow state assignments bug
346598 modeline takes too much memory
346603 Context menus only work once
346639 treeview memleak
346668 symbolic colors are broken when specifying
engine
346713 quartz backend is missing functions that
pygtk needs
346721 XBM reading in quartz backend is broken
346836 Tabs jump around when opening menus
347018 missing GDK_QUARTZ_ALLOC/RELEASE_POOL calls
347277 gtk_drag_get_ipc_widget() and window groups
347315 SYNC extension check failing
347902 GtkRange doesn't reliably update stepper
sensitivity
335012 gtkcellrenderertext - gtkeditable: bad
interaction when ypad is set to hi value
337910 gdk_pango_layout_get_clip_region is inefficient
346605 Modifier-key events are not sent
346970 gtkfilechooserbutton leaks an empty list
347032 documentation of gtk_print_context_get_height()
has typo
347037 GObject info missing for GtkRecentManager and
GtkRecentChooser* in gtk-doc API reference
347041 documentation of gtk_paper_size_is_equal()
has a typo
347043 Reference leaks in GtkFileChooserButton
347066 gimp 2.3.9/2.2.12 GTK+ assertion fails on
open file dialog
347211 documentation of gtk_print_job_send() has a
typo
347710 new GtkCellRendererSpin misses a lot of API
documentation
347711 slight glitches in GtkAssistant API documentation
347065 Fix in-line doc typos
311399 relative to the window string can be better
* Updated translations (bg,bn_IN,cs,de,dz,es,et,
eu,fi,fr,gu,he,ko,or,th)
Overview of Changes from GTK+ 2.9.4 to 2.10.0
=============================================
* Printing:
- A PREVIEW capability has been added to allow hiding the
preview button
* Bug fixes:
321393 Incorrect size request after changing the font
327164 (GtkRBNode *)node becomes NULL inside GtkTreeView
344074 Feature request: get printer list, and get default print
344876 refcount leak when using ComboBox.set_cell_data_func
345644 gtk+-2.9.4 requires CUPS-1.2.x
345663 gtkaction(group)?.c: using functions without prototype declaration
346079 gtk receives all sorts of events from the X server
343841 Misguided iter assertion in gtk_list_store_insert_with_values()
346113 unix print dialogue always has preview button
346237 Possible leak in gtkprintunixdialog.c
346027 cancelling printer enumeration
346312 gtk 2.9.4 tarball lacks the files gtkwin32embedwidget.h
and gtkprint-win32.h
346341 Memory leak in gtk_tree_model_sort_finalize: User data not freed
* Updated translations (cs,cy,dz,es,gu,hi,ko,mk,nb,nl,ru,th,ur)
Overview of Changes from GTK+ 2.9.3 to 2.9.4
============================================
* GtkPrintOperation:
- UI improvements in the print dialog
- Make printing work without a display connection
- Replace "Print to PDF" by "Print to file" that
can generate PDF or PostScript
- Add a function to the low-level API to
enumerate all printers
* GtkNotebook tab DND has been improved
* GtkProgressbar supports text in activity mode
* GtkLabel allows to set the wrap mode
* GtkStatusIcon supports transparency
* Bugs fixed:
344850 Dragging a GtkTreeViewColumn segfaults when
using certain GtkTreeViewColumnDropFunc
342458 Stock menu items without icons are broken in
recent GTK+ releases.
335873 notebook DND + popup windows
337882 gtk_progress_bar_set_text() does nothing in
activity mode
339456 unix print dialogue help button bug
339702 Make sure printing works without a display
341571 tabs too easily reordered
344074 New Feature: get printer list, and get default print
344743 gtk_targets_include_text() should initialize atoms
344838 Allow func to be NULL in
gtk_tree_view_set_search_position_func
344891 GtkPrintOperationPreview signal defs correction
345008 Need updated cairo req
345093 print preview temp file issues
345107 Memory leak in gtk_entry_completion_finalize:
User data not freed
345194 gdk_window_set_functions() docs need to be updated
345456 grid-lines property is wrongly registered and
get/set.
314278 strings in gtk-update-icon-cache are not marked
for translation
344707 size group with widgets in hidden container
344897 Entry completion model NULL handling should be
documented
345038 gtk_print_job_set_status' status
345106 dialog button box spacings
345176 GtkIconView doc about drag and drop
345275 doc imporovements for gtk_window_move
345320 Two very similiar strings should be made equal
345321 Add meaning of "shortcut" as translator comment
320034 transparency gtkstatusicon
339592 Add print-to-postscript
344867 custom paper file could use keyfile
* Updated translations (cs,de,es,fr,gl,gu,hi,ko,ta,th)
Overview of Changes from GTK+ 2.9.2 to 2.9.3
============================================
* GtkPrintOperation:
- Introduce an allow-async property
- Introduce a GtkPrintOperationAction enumeration
- Rename pdf_target to export_filename
- Allow to hide "Print to PDF" in the low-level API
* GtkNotebook:
- Add a destroy notify to
gtk_notebook_set_window_creation_hook.
* GtkTreeView:
- Support grid lines
* GtkRange:
- Add a number of new stle properties which allow more
fexible stepper theming
* Bugs fixed:
153212 Have the Paste kbd shortcut jump to the location in
the buffer
337491 _gdk_win32_drawable_release_dc: DeleteDC() called on
a GetDC() handle
339739 gtk/gtkprintoperation-win32.c: 3 compile error
342339 GtkRange::stepper-spacing style property not
implemented correctly
343945 Buttons of a GtkAssistant are not accessible
344148 Wrong reqs for ATK
344209 gtk_notebook_set_window_creation_hook() has no destroy
func.
344232 GtkEntry's "Delete" context menu item is sensitive on a
non-editable GtkEntry
344244 Window resizing not working when keeping the aspect
fixed
344288 gtk_print_operation_preview_is_selected must return
a value
344386 gdk-2.0-uninstalled.pc.in and gdkconfig.h
344496 CRLF converting via Clipboard
344504 GtkPrintCapabilities not in gtktypebuiltins.h
344505 Wrong signal registration for create_custom_widget
344512 cvs build issue
344513 pdf print module's print_stream not calling destroy
notify
344518 NULL unref in page setup dialogue
344543 gtk_progress_bar_pulse calls gtk_progress_bar_paint
directly
344560 gtk_print_settings_[sg]et_scale shouldn't be in percent
344607 memory leaks in gtkrecentchooserdefault.c and
gtkrecentchoosermenu.c
344624 Memory leak in gtk_tree_model_filter_finalize: User
data not freed
337603 Possible off-by-one in
gdk_pango_layout_line_get_clip_region
344239 Wrong filename for gtk-find stock item.
344528 comma at end of GtkPrintOperationAction enum causes
mozilla compilation error
344290 horizontal-padding not take into account when placing
submenus
344558 document print dialogue response codes
339592 Add print-to-postscript
342249 Allow to draw upper and lower sides of GtkRange's
trough differently
344530 gtk_recent_chooser_widget_new_for_manager and
gtk_recent_chooser_menu_new_for_manager should
allow NULL manager arg
* Updated translations (es,fi,gu,ko,th,wa)
Overview of Changes from GTK+ 2.9.1 to 2.9.2
============================================
* GtkPrintOperation
- Support asynchronous pagination with the ::paginate signal
- Add gtk_print_operation_cancel
- Support application-specific widgets
- Allow disabling features based on application capabilities
- Optionally show progress
- Change some function names in GtkPrintContext to be longer
and better
- Support preview, the default implementation spawns evince,
but the api allows for an internal preview implementation
* GtkCellView
- Add a model property
* GtkStatusIcon
- Allow to obtain screen geometry
* GtkTreeView
- Many bug fixes, in particular for RTL handling
- Separate sensitive and selectable properties of rows
- Optionally allow rubberband selection
* GtkButton
- Add image-spacing style property
- Add image-position property
* GtkToolButton
- Add icon-spacing style property
* Make GTK+ work as an untrused X client
* Bugs fixed:
343838 gtkprintoperationpreview.h guards
305530 Crashes while creating source code w/GtkFontSelection
341327 Memory corruption inside glib
341734 cursor blocked to dnd mode after using shift and
dnd on a GtkCalendar
343453 G_DEFINE_TYPE messes up internal typenames of
GdkWindow and GdkPixmap
136571 Problems running as untrusted client
168105 the right edge tab does not appear when switching tab
172535 Add support for UI builders in gtk+
302556 GtkTreeView widget signals are badly documented
324480 Selecting first item with keyboard is difficult
340428 small cleanup
340444 don't run the custom page size dialogue
340839 Critical warnings in GtkTreeModelFilter
341898 gtk_tree_view_insert_column_with_attributes doesn't
work with fixed_height_mode
342003 DnD: Conditional jump or move depends on uninitialised value
342072 Wrong drop location in GtkEntry
342096 GtkImage animation CRITICALS on switching themes
342513 widget class style property with type module
342529 gdk should set resolution on PangoCairoFontmap,
not PangoCairoContext
342535 Add documentation for new GtkWidget style properties
(including Since tags)
342543 can't compile gtk+ on opensolaris using sun cc
342569 Typo in decl of gdk_color_parse
342752 Need a way to specify custom tab label for custom page
in Print dialog
342754 print-editor: font button dialog doesn't get focus if
main window has a window group
342781 GtkPrintUnixDialog: Collate should be insensitive unless
Copies is > 1
342783 GtkPrintUnixDialog: Range textinput area should be
insensitive unless range radiobutton is selected
342894 Use after free inside gtk_text_view_set_buffer
342930 GtkButton should offer a way to position the image
relative to the text
343088 Some typos in the PO file
343425 "grab-notify"-signal is not correctly propagated for
internal children
343438 gtk_color_button_set_color() doesn't emit "color-set"
signal
343475 page setup unix dialog confusion
343625 allow to get only some info from gtk_status_icon_get_geometry
343677 GtkWindow chains key-release to key-press
320431 Text too close when using East/West in a GtkToolButton
321523 GtkTreeView's test_expand_row signal emitting impractical
on row expand all
342007 Warning in gtk_paned_compute_position
343233 gdk_rectangle_intersect doc
333284 expander animation not working in RTL mode
343444 change color of gtk-demo source-buffer comment color
from red to DodgerBlue
343630 Small inconsistence in migration documentation
80127 Rubberbanding for GtkTreeView
341450 status icon + libnotify
341679 Allow absolute filenames in the options entries
* Updated translations (bg,cy,de,el,es,et,eu,gl,gu,it,ja,
nb,nl,pt_BR,th,vi)
Overview of Changes from GTK+ 2.9.0 to 2.9.1
============================================
* GtkPrintOperation
- Many user interface improvements in the unix dialogs
- gtk-demo has a printing demo
- Don't unload print backends for now, since that has
deadlock issues
- Asynchronous page rendering is done in an idle
* GtkImage has an image property
* GtkTextBuffer has a cursor-position property
* Arrow sizes in scrolled menus and notebooks are themable
* GDK keysyms have be synched with Xorg 7.1
* Bugs fixed:
340676 print backend type modules not correctly reregistering
their types
340870 gdk_window_get_toplevels docstring error
323956 Unwanted accelerate key in the action-based toolbar
340527 Tooltips not shown for toolbar buttons created with
uimanager/actions
340516 status icon property getter assertions
341091 a couple of spelling errors in gtk+
335707 notebook DND with event boxes in tab labels
337306 Add a GtkMessageDialog::image property
139628 GtkLayout In GtkScrolledWindow does not receive the
scroll_event
334412 Add cursor-position property for getting notified
about cursor movement
341217 langinfo.h #include'd unconditionally stops build
333632 use GtkMenu::scroll-arrow-height instead of
MENU_SCROLL_ARROW_HEIGHT
325282 Add GtkNotebook::tab-overlap style property
341247 possible crash with tab_label = NULL
321896 Synch gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0
341416 Save FileChooserDialog doesn't response
336774 gtk_recent_manager_add_full
340401 critical warnings when using window groups
341661 misplaced g_assert in gtk_text_view_allocate_children
341692 Semicolons after G_DEFINE_TYPE
341665 several misplaced g_assert
341578 reverse page order issues
341332 Unset background in more places
341896 gtktreeview has RTL problems with toggle buttons if using
gtktreestore as a model
341028 crash in new async code
341035 file chooser crash
340722 GtkToolbar::max-child-expand style property
339589 Tooltips on orientation icons in page setup dialog
340951 faq: How do I internationalize a GTK+ program? doesn't
mention glib-I18N
341855 Little typo in the Tree and List Widget Overview
153212 Have the Paste kbd shortcut jump to the location
in the buffer
335729 Invisible rows and
gtk_tree_model_filter_convert_child_*_to_*
106406 GtkTreeView Grid Lines?
339592 Add print-to-postscript
* Updated translations (de,es,gl,gu,nl)
Overview of Changes from GTK+ 2.8.x to 2.9.0
============================================
* GtkStatusIcon, a cross-platform "tray icon" API
* GtkAssistant, a widget for creating multi-step wizards
* GtkLinkButton, a widget that displays a clickable hyperlink
* GtkRecentChooser, widgets to display and select recently used files
* GtkPrintOperation, cross-platform printing support
* A framework for rich text copy and paste and DND
* GtkCellRendererAccel, a cell renderer for key combinations
* GtkCellRendererSpin, a cell renderer which edits numeric values
using a spin button
* GtkAction works with named icons in addition to stock icons
* GtkNotebook supports DND, allowing to reorder tabs, move tabs
between notebooks and drop tabs on the desktop to open a new window
* GtkTreeView:
- Enhanced customizability (e.g. grouping) with the
show-expanders and level-indentation properties
- Allow to embed the search popup
- Better search popup positioning
* GtkFileChooser:
- Communication with backends is now asynchronous to avoid
blocking on filesystem operations. Due to the required interface
changes, the GTK+ ABI version has been bumped to 2.10.0. Third-party
filesystem backends have to be ported to the new interface, other
modules, such as theme engines, input method modules or pixbuf loaders
have to be rebuilt so that they are installed in the right place
for GTK+ to find them.
- The location entry (popped up by C-L) has been integrated in the
main dialog.
* Reworked hex Unicode input now requires Ctrl-Shift-U
* Animations can now be globally controlled by settings
* The gtk-touchscreen-mode setting controls a number of changes
that make GTK+ work better on touchscreens
* Password entries can optionally show the last entered character
for a short while, controlled by the password-hint-timeout setting
* GTK+ can now consult an additional fallback icon theme before
falling back to hicolor
* Improved themability:
- GTK+ supports symbolic colors, which can be set system-wide
using a setting, and can be modified and used in rc files
and theme engines
- GTK+ sets window type hints on override-redirect windows to
help compositing managers apply proper bling
- Paths in rc files can now refer to all subclasses of a class
- GtkRange steppers will appear insensitive when the slider
is at the end; applications which need to handle this case
(e.g. to extend the range) can opt out of this.
- GtkRange::activate-slider style property allows themes
to draw sliders differently while they are being dragged
- GtkNotebook::tab-overlap and GtkNotebook::curvature style
properties allow more flexible notebook theming
- The spacing of buttons around children can be themed with
the GtkButton::inner-border style property. Apps can override
this per-widget using the corresponding inner-border property
- GtkMenu has aquired a horizontal-padding style property
- There are style properties for the color of hyperlinks,
GtkWidget::link-color and GtkWidget::visited-link-color
- GtkTreeview row hinting now takes the selection into account
- Scrolling menus can be forced to always display both arrows,
using the GtkMenu::double-arrows style property
- Separators can be themed using the wide-separators, separator-width
and separator-height style properties
- GtkTreeView allows more flexible theming with the row-ending-details
property
- The pixbuf theme engines supports customized drawing of expanders
and resize grips
* GDK changes:
- OS X backend
- DirectFB backend
- Closing displays works
- gdk_screen_is_composited to check for running compositing manager
- Support for Super, Hyper and Meta modifiers
* gdk-pixbuf changes:
- Supports saving tiff
- Supports loading 16-bit pnm
- Doesn't load entire gif animation to get first frame
* Bug fixes
- Too many to list them here
Overview of Changes from GTK+ 2.8.1 to GTK+ 2.8.2
=================================================
* Fix a crash with custom icon themes, which affected
the gnome-theme-manager. [Kjartan Maraas]
* Make sure font and cursor settings are propaged down
to the screen initially. [Frederic Crozat]
Overview of Changes from GTK+ 2.8.0 to GTK+ 2.8.1
=================================================
* gtk-update-icon-cache no longer stores copies of symlinked
icons, and it has a --index-only option to omit image data
from the cache [Matthias]
* Make large GtkSizeGroups more efficient [Michael Natterer]
* Improve positioning of menus in GtkToolbar [Christian Persch,
Paolo Borelli]
* Make scrolling work on unrealized icon views [Jonathan Blandford]
* Avoid unnecessary redraws on range widgets [Benjamin Berg]
* Make sure that all GTK+ applications reload icon themes
promptly. [Chris Lahey]
* Ensure that gdk_pango_get_context() and gtk_widget_get_pango_context()
use the same font options and dpi value [Michael Reinsch, Owen]
* Multiple memory leak fixes [Kjartan Maraas, Matthias]
* Other bug fixes [Owen, Allin Cottrell, Tor Lillqvist, Jonathan
Blandford, Christian Persch, Jonas Bonn, Brett Atoms, Guillaume
Cottenceau, Sebastien Bacher, Robin Green, Benoit Carpentier,
Hans Breuer, Kjartan Maraas, Manish Singh, Robert Jeff Mitchell,
Markku Vire, Kristian Rietveld, Tommi Komulainen]
* Documentation improvements [Olexiy Avramchenko, Matthias]
* Updated translations (es,et,hu,ko,lt,ro,uk)
Overview of Changes from GTK+ 2.7.5 to GTK+ 2.8.0
=================================================
* Require cairo 0.9.2 [Matthias]
+ Extend ABI checks to cover exported variables [Matthias]
* Bug fixes [Benjamin Berg, Christian Persch]
* Documentation improvements [Matthias]
* New and updated translation (cy,de,el,id,te,zh_TW)
Overview of Changes from GTK+ 2.7.4 to GTK+ 2.7.5
=================================================
* Rename the default theme to "Raleigh" [Thomas Wood]
* Add a permformance testing framework [Federico Mena Quintero]
* Catch format errors in translations. This may cause
"make check" to fail when using older versions
of gettext [Matthias]
* Win32
- Implement the urgency hint [Tor Lillqvist]
- Update ms-windows theme [Dom Lachowicz]
- Improve tablet handling [Robert Ögren]
- Bug fixes [Kazuki Iwamoto, Tor Lillqvist, Tim Evans,
J. Ali Harlow, Hans Breuer]
* Other bug fixes [Callum McKenzie, Matthias, Kjartan Maraas,
Elijah Newren, Morten Welinder, Owen Taylor, Johan Dahlin,
Peter Zelezny, Dan Winship, Damien Carbery, Alex Graveley,
Mike Morrison, David Odin]
* Documentation improvements [Fabrice Bauzac, Claudio Saavedra,
Federico Mena Quintero]
* New and updated translation (ar,bg,cs,de,fi,gu,ja,nb,nl,no,
pl,pt,sq,zh_CN,zh_TW)
Overview of Changes from GTK+ 2.7.3 to GTK+ 2.7.4
=================================================
* Make svg icon themes work better [Matthias]
* GtkPlug/GtkSocket: Make these cross-platform
and implement them for Win32 [Tor]
* Make font rendering xsettings work with pangocairo [Owen]
* Fix sporadic segfaults in the GtkTreeModelSort [James
Bramford, Markku Vire, Kristian Rietveld]
* Improve gdk-pixbuf's ability to recognize
svg images. [William Jon McCann]
* Win32
- Build fixes [Tor Lillqvist]
- Fix clipping issues [Robert Ögren]
- Bug fixes [Peter Zelezny]
* Other bug fixes [Christian Persch, Arkady L. Shane,
Matthias, Tommi Komulainen, Alexander Larsson, Owen,
Thomas Vander Stichele, Robert Ögren]
* Documentation improvements [Steve Chaplin, Matthias,
Federico Mena Quintero]
* New and updated translations (en_CA,fr,hy,lt,nl,sk,th,zh_CN)
Overview of Changes from GTK+ 2.7.2 to GTK+ 2.7.3
=================================================
* Make sure that gtk_window_present() moves the window to the
current desktop [Elijah Newren]
* GtkFileChooser
- Add overwrite confirmation for SAVE mode [Federico Mena Quintero]
* GtkTreeView
- Add gtk_tree_view_get_visible_range() [Mikael Hallendal]
- Add gtk_tree_view_column_queue_resize() [Morten Welinder]
- Add gtk_tree_row_reference_get_model() [Stefan Kost]
- Make page up/down behave as in the text view [Owen Taylor]
- In typeahead search, allow Ctrl-G to move to the
next match. [Matt T. Proud]
- Interpret Ctrl-Backspace as "Move focus to parent [Kathy
Fernandes]
- Speed up gtk_tree_selection_selected_foreach [Kristian Rietveld]
* GtkTextView
- Make double-clicking between words select whitespace [Mike
Miller, Paolo Borelli]
- Show dragged text in drag icon [Kevin Duffus, Carlos
Garnacho Parro]
- Make invisible text work well enough to remove the
remove the warning about it being unsupported. [Matthias]
* GtkEntry
- Make double-clicking between words select whitespace [Matthias]
- Show dragged text in drag icon [Kevin Duffus, Carlos Garnacho Parro]
- Fix the sizing of the entry completion popup [Ross Burton, Kris]
* Win32
- Build fixes [Tor Lillqvist]
- Fix handlink of Aiptek tablets [Robert Ögren]
* Bug fixes [Kris, Jorn Baayen, Billy Biggs, Tomislav Jonjic,
Owen Taylor, Vincent Noel, Carlos Garnacho Parro, Mark McLoughlin.
Mikael Magnusson, Luis Villa, Brian Bober, Bernd Demian, Manish
Singh, Akira Tagoh, Barbie LeVille, Hans Oesterholt]
* Documentation improvements [Torsten Schoenfeld, Rodney Dawes,
Park Ji-In]
* New and updated translations (cs,es,et,he,hu,nb,nl,no,sk)
Overview of Changes from GTK+ 2.7.1 to GTK+ 2.7.2
=================================================
- Bug fixes [Federico Mena Quintero]
- Don't overwrite the contents of the name entry
when changing folders in save mode. [Federico]
- Don't return nonexisting folders in save mode [Jean Marie Favreau]
- Fix a size allocation loop [Milosz Derezynski, Robert Ögren]
* GtkAboutDialog
- Clean up the "trail" in the path bar when set_current_folder
is called explicitly [Jonathan Blandford, Matthias Clasen]
- Accept dropped files and directories on the file list [Sven
Neumann, Matthias]
* GtkTreeView
- Make reusing cell renders work as well as it did in 2.6,
but document it as being unsupported. [Kristian Rietveld]
* GtkAboutDialog
- Optionally wrap the license [Christian Rose, Christian Persch]
* Menu
- Make image menu items work in vertical menubars [Matthias]
- Make orientation changes of menubars work [Matthias]
* Win32
- Implement named cursors and other new GDK apis [Hans Breuer]
- Implement getting cursor images [Tor Lillqvist]
* Bug fixes [J. Ali Harlow, Matthias, Diego Gonzalez,
Kazuki IWAMOTO, Paul Cornett, Sebastien Bacher, Tor]
* Documentation improvements [Benjamin Berg, Matthias,
Steve Chaplin, Peter van den Bosch, Tim-Philipp Müller]
* New and updated translations (en_CA,sr,sr@Latn)
Overview of Changes from GTK+ 2.7.0 to GTK+ 2.7.1
=================================================
* GtkTreeView
- Change the keynav for header reordering and resizing
to Alt-arrows and Shift-Alt-arrows [Calum Benson]
* GtkTextView
- Make movement by paragraphs up/down symmetric [Behnam
Esfahbod]
- Improve invisible text support [Matthias Clasen]
* Some new stock items: GTK_STOCK_INFO, GTK_STOCK_FULLSCREEN,
GTK_STOCK_LEAVE_FULLSCREEN [Kristof Vansant]
* Handle broken grabs in many places [John Ehresman, Matthias]
- Better HIG compliance [Jorn Baayen]
* GDK
- Add a function to move a region [Søren Sandmann]
- Fix endianness issues in the pixbuf drawing
code [David Zeuthen, Owen Taylor]
- Add a GrabBroken event that is emitted when grabs
are broken [Simon Cooke, John Ehresman, Matthias]
- Track implicit grabs [Matthias]
* Win32
- Improve and simplify line segment rendering [Tor Lillqvist]
* Bug fixes [Georg Schwarz, Fabricio Barros Cabral,
Benoit Carpentier, Markku Vire, Ryan Lortie, Matthias,
Morten Welinder, Dan Winship, Manish Singh, Tom von
Schwerdtner, Kjartan Maraas, Euan MacGregor, William Jon
McCann, David Saxton, Padraig Brady]
* Documentation improvements [Matthias, Ross Burton]
* New and improved translations (es,et,nl,sk,th,zh_TW)
Overview of Changes from GTK+ 2.6.x to GTK+ 2.7.0
=================================================
* GtkTreeView
- Kris is back !!!
- Lots of scrolling/validation fixes [Kristian Rietveld]
- Allow to "unsort" columns. [Richard Hult]
- Support wrapping in GtkCellRendererText [Matthias Clasen]
- Support tinting in GtkCellRendererPixbuf [Jorn Baayen]
- Make enable-search control only typeahead search,
not C-f search. [Sven Neumann]
- Make double-click autosize treeview columns again [Matthias]
- Fix insensitive appearance [Billy Biggs, Matthias]
* GtkFileChooser
- Don't select the first item in folder modes [Christian Neumair,
Federico Mena Quintero]
- Make save mode work again [Federico]
- Allow bookmarks to be renamed [Sean Middleditch]
- Ellipsize the preview label [Jeroen Zwartepoorte]
- Use smaller icons [Vincent Noel]
- Avoid a size allocation loop [Milosz Derzynski, Robert Ögren]
- Don't stat children of /afs or /net network directories [Federico]
- Improve sorting of filenames [Matthias]
- Treat backup files like hidden files, and support
.hidden files in the Unix backend [Sean Middleditch, Jan Arne Petersen]
- Improve the re-rooting behaviour of the path bar [Benjamin Otte]
* GtkIconView
- Many fixes for scrolling and selection handling [Mathias Hasselmann]
- Implement GtkCellLayout, use cell renderers [Matthias]
- Support editing [Matthias]
- Support DND [Matthias]
- Add API to determine the visible part of the
model [Jonathan Blandford]
* GtkAboutDialog
- Visual improvements, HIG compliance [Jorn Baayen]
* GtkCalendar
- Use nl_langinfo() to determine the first day of week,
when it is available [Vincent Untz, Tommi Komulainen, Pierre Ossman]
- Allow localization of the year format [Paisa Seeluangsawat]
* GtkEntry
- Allow completion popups to be wider than the entry [Ross Burton]
- Add a property to suppress the popup for single matches [Matthias]
- Don't blink the cursor if not editable [Nikos Kouremenos]
* GtkTextView
- Add a GtkTextBuffer::text property [Johan Dahlin]
- Allow to set a paragraph background color [Gustavo Carneiro,
Jeroen Zwartepoorte]
- Don't blink the cursor if not editable [Nikos Kouremenos]
- Make invisible text work a bit better [Jeroen]
* GtkAlignment
- Flip padding in RTL mode [Maciej Katafiasz]
* GtkUIManager
- Support invisible, expanding separators [Christian Persch]
- Allow to construct menu tool buttons [Sven Neumann]
* GtkIconCache
- Cache image data and metadata as well [Anders Carlsson]
* GtkMenu
- Support vertical menubars [Matthias]
- Make scrolling more efficient [Jorn Baayen, Søren Sandmann]
- Allow to pop up menus without grabbing the keyboard [Michael
Natterer]
- Allow setting background images on menus [Benjamin Otte]
* gtk-demo
- Add demos for 2.6 features [Matthias, Mark McLoughlin]
* Allow custom translation function for stock labels. [Funda Wang,
Diego Gonzalez]
* Add 16x16 versions for some some icons which were missing
them [Jakub Steiner, Tuomas Kuosmanen, Vincent Noel]
* Move a lot of constant data to the .rodata section [Matthias]
* Don't copy property names, nicks and blurbs [Matthias]
* Use Cairo for most drawing [Owen Taylor]
* Allow themes to draw outside the widget's allocation [Owen]
* Allow key names to be translated [Christian Rose]
* Make all cursors used by GTK+ themeable [Matthias]
* Support the ICCCM urgency hint [Havoc Pennington]
* GDK
- Work with XRender < 0.4 [Albert Chin, Billy Biggs]
- Add API to warp the pointer [Matthias]
- Support _NET_VIRTUAL_ROOTS [Carsten Haitzler]
- Add API to obtain the last user interaction time [Elijah
Newren]
- Make some large arrays const [Ben Maurer, Tommi Komulainen]
- Support Cairo drawing [Owen, Carl Worth]
- Support Visuals with alpha channel [Owen, Keith Packard]
- Support named cursors and cursor themes [Matthias]
* gdk-pixbuf
- Support saving BMP [Ivan Wong Yat Cheung]
- Allow to specify compression level when saving
in PNG format [Sven Neumann]
- Add a way to construct animations from frames [Dom Lachowicz]
- Accept BMP v4 [Matthias]
* Win32 changes
- Improve keyboard handling [Tor Lillqvist]
- Improve clipboard handling [Ivan Wong]
- Do delayed rendering for transfering images
through the clipboard [Ivan Wong]
- Improve tablet handling [Robert Ögren]
- Initialize input devices lazily [Robert Ögren]
- Make big windows work on NT [Ivan Wong]
- Implement dashed lines correctly [Ivan Wong, Hans Breuer]
- Handle 16 color display mode [Tor]
- Support RGBA cursors [Tim Evans]
- Fix DND on multi-monitor systems [Tor]
- Use alternative button order [Tor]
- Build fixes [Hans]
- Bug fixes [Ivan Wong, Dave Neary, Daniel Atallah, Takuro Ashie,
Robert Ögren, Kevin Stange, Tim Evans]
* Other bug fixes [Alexander Hunziker, Alexander Larsson, Anders
Carlsson, Andreas Volz, Arjan van de Ven, Billy Biggs, Chris Lee,
Christian Neumair, Christian Persch, Crispin Flowerday, Damon Chaplin,
David A. Knight, David Costanzo, Dennis Cranston, Diego Gonzalez,
Dom Lachowicz, Doug Morgan, Doug Quale, Elijah Newren, Fabricio Barros
Cabral, Federico, Felipe Heidrich, Felix Riemann, Frank Naumann,
Frederic Crozat, Gary Kramlich, Gustavo Carneiro, Hans-Wolfgang Loidl,
Havoc, Hazael Maldonado Torres, Ian Wienand, Ismael Juma, Jaap A. Haitsma,
Jacob Kroon, Jakub Jellinek, Jean Marie Favreau, Jeff Franks, Jens Finke,
Jim Evins, Joerg Sonnenberger, John Ellis, John Finlay, Jonathan,
Jorn Baayen, Kazuki Iwamoto, Kirk Bridger, Kjartan Maraas, Leonard
Michlmayr, Lorenzo Gil Sanchez, Manish Singh, Marc Meissner, Matthias,
Michael Natterer, Mikael Hallendal, Milosz Derezynski, Morten Welinder,
Murray Cumming, Nickolay V. Shmyrev, Niko Tyni, Nguyen Thai Ngoc Duy,
Olaf Vitters, Olivier Sessink, Owen, Paolo Borelli, Patrick Fimml,
Peter Bloomfield, Peter Wainwright, Phil Blundell, Philipp Langdale,
Priit Laes, Reinout van Schouwen, Remus Draica, Richard Hult, Robert
Staudinger, Rodney Dawes, Rodrigo Moya, Roman Kagan, Ryan Lortie,
Samuel Hym, Seven Walter, Søren, Stefan Kost, Stepan Kasal,
Stephen Kennedy, Sven Neumann, Theerud Lawtrakul, Thomas Leonard,
Thomas Zajic, Tim-Philipp Müller, Tomislav Jonjic, Tommi Komulainen,
Torsten Schoenfeld, Tristan Van Berkom, Victor Osadci, Vincent Ladeuil,
Vincent Noel, Vincent Untz, Yury Puzis]
* Documentation improvements [Alex Graveley, Ali Akcaagac, Bill
Haneman, Billy Biggs, Christian Persch, Christian Rose, Dan Winship,
George Kraft IV, Ghorban M. Tavakoly, Hubert Sokolowski, Jeff Franks,
Jianfei Wang, Johan Dahlin, Jon-Kare Hellan, Karel Kulhavy, Ken
Siersma, Maciej Katafiasz, Masao Mutoh, Mathias Hasselmann, Matthias,
Michal Suchanek, Morten Welinder, Murray Cumming, Oliver Sessink, Owen,
Richard Hult, Roger Light, Sebastian Bacher, Steve Chaplin, Sven Neumann,
Torsten Schoenfeld, Vincent Untz, Worik Stanton]
* New and improved translations (bg,ca,cs,cy,da,de,el,en_CA,en_GB,es,et,
eu,fa,fi,hu,id,ja,nb,ne,nl,nn,no,pl,pt,pt_BR,ro,ru,rw,sk,sq,sr,sr@Latn,
sv,th,uk,vi,xh,zh_CN,zh_TW)
- Work with Xservers implementing old versions
of the Render extension [Albert Chin]
- Respect _NET_VIRTUAL_ROOTS [Carsten Haitzler]
* Win32
- Bug fixes [Tor Lillqvist, Ivan Wong, David Neary, Daniel Atallah,
Takuro Ashie]
- Make keyboard input work in Indic languages [Tor]
- Initialize extended input devices lazily [Robert Ögren]
* Other bug fixes [Owen Taylor, Richard Hult, Phil Blundell,
Jens Finke, Michael Natterer, Manish Singh, Kjartan Maraas,
Priit Laes, Dennis Cranston, Remus Draica, Matthias,
Jeff Franks, Elijah Newren, Damon Chaplin, Vincent Ladeuil,
Carlos Garnacho Parro, Thomas Zajic, Crispin Flowerday,
Tommi Komulainen, Søren Sandmann, Chris Lee, Mark McLoughlin]
* Documentation improvements [Murray Cumming, Matthias, Alex Graveley,
Jeff Franks, Christian Rose, Masao Mutoh, Karel Kulhavy, Roger
Light]
* New and improved translations (bg,ca,cs,cy,da,de,el,en_CA,es,et,hu,it,
ja,ko,lt,nb,nl,nn,no,pl,pt,pt_BR,sk,sq,sv,zh_CN)
Overview of Changes from GTK+ 2.6.0 to GTK+ 2.6.1
=================================================
+3 -103
View File
@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 2.10.2. GTK+ is a multi-platform toolkit for
This is GTK+ version 2.6.2. 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.
@@ -20,111 +20,13 @@ The official web site is:
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
Release notes
=============
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
@@ -206,7 +108,6 @@ Release notes for 2.6
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
@@ -240,7 +141,6 @@ In the bug report please include:
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
+2 -2
View File
@@ -28,7 +28,7 @@ to ask people commiting to GTK+ to follow a few rules:
2) There must be a ChangeLog for every commit. (If you discover that
you only committed half the files you meant to and need to fix that
up, or something, you don't need a new ChangeLog entry. But in general,
ChangeLog entries are mandatory.) Changes without ChangeLog entries
ChangeLog entries are mandatory.) Changes with out ChangeLog entries
will be reverted.
3) There _must_ be a ChangeLog for every commit.
@@ -38,7 +38,7 @@ Notes:
* If you are going to be changing many files in an experimental fashion,
it probably is a good idea to create a separate branch for your changes.
* The ChangeLog entries should preferably match in date format
* The ChangeLog entries should preferrably match in date format
with the existing entries. You can set how emacs does this
by using customize mode:
+2 -102
View File
@@ -20,111 +20,13 @@ The official web site is:
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
Release notes
=============
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
@@ -206,7 +108,6 @@ Release notes for 2.6
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
@@ -240,7 +141,6 @@ In the bug report please include:
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
-2
View File
@@ -68,8 +68,6 @@
#undef GETTEXT_PACKAGE
#undef HAVE_CUPS_API_1_2
/* #undef PACKAGE */
/* #undef VERSION */
-5
View File
@@ -93,11 +93,6 @@ fi
rm -rf autom4te.cache
# README and INSTALL are required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch these here, they will be
# regenerated from their corresponding *.in files by ./configure anyway.
touch README INSTALL
$ACLOCAL $ACLOCAL_FLAGS || exit $?
libtoolize --force || exit $?
+107 -86
View File
@@ -31,15 +31,13 @@
/* #undef HAVE_STPCPY */
/* #undef HAVE_XSHM_H */
/* #undef HAVE_SHAPE_EXT */
/* #undef HAVE_SOLARIS_XINERAMA */
/* #undef HAVE_SYS_SELECT_H */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* #undef HAVE_XFREE_XINERAMA */
/* #undef HAVE_XINERAMA */
#define HAVE_WINSOCK_H 1
#define HAVE_WINTAB 1
/* #undef HAVE_XCONVERTCASE */
/* #undef HAVE_XFT */
@@ -55,6 +53,9 @@
#define USE_MMX 1
#endif
/* Define to use X11R6 additions to XIM */
/* #undef USE_X11R6_XIM */
/* Define to use XKB extension */
/* #undef HAVE_XKB */
@@ -85,184 +86,204 @@
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define if using `alloca.c'. */
/* #undef C_ALLOCA */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* Define the location where the catalogs will be installed */
#define GTK_LOCALEDIR "UNUSED"
/* Define if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
/* #undef HAVE_ALLOCA_H */
/* Define if you have the <argz.h> header file. */
/* #undef HAVE_ARGZ_H */
/* Define if you have the `bind_textdomain_codeset' function. */
/* #undef HAVE_BIND_TEXTDOMAIN_CODESET */
/* Is the wctype implementation broken */
/* #undef HAVE_BROKEN_WCTYPE */
/* Define to 1 if you have the `dcgettext' function. */
/* Define if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
/* Define if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the `flockfile' function. */
/* #undef HAVE_FLOCKFILE */
/* Define if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `getpagesize' function. */
/* Define if you have the `getpagesize' function. */
#ifndef _MSC_VER
#define HAVE_GETPAGESIZE 1
#else /* _MSC_VER */
/* #undef HAVE_GETPAGESIZE */
#endif /* _MSC_VER */
/* Define to 1 if you have the `getresuid' function. */
/* Define if you have the `getresuid' function. */
/* #undef HAVE_GETRESUID */
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Define to 1 if you have the <inttypes.h> header file. */
#ifndef _MSC_VER
#define HAVE_INTTYPES_H 1
#else /* _MSC_VER */
/* Define if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */
#endif /* _MSC_VER */
/* Define if your <locale.h> file defines LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
/* Define to 1 if you have the <locale.h> header file. */
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `lstat' function. */
/* Define if you have the `lstat' function. */
/* #undef HAVE_LSTAT */
/* Define to 1 if you have the `mallinfo' function. */
/* #undef HAVE_MALLINFO */
/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the <memory.h> header file. */
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkstemp' function. */
/* Define if you have the `mkstemp' function. */
/* #undef HAVE_MKSTEMP */
/* Define to 1 if you have a working `mmap' system call. */
/* Define if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 if you have the <pwd.h> header file. */
/* Define if you have the `munmap' function. */
/* #undef HAVE_MUNMAP */
/* Define if you have the <nl_types.h> header file. */
/* #undef HAVE_NL_TYPES_H */
/* Define if you have the `putenv' function. */
#define HAVE_PUTENV 1
/* Define if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define if you have the `setenv' function. */
/* #undef HAVE_SETENV */
/* Define to 1 if you have the <stdint.h> header file. */
/* Define if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define if you have the <stdint.h> header file. */
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else /* _MSC_VER */
/* #undef HAVE_STDINT_H */
#endif /* _MSC_VER */
/* Define to 1 if you have the <stdlib.h> header file. */
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
/* Define if you have the `strcasecmp' function. */
#ifndef _MSC_VER
#define HAVE_STRCASECMP 1
#else /* _MSC_VER */
/* #undef HAVE_STRCASECMP */
#endif /* _MSC_VER */
/* Define if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define if you have the <strings.h> header file. */
/* #undef HAVE_STRINGS_H */
/* Define to 1 if you have the <string.h> header file. */
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
/* Define if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
/* Define if you have the <sys/time.h> header file. */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* Define to 1 if you have the <sys/types.h> header file. */
/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
/* #undef HAVE_SYS_WAIT_H */
/* Define to 1 if you have the <unistd.h> header file. */
/* Define if you have the <unistd.h> header file. */
#ifndef _MSC_VER
#define HAVE_UNISTD_H 1
#else /* _MSC_VER */
/* #undef HAVE_UNISTD_H */
#endif /* _MSC_VER */
/* Have uxtheme.h include file */
#define HAVE_UXTHEME_H 1
/* Have wchar.h include file */
#define HAVE_WCHAR_H 1
/* Have wctype.h include file */
#define HAVE_WCTYPE_H 1
/* Define if we have X11R6 */
/* #undef HAVE_X11R6 */
/* Define if you have the <winsock.h> header file. */
#define HAVE_WINSOCK_H 1
/* Define to 1 if you have the `XConvertCase' function. */
/* #undef HAVE_XCONVERTCASE */
/* Define if you have the `__argz_count' function. */
/* #undef HAVE___ARGZ_COUNT */
/* Have the Xcursor library */
/* #undef HAVE_XCURSOR */
/* Define if you have the `__argz_next' function. */
/* #undef HAVE___ARGZ_NEXT */
/* Have the XFIXES X extension */
/* #undef HAVE_XFIXES */
/* Define to 1 if you have the `XInternAtoms' function. */
/* #undef HAVE_XINTERNATOMS */
/* Have the SYNC extension library */
/* #undef HAVE_XSYNC */
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
/* Define if <X11/extensions/XIproto.h> needed for xReply */
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
/* Define to the full name of this package. */
#define PACKAGE_NAME "gtk+"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gtk+ 2.9.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gtk+"
/* Define to the version of this package. */
#define PACKAGE_VERSION "@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
/* Define if you have the `__argz_stringify' function. */
/* #undef HAVE___ARGZ_STRINGIFY */
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to 1 if you have the ANSI C header files. */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if the X Window System is missing or not being used. */
/* Define if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
#define gid_t int
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
if it is not supported. */
/* #undef inline */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `unsigned' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `int' if <sys/types.h> doesn't define. */
#define uid_t int
+312 -397
View File
@@ -11,34 +11,31 @@ AC_PREREQ(2.54)
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [10])
m4_define([gtk_micro_version], [3])
m4_define([gtk_minor_version], [6])
m4_define([gtk_micro_version], [2])
m4_define([gtk_version],
[gtk_major_version.gtk_minor_version.gtk_micro_version])
m4_define([gtk_interface_age], [3])
m4_define([gtk_interface_age], [2])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
# This is the X.Y used in -lgtk-FOO-X.Y
m4_define([gtk_api_version], [2.0])
# Define a string for the earliest version that this release has
# backwards binary compatibility with for all interfaces a module
# might. Unless we add module-only API with lower stability
# guarantees, this should be unchanged until we break binary compat
# for GTK+.
# forward/backwards binary compatibility with. This is used for module
# locations. (Should this be backwards-compat instead?)
#
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
m4_define([gtk_binary_version], [2.10.0])
m4_define([gtk_binary_version], [2.4.0])
# required versions of other packages
m4_define([glib_required_version], [2.12.0])
m4_define([pango_required_version], [1.12.0])
m4_define([atk_required_version], [1.9.0])
m4_define([cairo_required_version], [1.2.0])
m4_define([glib_required_version], [2.6.0])
m4_define([pango_required_version], [1.8.0])
m4_define([atk_required_version], [1.0.1])
AC_INIT([gtk+], [gtk_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
[gtk+])
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
@@ -146,14 +143,12 @@ if test "$os_win32" = "yes"; then
enable_shared=yes
fi
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
# Make sure we use 64-bit versions of various file stuff.
AC_SYS_LARGEFILE
AM_PROG_AS
AC_PATH_PROG(NM, nm, nm)
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
@@ -175,10 +170,6 @@ AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
if test "$os_win32" = "yes"; then
AC_CHECK_TOOL(WINDRES, windres, no)
if test "$WINDRES" = no; then
AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
fi
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
@@ -195,6 +186,10 @@ AC_ARG_ENABLE(shm,
[AC_HELP_STRING([--enable-shm],
[support shared memory if available [default=yes]])],,
[enable_shm="yes"])
AC_ARG_ENABLE(ansi,
[AC_HELP_STRING([--enable-ansi],
[turn on strict ansi [default=no]])],,
[enable_ansi=no])
AC_ARG_ENABLE(xkb,
[AC_HELP_STRING([--enable-xkb],
[support XKB [default=maybe]])],,
@@ -218,19 +213,21 @@ AC_ARG_WITH(ie55,
[AC_HELP_STRING([--with-ie55=DIRECTORY],
[IE5.5 libs and headers (for Active IMM)])])
GLIB_AC_DIVERT_BEFORE_HELP([
if test "$platform_win32" = yes; then
gdktarget=win32
else
gdktarget=x11
fi
])
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
gdktarget=$with_gdktarget)
AC_SUBST(gdktarget)
case $gdktarget in
x11|linux-fb|win32|quartz|directfb) ;;
*) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
x11|linux-fb|win32) ;;
*) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
esac
gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
@@ -345,8 +342,7 @@ ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
PKG_CHECK_MODULES(BASE_DEPENDENCIES,
[glib-2.0 >= glib_required_version dnl
atk >= atk_required_version dnl
pango >= pango_required_version dnl
cairo >= cairo_required_version])
pango >= pango_required_version])
if test "$os_win32" != yes; then
# libtool option to control which symbols are exported
@@ -370,8 +366,8 @@ AC_ARG_ENABLE(explicit-deps,
AC_MSG_CHECKING([Whether to write dependencies into .pc files])
case $enable_explicit_deps in
auto)
deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
else
enable_explicit_deps=no
@@ -404,54 +400,6 @@ AC_SUBST(REBUILD)
AC_CHECK_FUNCS(lstat mkstemp flockfile)
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
AC_TRY_LINK([#include <langinfo.h>], [
char c;
c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
], gtk_ok=yes, gtk_ok=no)
AC_MSG_RESULT($gtk_ok)
if test "$gtk_ok" = "yes"; then
AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
[Define if _NL_TIME_FIRST_WEEKDAY is available])
fi
# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
AC_TRY_LINK([#include <langinfo.h>], [
char c;
c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
], gtk_ok=yes, gtk_ok=no)
AC_MSG_RESULT($gtk_ok)
if test "$gtk_ok" = "yes"; then
AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
[Define if _NL_MEASUREMENT_MEASUREMENT is available])
fi
# _NL_PAPER_HEIGHT is an enum and not a define
AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
AC_TRY_LINK([#include <langinfo.h>], [
char c;
c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
], gtk_ok=yes, gtk_ok=no)
AC_MSG_RESULT($gtk_ok)
if test "$gtk_ok" = "yes"; then
AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
[Define if _NL_PAPER_HEIGHT is available])
fi
# _NL_PAPER_WIDTH is an enum and not a define
AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
AC_TRY_LINK([#include <langinfo.h>], [
char c;
c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
], gtk_ok=yes, gtk_ok=no)
AC_MSG_RESULT($gtk_ok)
if test "$gtk_ok" = "yes"; then
AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
[Define if _NL_PAPER_WIDTH is available])
fi
# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include <setjmp.h>], [
@@ -469,7 +417,7 @@ fi
# sure that both po/ and po-properties/ have .po files that correspond
# to your language. If you only add one to po/, the build will break
# in po-properties/.
ALL_LINGUAS="af am ar az az_IR be bg bn bn_IN br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa yi zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
@@ -513,20 +461,6 @@ case $host in
;;
esac
#
# see bug 162979
#
AC_MSG_CHECKING(for HP-UX)
case $host_os in
hpux9* | hpux10* | hpux11*)
AC_MSG_RESULT(yes)
CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
;;
*)
AC_MSG_RESULT(no)
;;
esac
dnl NeXTStep cc seems to need this
AC_MSG_CHECKING([for extra flags for POSIX compliance])
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
@@ -551,14 +485,6 @@ AM_PATH_GLIB_2_0(glib_required_version, :,
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
gobject gmodule-no-export gthread)
# See if it's safe to turn G_DISABLE_DEPRECATED on.
GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
fi
dnl
dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
dnl
@@ -1037,10 +963,10 @@ if test $cross_compiling = yes; then
fi
fi
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h &&
test "x$REBUILD_PNGS" = "x#" ; then
AC_MSG_ERROR([
*** gtkbuiltincache.h is not in the tree, and cannot be built
*** gtkstockpixbufs.h is not in the tree, and cannot be built
*** because you don't have libpng, or (when cross-compiling) you
*** don't have a prebuilt gdk-pixbuf-csource on the host system.])
fi
@@ -1064,85 +990,177 @@ AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
# Windowing system checks
########################################
GDK_PIXBUF_XLIB_PACKAGES=
GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
GDK_PIXBUF_XLIB_EXTRA_LIBS=
X_PACKAGES=fontconfig
GDK_EXTRA_LIBS="$GDK_WLIBS"
GDK_EXTRA_CFLAGS=
# GTK+ uses some X calls, so needs to link against X directly
GTK_DEP_PACKAGES_FOR_X=
GDK_EXTRA_LIBS=$GDK_WLIBS
GDK_EXTRA_CFLAGS=
GTK_DEP_LIBS_FOR_X=
if test "x$gdktarget" = "xx11"; then
FREETYPE_LIBS=
FREETYPE_CFLAGS=
if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
#
# We use fontconfig very peripherally when decoding the default
# settings.
# Checks for FreeType
#
if $PKG_CONFIG --exists fontconfig; then : ; else
AC_MSG_ERROR([
*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
fi
have_freetype=false
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test "x$FREETYPE_CONFIG" != "xno" ; then
FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
#
# Check for basic X packages; we use pkg-config if available
#
if $PKG_CONFIG --exists x11 xext xrender; then
have_base_x_pc=true
X_PACKAGES="$X_PACKAGES x11 xext xrender"
x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
# Strip out any .la files that pkg-config might give us (this happens
# with -uninstalled.pc files)
x_libs_for_checks=
for I in $x_libs ; do
case $I in
*.la) ;;
*) x_libs_for_checks="$x_libs_for_checks $I" ;;
esac
done
GDK_PIXBUF_XLIB_PACKAGES="x11"
GTK_PACKAGES_FOR_X="x11"
else
have_base_x_pc=false
AC_PATH_XTRA
if test x$no_x = xyes ; then
AC_MSG_ERROR([X development libraries not found])
gtk_save_LIBS="$LIBS"
LIBS="$FREETYPE_LIBS $LIBS"
AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
LIBS="$gtk_save_LIBS"
if $have_freetype ; then
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
AC_TRY_COMPILE([
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_ERRORS_H
],
[(void)1;],:,have_freetype=false)
if $have_freetype ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
CPPFLAGS="$gtk_save_cppflags"
fi
x_cflags="$X_CFLAGS"
x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
fi
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_CFLAGS)
fi
GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
if test "x$gdktarget" = "xx11"; then
# We start off with the libraries from Pango
## be sure we also have Pango built with Xft2 support
if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
if $have_freetype ; then
:
else
AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
fi
else
AC_MSG_ERROR([Xft Pango backend is required for x11 target])
fi
# Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
if $PKG_CONFIG --exists xft ; then : ; else
AC_MSG_ERROR([Xft version 2 is required for x11 target])
fi
#
# If Pango included the shared library dependencies from X11 in
# the pkg-config output, then we use that (to avoid duplicates).
# but if they were omitted to avoid binary compatibility problems,
# then we need to repeat the checks.
#
x_libs="`$PKG_CONFIG --libs pangoxft`"
case "$x_libs" in
*-lX11*) pango_omitted_x_deps=no ;;
*) pango_omitted_x_deps=yes ;;
esac
x_cflags="`$PKG_CONFIG --cflags pangoxft`"
x_extra_libs=
AC_PATH_XTRA
if test x$no_x = xyes ; then
AC_MSG_ERROR([X development libraries not found])
fi
if test $pango_omitted_x_deps = yes ; then
# Old versions of Xft didn't necessarily include -lX11 in the output
x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
fi
## Strip the .la files
x_libs_for_checks=""
for I in $x_libs ; do
case $I in
*.la) ;;
*) x_libs_for_checks="$x_libs_for_checks $I" ;;
esac
done
# Sanity check for the X11 library
AC_CHECK_LIB(X11, XOpenDisplay, :,
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
$x_libs_for_checks)
if test "x$enable_shm" = "xyes"; then
# Check for the Xext library (needed for XShm extention)
AC_CHECK_LIB(Xext, XShmAttach,
[GTK_ADD_LIB(x_extra_libs,Xext)],
# On AIX, it is in XextSam instead, but we still need -lXext
[AC_CHECK_LIB(XextSam, XShmAttach,
[GTK_ADD_LIB(x_extra_libs,Xext)
GTK_ADD_LIB(x_extra_libs,XextSam)
], , -lXext $x_libs_for_checks)],
$x_libs_for_checks)
fi
GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
# GTK+ uses some X calls, so needs to link against X directly
if test $enable_explicit_deps != yes ; then
GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
fi
# 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,
-lXext $x_libs_for_checks)
if test "x$use_solaris_xinerama" = "xyes"; then
AC_CHECK_HEADER(X11/extensions/xinerama.h,
[GTK_ADD_LIB(x_extra_libs,Xext)
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
AC_DEFINE(HAVE_XINERAMA)],
use_solaris_xinerama=no,[#include <X11/Xlib.h>])
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,
[GTK_ADD_LIB(x_extra_libs,Xext)
GTK_ADD_LIB(x_extra_libs,Xinerama)
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 xReply
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
gtk_save_LIBS=$LIBS
LIBS="$x_libs_for_checks $LIBS"
# Sanity check for the X11 and Xext libraries. While everything we need from
# Xext is optional, the chances a system has *none* of these things is so
# small that we just unconditionally require it.
AC_CHECK_FUNC(XOpenDisplay, :,
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
AC_CHECK_FUNC(XextFindDisplay, :,
AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
AC_CHECK_FUNC(XRenderQueryExtension, :,
AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
# Check for xReply
AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
AC_TRY_COMPILE([#include <X11/Xlibint.h>],
[xReply *rep;],
@@ -1156,18 +1174,40 @@ if test "x$gdktarget" = "xx11"; then
[AC_MSG_RESULT([unknown])
AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
# Check for XConvertCase, XInternAtoms (X11R6 specific)
CPPFLAGS="$gtk_save_cppflags"
AC_CHECK_FUNCS(XConvertCase XInternAtoms)
# Check for shaped window extension
AC_CHECK_LIB(Xext, XShapeCombineMask,
[GTK_ADD_LIB(x_extra_libs,Xext)
AC_DEFINE(HAVE_SHAPE_EXT)],
,
$x_libs_for_checks)
# Check for XConvertCase (X11R6 specific)
AC_CHECK_LIB(X11, XConvertCase,
AC_DEFINE(HAVE_XCONVERTCASE),
,
$x_libs_for_checks)
# Check for XInternAtoms (X11R6 specific)
AC_CHECK_LIB(X11, XInternAtoms,
AC_DEFINE([HAVE_XINTERNATOMS], 1,
[Define to 1 if you have the `XInternAtoms' function.]),
,
$x_libs_for_checks)
# Generic X11R6 check needed for XIM support; we could
# probably use this to replace the above, but we'll
# leave the separate checks for XConvertCase and XInternAtoms
# for clarity
have_x11r6=false
AC_CHECK_FUNC(XAddConnectionWatch,
have_x11r6=true)
AC_CHECK_LIB(X11, XAddConnectionWatch,
have_x11r6=true,
,
$x_libs_for_checks)
if $have_x11r6; then
AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
@@ -1180,39 +1220,71 @@ if test "x$gdktarget" = "xx11"; then
AC_MSG_WARN(XKB support explicitly enabled)
AC_DEFINE(HAVE_XKB)
elif test "x$enable_xkb" = "xmaybe"; then
AC_CHECK_FUNC(XkbQueryExtension,
AC_DEFINE(HAVE_XKB))
AC_CHECK_LIB(X11, XkbQueryExtension,
AC_DEFINE(HAVE_XKB),
,
$x_libs_for_checks)
else
AC_MSG_WARN(XKB support explicitly disabled)
fi
# Check for shaped window extension
x_cflags="$X_CFLAGS"
x_ldflags="$X_LDFLAGS"
AC_CHECK_FUNC(XShapeCombineMask,
AC_DEFINE(HAVE_SHAPE_EXT))
# set up things for XInput
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_XFREE)
GTK_ADD_LIB(x_extra_libs, Xi)
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
[GTK_ADD_LIB(x_extra_libs, Xrender)
GTK_ADD_LIB(x_extra_libs, Xrandr)
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
:, [#include <X11/Xlib.h>])], : ,
$X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
# Checks for Xcursor library
have_xcursor=false
PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
if $have_xcursor ; then
AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xcursor` $GDK_EXTRA_CFLAGS"
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xcursor` $GDK_EXTRA_LIBS"
fi
# X SYNC check
gtk_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $x_cflags"
AC_CHECK_FUNC(XSyncQueryExtension,
AC_CHECK_LIB(Xext, XSyncQueryExtension,
[AC_CHECK_HEADER(X11/extensions/sync.h,
AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
:, [#include <X11/Xlib.h>])])
[GTK_ADD_LIB(x_extra_libs, Xext)
AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library)],
:, [#include <X11/Xlib.h>])], : ,
$X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
CFLAGS="$gtk_save_CFLAGS"
# Checks for XFixes extension
have_xfixes=false
PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
if $have_xfixes ; then
AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
fi
# Xshm checks
if test "x$enable_shm" = "xyes"; then
# Check for the XShm extension, normally in Xext
AC_CHECK_FUNC(XShmAttach,
:,
# On AIX, it is in XextSam instead
[AC_CHECK_LIB(XextSam, XShmAttach,
[GTK_ADD_LIB(x_extra_libs,XextSam)])])
fi
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
@@ -1243,117 +1315,12 @@ if test "x$gdktarget" = "xx11"; then
fi
fi
# Check for Xinerama extension (Solaris impl or Xfree impl)
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $x_cflags"
case "$host" in
*-*-solaris*)
# Check for solaris
AC_MSG_CHECKING(for Xinerama support on Solaris)
have_solaris_xinerama=false
AC_CHECK_FUNC(XineramaGetInfo,
[AC_CHECK_HEADER(X11/extensions/xinerama.h,
[have_solaris_xinerama=true], :,
[#include <X11/Xlib.h>])])
if $have_solaris_xinerama ; then
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
AC_DEFINE(HAVE_XINERAMA)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
;;
*)
# Check for XFree
AC_MSG_CHECKING(for Xinerama support on XFree86)
have_xfree_xinerama=false
if $PKG_CONFIG --exists xinerama ; then
have_xfree_xinerama=true
X_PACKAGES="$X_PACKAGES xinerama"
else
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
[GTK_ADD_LIB(x_extra_libs,Xinerama)
have_xfree_xinerama=true], :,
[#include <X11/Xlib.h>])])
fi
if $have_xfree_xinerama ; then
AC_DEFINE(HAVE_XFREE_XINERAMA)
AC_DEFINE(HAVE_XINERAMA)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
;;
esac
# set up things for XInput
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_XFREE)
if $PKG_CONFIG --exists xi ; then
X_PACKAGES="$X_PACKAGES xi"
else
GTK_ADD_LIB(x_extra_libs, Xi)
fi
if test $pango_omitted_x_deps = yes ; then
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
else
AC_DEFINE(XINPUT_NONE)
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
fi
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
# Check for the RANDR extension
have_randr=false
if $PKG_CONFIG --exists xrandr ; then
have_randr=true
X_PACKAGES="$X_PACKAGES xrandr"
else
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
# RANDR requires RENDER
[have_randr=true
GTK_ADD_LIB(x_extra_libs, Xrender)
GTK_ADD_LIB(x_extra_libs, Xrandr)],
:, [#include <X11/Xlib.h>])])
fi
if $have_randr ; then
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
fi
# Checks for Xcursor library
if $PKG_CONFIG --exists xcursor ; then
AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
X_PACKAGES="$X_PACKAGES xcursor"
fi
# Checks for XFixes extension
if $PKG_CONFIG --exists xfixes ; then
AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
X_PACKAGES="$X_PACKAGES xfixes"
fi
if $have_base_x_pc ; then
GDK_EXTRA_LIBS="$x_extra_libs"
else
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
fi
CPPFLAGS="$gtk_save_cppflags"
LIBS="$gtk_save_libs"
AM_CONDITIONAL(USE_X11, true)
else
AM_CONDITIONAL(XINPUT_XFREE, false)
@@ -1369,19 +1336,13 @@ if test "x$gdktarget" = "xwin32"; then
AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
fi
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
AM_CONDITIONAL(USE_WIN32, true)
else
AM_CONDITIONAL(USE_WIN32, false)
fi
if test "x$gdktarget" = "xquartz"; then
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
AM_CONDITIONAL(USE_QUARTZ, true)
else
AM_CONDITIONAL(USE_QUARTZ, false)
fi
GDK_PIXBUF_XLIB_PACKAGES=
GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
@@ -1392,6 +1353,20 @@ AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xlinux-fb"; then
if $have_freetype ; then
:
else
AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
fi
ft2_libs="`$PKG_CONFIG --libs pangoft2`"
case "$ft2_libs" in
*-lfreetype*) pango_omitted_ft2_deps=no ;;
*) pango_omitted_ft2_deps=yes ;;
esac
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
if test x$enable_shadowfb = xyes ; then
AC_DEFINE(ENABLE_SHADOW_FB)
fi
@@ -1403,41 +1378,38 @@ if test "x$gdktarget" = "xlinux-fb"; then
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
if test $pango_omitted_ft2_deps = yes ; then
GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
fi
AM_CONDITIONAL(USE_LINUX_FB, true)
else
AM_CONDITIONAL(USE_LINUX_FB, false)
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
if test "x$gdktarget" = "xdirectfb"; then
DIRECTFB_REQUIRED_VERSION=0.9.24
AC_MSG_CHECKING(for DirectFB)
#
# Pick correct Pango packages to use
#
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
AC_MSG_RESULT(found)
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
else
AC_MSG_ERROR([
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
*** version of DirectFB is always available from http://www.directfb.org/.
])
fi
AM_CONDITIONAL(USE_DIRECTFB, true)
if test "x$gdktarget" = "xx11"; then
PANGO_PACKAGES=pangoxft
# We no longer use pangox, but if we find it, we link to it
# for binary compatibility.
if $PKG_CONFIG --exists pangox ; then
PANGO_PACKAGES="$PANGO_PACKAGES pangox"
fi
elif test "x$gdktarget" = "xwin32"; then
PANGO_PACKAGES=pangowin32
elif test "x$gdktarget" = "xlinux-fb"; then
PANGO_PACKAGES=pangoft2
else
AM_CONDITIONAL(USE_DIRECTFB, false)
PANGO_PACKAGES=pango
fi
# Check for Pango flags
if test "x$gdktarget" = "xwin32"; then
PANGO_PACKAGES="pangowin32 pangocairo"
else
PANGO_PACKAGES="pango pangocairo"
fi
AC_MSG_CHECKING(Pango flags)
if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
@@ -1446,8 +1418,10 @@ if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
else
AC_MSG_ERROR([
*** Pango not found. Pango built with Cairo support is required
*** to build GTK+. See http://www.pango.org for Pango information.
*** Pango not found. Pango is required to build GTK+.
*** See http://www.pango.org for Pango information.
*** For the framebuffer target, you will need to build
*** Pango with freetype support.
])
fi
@@ -1468,9 +1442,6 @@ CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES="$PANGO_PACKAGES"
if test "x$gdktarget" = "xx11"; then
GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
fi
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
@@ -1479,7 +1450,6 @@ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PAC
# into the pkg-config files
#
if test $enable_explicit_deps != yes ; then
GDK_PACKAGES="$PANGO_PACKAGES"
GDK_EXTRA_LIBS=
fi
@@ -1519,16 +1489,12 @@ else
LIBS="$gtk_save_LIBS"
fi
GTK_PACKAGES="atk cairo"
GTK_PACKAGES=atk
GTK_EXTRA_LIBS=
GTK_EXTRA_CFLAGS=
GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
if test x"$os_win32" = xyes; then
GTK_EXTRA_CFLAGS="$msnative_struct"
fi
AC_SUBST(GTK_PACKAGES)
AC_SUBST(GTK_EXTRA_LIBS)
AC_SUBST(GTK_EXTRA_CFLAGS)
@@ -1539,47 +1505,6 @@ AC_SUBST(GTK_DEP_CFLAGS)
AC_SUBST(GTK_DEBUG_FLAGS)
AC_SUBST(GTK_XIM_FLAGS)
################################################################
# Printing system checks
################################################################
AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
if test "x$CUPS_CONFIG" != "xno"; then
CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
CUPS_LIBS=`cups-config --libs`
CUPS_API_VERSION=`cups-config --api-version`
CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
if test $CUPS_API_MAJOR -gt 1 -o \
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
AC_DEFINE(HAVE_CUPS_API_1_2)
fi
AC_SUBST(CUPS_API_MAJOR)
AC_SUBST(CUPS_API_MINOR)
AC_SUBST(CUPS_CFLAGS)
AC_SUBST(CUPS_LIBS)
fi
AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
*** Can't find cairo-pdf.h. You must build Cairo with the pdf
*** backend enabled.]))
if test "$os_win32" != "yes"; then
AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
*** Can't find cairo-ps.h. You must build Cairo with the
*** postscript backend enabled.]))
fi
CPPFLAGS="$gtk_save_cppflags"
################################################################
# Strip -export-dynamic from the link lines of various libraries
################################################################
@@ -1606,7 +1531,7 @@ fi
# Checks for gtk-doc and docbook-tools
##################################################
GTK_DOC_CHECK([1.4])
GTK_DOC_CHECK([1.0])
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
@@ -1688,12 +1613,6 @@ elif test "x$gdktarget" = "xlinux-fb" ; then
gdk_windowing='
#define GDK_WINDOWING_FB
#define GDK_NATIVE_WINDOW_POINTER'
elif test "x$gdktarget" = "xquartz" ; then
gdk_windowing='
#define GDK_WINDOWING_QUARTZ'
elif test "x$gdktarget" = "xdirectfb" ; then
gdk_windowing='
#define GDK_WINDOWING_DIRECTFB'
fi
if test x$gdk_wchar_h = xyes; then
@@ -1719,13 +1638,15 @@ Makefile
gdk-pixbuf-2.0.pc
gdk-2.0.pc
gtk+-2.0.pc
gtk+-unix-print-2.0.pc
gdk-pixbuf-2.0-uninstalled.pc
gdk-2.0-uninstalled.pc
gtk+-2.0-uninstalled.pc
m4macros/Makefile
po/Makefile.in
po-properties/Makefile.in
build/Makefile
build/win32/Makefile
build/win32/dirent/Makefile
demos/Makefile
demos/gtk-demo/Makefile
demos/gtk-demo/geninclude.pl
@@ -1751,12 +1672,11 @@ gdk/win32/Makefile
gdk/win32/rc/Makefile
gdk/win32/rc/gdk.rc
gdk/linux-fb/Makefile
gdk/quartz/Makefile
gdk/directfb/Makefile
gtk/Makefile
gtk/makefile.msc
gtk/gtkversion.h
gtk/gtk-win32.rc
gtk/stock-icons/Makefile
gtk/theme-bits/Makefile
gtk/xdgmime/Makefile
modules/Makefile
@@ -1766,11 +1686,6 @@ modules/engines/pixbuf/Makefile
modules/engines/ms-windows/Makefile
modules/engines/ms-windows/Theme/Makefile
modules/engines/ms-windows/Theme/gtk-2.0/Makefile
modules/printbackends/Makefile
modules/printbackends/cups/Makefile
modules/printbackends/lpr/Makefile
modules/printbackends/file/Makefile
perf/Makefile
contrib/Makefile
contrib/gdk-pixbuf-xlib/Makefile
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
+2 -75
View File
@@ -1,79 +1,6 @@
2006-08-17 Matthias Clasen <mclasen@redhat.com>
2005-02-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===
2006-07-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.1 ===
2006-07-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.0 ===
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.4 ===
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.3 ===
2006-06-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.2 ===
2006-05-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.1 ====
2006-05-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.0 ===
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-drawable.c:
* gdk-pixbuf-xlibrgb.c: const correctness fixes
found by Arjan van de Ven and gcc.
2005-10-05 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-2.0.pc.in (Requires): Require
gmodule-no-export-2.0 instead of gmodule-2.0
2005-08-24 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.2 ===
* === Released 2.8.1 ===
2005-08-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.0 ===
2005-08-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.5 ===
2005-07-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.4 ===
2005-07-15 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.3 ===
2005-07-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.2 ===
2005-07-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.1 ===
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.0 ===
* === Released 2.6.2 ===
2005-01-08 Matthias Clasen <mclasen@redhat.com>
+1 -5
View File
@@ -1,19 +1,15 @@
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
INCLUDES = \
-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)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
-export-dynamic \
$(no_undefined) \
-version-info $(LT_VERSION_INFO)
libgdk_pixbuf_xlib_2_0_la_LIBADD = \
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: GdkPixbuf Xlib
Description: GdkPixbuf rendering for Xlib
Version: @VERSION@
Requires: gobject-2.0,gmodule-no-export-2.0,gdk-pixbuf-2.0
Requires: gobject-2.0,gmodule-2.0,gdk-pixbuf-2.0
Libs: -L${libdir} -lgdk_pixbuf_xlib-@GTK_API_VERSION@
Cflags: -I${includedir}
@@ -41,7 +41,7 @@
static const guint32 mask_table[] = {
static guint32 mask_table[] = {
0x00000000, 0x00000001, 0x00000003, 0x00000007,
0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f,
0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff,
@@ -1058,7 +1058,7 @@ convert_real_slow (XImage *image, guchar *pixels, int rowstride, xlib_colormap *
typedef void (* cfunc) (XImage *image, guchar *pixels, int rowstride, xlib_colormap *cmap);
static const cfunc convert_map[] = {
static cfunc convert_map[] = {
rgb1,rgb1,rgb1a,rgb1a,
rgb8,rgb8,rgb8a,rgb8a,
rgb555lsb,rgb555msb,rgb555alsb,rgb555amsb,
+1 -1
View File
@@ -516,7 +516,7 @@ static guint32
xlib_rgb_score_visual (XVisualInfo *visual)
{
guint32 quality, speed, pseudo, sys;
static const char * const visual_names[] =
static const char* visual_names[] =
{
"static gray",
"grayscale",
+1
View File
@@ -5,6 +5,7 @@ SUBDIRS = gtk-demo
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
+1 -5
View File
@@ -6,12 +6,10 @@ democodedir=$(datadir)/gtk-2.0/demo
## demo app, which means alphabetized by demo title, not filename
demos = \
appwindow.c \
assistant.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
dialog.c \
drawingarea.c \
editable_cells.c \
@@ -19,14 +17,11 @@ demos = \
expander.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
list_store.c \
menus.c \
panes.c \
pickers.c \
pixbufs.c \
printing.c \
rotated_text.c \
sizegroup.c \
stock_browser.c \
@@ -38,6 +33,7 @@ INCLUDES = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
+13 -61
View File
@@ -1,10 +1,9 @@
/* Application main window
*
* Demonstrates a typical application window with menubar, toolbar, statusbar.
* Demonstrates a typical application window, with menubar, toolbar, statusbar.
*/
#include <gtk/gtk.h>
#include "config.h"
#include "demo-common.h"
static GtkWidget *window = NULL;
@@ -49,8 +48,7 @@ activate_radio_action (GtkAction *action, GtkRadioAction *current)
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated radio action: \"%s\" of type \"%s\".\n"
"Current value: %d",
"You activated radio action: \"%s\" of type \"%s\".\nCurrent value: %d",
name, typename, value);
/* Close dialog on user response */
@@ -133,8 +131,8 @@ about_cb (GtkAction *action,
gtk_about_dialog_set_url_hook (activate_url, NULL, NULL);
gtk_show_about_dialog (GTK_WINDOW (window),
"name", "GTK+ Code Demos",
"version", PACKAGE_VERSION,
"copyright", "(C) 1997-2005 The GTK+ Team",
"version", "2.4.3",
"copyright", "(C) 1997-2004 The GTK+ Team",
"license", license,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
@@ -146,32 +144,9 @@ about_cb (GtkAction *action,
g_object_unref (transparent);
}
typedef struct
{
GtkAction action;
} ToolMenuAction;
typedef struct
{
GtkActionClass parent_class;
} ToolMenuActionClass;
G_DEFINE_TYPE(ToolMenuAction, tool_menu_action, GTK_TYPE_ACTION);
static void
tool_menu_action_class_init (ToolMenuActionClass *class)
{
GTK_ACTION_CLASS (class)->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
}
static void
tool_menu_action_init (ToolMenuAction *action)
{
}
static GtkActionEntry entries[] = {
{ "FileMenu", NULL, "_File" }, /* name, stock id, label */
{ "OpenMenu", NULL, "_Open" }, /* name, stock id, label */
{ "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
{ "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
{ "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
@@ -180,9 +155,9 @@ static GtkActionEntry entries[] = {
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "File1", NULL, /* name, stock id */
"File1", NULL, /* label, accelerator */
"Open first file", /* tooltip */
{ "Open", GTK_STOCK_OPEN, /* name, stock id */
"_Open","<control>O", /* label, accelerator */
"Open a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
@@ -283,12 +258,8 @@ static const gchar *ui_info =
" <menuitem action='About'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'>"
" <menu action='OpenMenu'>"
" <menuitem action='File1'/>"
" </menu>"
" </toolitem>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'/>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
" <toolitem action='Logo'/>"
@@ -373,9 +344,7 @@ update_statusbar (GtkTextBuffer *buffer,
gint count;
GtkTextIter iter;
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
* underflow is allowed
*/
gtk_statusbar_pop (statusbar, 0); /* clear any previous message, underflow is allowed */
count = gtk_text_buffer_get_char_count (buffer);
@@ -408,15 +377,8 @@ update_resize_grip (GtkWidget *widget,
GdkEventWindowState *event,
GtkStatusbar *statusbar)
{
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN))
{
gboolean maximized;
maximized = event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN);
gtk_statusbar_set_has_resize_grip (statusbar, !maximized);
}
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN))
gtk_statusbar_set_has_resize_grip (statusbar, !(event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)));
}
@@ -432,7 +394,6 @@ do_appwindow (GtkWidget *do_widget)
GtkWidget *bar;
GtkTextBuffer *buffer;
GtkActionGroup *action_group;
GtkAction *open_action;
GtkUIManager *merge;
GError *error = NULL;
@@ -445,7 +406,6 @@ do_appwindow (GtkWidget *do_widget)
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
gtk_window_set_icon_name (GTK_WINDOW (window), "gtk-open");
/* NULL window variable when window is closed */
g_signal_connect (window, "destroy",
@@ -460,13 +420,6 @@ do_appwindow (GtkWidget *do_widget)
*/
action_group = gtk_action_group_new ("AppWindowActions");
open_action = g_object_new (tool_menu_action_get_type (),
"name", "Open",
"label", "_Open",
"tooltip", "Open a file",
"stock-id", GTK_STOCK_OPEN,
NULL);
gtk_action_group_add_action (action_group, open_action);
gtk_action_group_add_actions (action_group,
entries, n_entries,
window);
@@ -485,8 +438,7 @@ do_appwindow (GtkWidget *do_widget)
NULL);
merge = gtk_ui_manager_new ();
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
g_object_unref);
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge, g_object_unref);
gtk_ui_manager_insert_action_group (merge, action_group, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (merge));
-165
View File
@@ -1,165 +0,0 @@
/* Assistant
*
* Demonstrates a sample multistep assistant. Assistants are used to divide
* an operation into several simpler sequential steps, and to guide the user
* through these steps.
*/
#include <gtk/gtk.h>
#include "demo-common.h"
static GtkWidget *assistant = NULL;
static void
on_assistant_apply (GtkWidget *widget, gpointer data)
{
/* Apply here changes, this is a fictional
example, so we just do nothing here */
}
static void
on_assistant_close_cancel (GtkWidget *widget, gpointer data)
{
GtkWidget **assistant = (GtkWidget **) data;
gtk_widget_destroy (*assistant);
*assistant = NULL;
}
static void
on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer data)
{
gint current_page, n_pages;
gchar *title;
current_page = gtk_assistant_get_current_page (GTK_ASSISTANT (widget));
n_pages = gtk_assistant_get_n_pages (GTK_ASSISTANT (widget));
title = g_strdup_printf ("Sample assistant (%d of %d)", current_page + 1, n_pages);
gtk_window_set_title (GTK_WINDOW (widget), title);
g_free (title);
}
static void
on_entry_changed (GtkWidget *widget, gpointer data)
{
GtkAssistant *assistant = GTK_ASSISTANT (data);
GtkWidget *current_page;
gint page_number;
const gchar *text;
page_number = gtk_assistant_get_current_page (assistant);
current_page = gtk_assistant_get_nth_page (assistant, page_number);
text = gtk_entry_get_text (GTK_ENTRY (widget));
if (text && *text)
gtk_assistant_set_page_complete (assistant, current_page, TRUE);
else
gtk_assistant_set_page_complete (assistant, current_page, FALSE);
}
static void
create_page1 (GtkWidget *assistant)
{
GtkWidget *box, *label, *entry;
GdkPixbuf *pixbuf;
box = gtk_hbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
label = gtk_label_new ("You must fill out this entry to continue:");
gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 0);
g_signal_connect (G_OBJECT (entry), "changed",
G_CALLBACK (on_entry_changed), assistant);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1");
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO);
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page2 (GtkWidget *assistant)
{
GtkWidget *box, *checkbutton;
GdkPixbuf *pixbuf;
box = gtk_vbox_new (12, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
"even if you do not check this");
gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2");
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page3 (GtkWidget *assistant)
{
GtkWidget *label;
GdkPixbuf *pixbuf;
label = gtk_label_new ("This is a confirmation page, press 'Apply' to apply changes");
gtk_widget_show (label);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), label);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation");
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), label, pixbuf);
g_object_unref (pixbuf);
}
GtkWidget*
do_assistant (GtkWidget *do_widget)
{
if (!assistant)
{
assistant = gtk_assistant_new ();
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
gtk_window_set_screen (GTK_WINDOW (assistant),
gtk_widget_get_screen (do_widget));
create_page1 (assistant);
create_page2 (assistant);
create_page3 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "close",
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "apply",
G_CALLBACK (on_assistant_apply), NULL);
g_signal_connect (G_OBJECT (assistant), "prepare",
G_CALLBACK (on_assistant_prepare), NULL);
}
if (!GTK_WIDGET_VISIBLE (assistant))
gtk_widget_show (assistant);
else
{
gtk_widget_destroy (assistant);
assistant = NULL;
}
return assistant;
}
+11 -210
View File
@@ -1,12 +1,7 @@
/* Clipboard
*
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
*
* It also shows how to transfer images via the clipboard or via
* drag-and-drop, and how to make clipboard contents persist after
* the application exits. Clipboard persistence requires a clipboard
* manager to run.
* copy and paste text to and from the clipboard.
*/
#include <gtk/gtk.h>
@@ -16,7 +11,7 @@ static GtkWidget *window = NULL;
void
copy_button_clicked (GtkWidget *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
@@ -25,7 +20,7 @@ copy_button_clicked (GtkWidget *button,
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
GDK_SELECTION_CLIPBOARD);
/* Set clipboard text */
gtk_clipboard_set_text (clipboard, gtk_entry_get_text (GTK_ENTRY (entry)), -1);
@@ -33,21 +28,20 @@ copy_button_clicked (GtkWidget *button,
void
paste_received (GtkClipboard *clipboard,
const gchar *text,
gpointer user_data)
const gchar *text,
gpointer user_data)
{
GtkWidget *entry;
entry = GTK_WIDGET (user_data);
/* Set the entry text */
if(text)
gtk_entry_set_text (GTK_ENTRY (entry), text);
gtk_entry_set_text (GTK_ENTRY (entry), text);
}
void
paste_button_clicked (GtkWidget *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
@@ -56,139 +50,13 @@ paste_button_clicked (GtkWidget *button,
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
GDK_SELECTION_CLIPBOARD);
/* Request the contents of the clipboard, contents_received will be
called when we do get the contents.
*/
gtk_clipboard_request_text (clipboard,
paste_received, entry);
}
static GdkPixbuf *
get_image_pixbuf (GtkImage *image)
{
gchar *stock_id;
GtkIconSize size;
switch (gtk_image_get_storage_type (image))
{
case GTK_IMAGE_PIXBUF:
return g_object_ref (gtk_image_get_pixbuf (image));
case GTK_IMAGE_STOCK:
gtk_image_get_stock (image, &stock_id, &size);
return gtk_widget_render_icon (GTK_WIDGET (image),
stock_id, size, NULL);
default:
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
return NULL;
}
}
static void
drag_begin (GtkWidget *widget,
GdkDragContext *context,
gpointer data)
{
GdkPixbuf *pixbuf;
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
gtk_drag_set_icon_pixbuf (context, pixbuf, -2, -2);
g_object_unref (pixbuf);
}
void
drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer data)
{
GdkPixbuf *pixbuf;
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
gtk_selection_data_set_pixbuf (selection_data, pixbuf);
g_object_unref (pixbuf);
}
static void
drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
guint32 time,
gpointer data)
{
GdkPixbuf *pixbuf;
if (selection_data->length > 0)
{
pixbuf = gtk_selection_data_get_pixbuf (selection_data);
gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf);
g_object_unref (pixbuf);
}
}
static void
copy_image (GtkMenuItem *item,
gpointer data)
{
GtkClipboard *clipboard;
GdkPixbuf *pixbuf;
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
gtk_clipboard_set_image (clipboard, pixbuf);
g_object_unref (pixbuf);
}
static void
paste_image (GtkMenuItem *item,
gpointer data)
{
GtkClipboard *clipboard;
GdkPixbuf *pixbuf;
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
pixbuf = gtk_clipboard_wait_for_image (clipboard);
if (pixbuf)
{
gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf);
g_object_unref (pixbuf);
}
}
static gboolean
button_press (GtkWidget *widget,
GdkEventButton *button,
gpointer data)
{
GtkWidget *menu;
GtkWidget *item;
if (button->button != 3)
return FALSE;
menu = gtk_menu_new ();
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
g_signal_connect (item, "activate", G_CALLBACK (copy_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, NULL);
g_signal_connect (item, "activate", G_CALLBACK (paste_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 3, button->time);
return TRUE;
paste_received, entry);
}
GtkWidget *
@@ -199,13 +67,8 @@ do_clipboard (GtkWidget *do_widget)
GtkWidget *vbox, *hbox;
GtkWidget *label;
GtkWidget *entry, *button;
GtkWidget *ebox, *image;
GtkClipboard *clipboard;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
@@ -227,7 +90,7 @@ do_clipboard (GtkWidget *do_widget)
button = gtk_button_new_from_stock (GTK_STOCK_COPY);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (copy_button_clicked), entry);
G_CALLBACK (copy_button_clicked), entry);
label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
@@ -244,70 +107,8 @@ do_clipboard (GtkWidget *do_widget)
button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
G_CALLBACK (paste_button_clicked), entry);
label = gtk_label_new ("Images can be transferred via the clipboard, too");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first image */
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* Create the second image */
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* tell the clipboard manager to make the data persistent */
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
gtk_clipboard_set_can_store (clipboard, NULL, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
+1 -3
View File
@@ -15,9 +15,7 @@ static GtkWidget *frame;
/* Expose callback for the drawing area
*/
static gboolean
expose_event_callback (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
if (widget->window)
{
-371
View File
@@ -1,371 +0,0 @@
/* Combo boxes
*
* The ComboBox widget allows to select one option out of a list.
* The ComboBoxEntry additionally allows the user to enter a value
* that is not in the list of options.
*
* How the options are displayed is controlled by cell renderers.
*/
#include <gtk/gtk.h>
enum
{
PIXBUF_COL,
TEXT_COL
};
static gchar *
strip_underscore (const gchar *text)
{
gchar *p, *q;
gchar *result;
result = g_strdup (text);
p = q = result;
while (*p)
{
if (*p != '_')
{
*q = *p;
q++;
}
p++;
}
*q = '\0';
return result;
}
static GtkTreeModel *
create_stock_icon_store (void)
{
gchar *stock_id[6] = {
GTK_STOCK_DIALOG_WARNING,
GTK_STOCK_STOP,
GTK_STOCK_NEW,
GTK_STOCK_CLEAR,
NULL,
GTK_STOCK_OPEN
};
GtkStockItem item;
GdkPixbuf *pixbuf;
GtkWidget *cellview;
GtkTreeIter iter;
GtkListStore *store;
gchar *label;
gint i;
cellview = gtk_cell_view_new ();
store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING);
for (i = 0; i < G_N_ELEMENTS (stock_id); i++)
{
if (stock_id[i])
{
pixbuf = gtk_widget_render_icon (cellview, stock_id[i],
GTK_ICON_SIZE_BUTTON, NULL);
gtk_stock_lookup (stock_id[i], &item);
label = strip_underscore (item.label);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, pixbuf,
TEXT_COL, label,
-1);
g_free (label);
}
else
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, NULL,
TEXT_COL, "separator",
-1);
}
}
gtk_widget_destroy (cellview);
return GTK_TREE_MODEL (store);
}
/* A GtkCellLayoutDataFunc that demonstrates how one can control
* sensitivity of rows. This particular function does nothing
* useful and just makes the second row insensitive.
*/
static void
set_sensitive (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
GtkTreePath *path;
gint *indices;
gboolean sensitive;
path = gtk_tree_model_get_path (tree_model, iter);
indices = gtk_tree_path_get_indices (path);
sensitive = indices[0] != 1;
gtk_tree_path_free (path);
g_object_set (cell, "sensitive", sensitive, NULL);
}
/* A GtkTreeViewRowSeparatorFunc that demonstrates how rows can be
* rendered as separators. This particular function does nothing
* useful and just turns the fourth row into a separator.
*/
static gboolean
is_separator (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
GtkTreePath *path;
gboolean result;
path = gtk_tree_model_get_path (model, iter);
result = gtk_tree_path_get_indices (path)[0] == 4;
gtk_tree_path_free (path);
return result;
}
static GtkTreeModel *
create_capital_store (void)
{
struct {
gchar *group;
gchar *capital;
} capitals[] = {
{ "A - B", NULL },
{ NULL, "Albany" },
{ NULL, "Annapolis" },
{ NULL, "Atlanta" },
{ NULL, "Augusta" },
{ NULL, "Austin" },
{ NULL, "Baton Rouge" },
{ NULL, "Bismarck" },
{ NULL, "Boise" },
{ NULL, "Boston" },
{ "C - D", NULL },
{ NULL, "Carson City" },
{ NULL, "Charleston" },
{ NULL, "Cheyenne" },
{ NULL, "Columbia" },
{ NULL, "Columbus" },
{ NULL, "Concord" },
{ NULL, "Denver" },
{ NULL, "Des Moines" },
{ NULL, "Dover" },
{ "E - J", NULL },
{ NULL, "Frankfort" },
{ NULL, "Harrisburg" },
{ NULL, "Hartford" },
{ NULL, "Helena" },
{ NULL, "Honolulu" },
{ NULL, "Indianapolis" },
{ NULL, "Jackson" },
{ NULL, "Jefferson City" },
{ NULL, "Juneau" },
{ "K - O" },
{ NULL, "Lansing" },
{ NULL, "Lincoln" },
{ NULL, "Little Rock" },
{ NULL, "Madison" },
{ NULL, "Montgomery" },
{ NULL, "Montpelier" },
{ NULL, "Nashville" },
{ NULL, "Oklahoma City" },
{ NULL, "Olympia" },
{ NULL, "P - S" },
{ NULL, "Phoenix" },
{ NULL, "Pierre" },
{ NULL, "Providence" },
{ NULL, "Raleigh" },
{ NULL, "Richmond" },
{ NULL, "Sacramento" },
{ NULL, "Salem" },
{ NULL, "Salt Lake City" },
{ NULL, "Santa Fe" },
{ NULL, "Springfield" },
{ NULL, "St. Paul" },
{ "T - Z", NULL },
{ NULL, "Tallahassee" },
{ NULL, "Topeka" },
{ NULL, "Trenton" },
{ NULL, NULL }
};
GtkTreeIter iter, iter2;
GtkTreeStore *store;
gint i;
store = gtk_tree_store_new (1, G_TYPE_STRING);
for (i = 0; capitals[i].group || capitals[i].capital; i++)
{
if (capitals[i].group)
{
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter, 0, capitals[i].group, -1);
}
else if (capitals[i].capital)
{
gtk_tree_store_append (store, &iter2, &iter);
gtk_tree_store_set (store, &iter2, 0, capitals[i].capital, -1);
}
}
return GTK_TREE_MODEL (store);
}
static void
is_capital_sensitive (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
gboolean sensitive;
sensitive = !gtk_tree_model_iter_has_child (tree_model, iter);
g_object_set (cell, "sensitive", sensitive, NULL);
}
static void
fill_combo_entry (GtkWidget *entry)
{
gtk_combo_box_append_text (GTK_COMBO_BOX (entry), "One");
gtk_combo_box_append_text (GTK_COMBO_BOX (entry), "Two");
gtk_combo_box_append_text (GTK_COMBO_BOX (entry), "2\302\275");
gtk_combo_box_append_text (GTK_COMBO_BOX (entry), "Three");
}
GtkWidget *
do_combobox (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkWidget *vbox, *frame, *box, *combo;
GtkTreeModel *model;
GtkCellRenderer *renderer;
GtkTreePath *path;
GtkTreeIter iter;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Combo boxes");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_vbox_new (FALSE, 2);
gtk_container_add (GTK_CONTAINER (window), vbox);
/* A combobox demonstrating cell renderers, separators and
* insensitive rows
*/
frame = gtk_frame_new ("Some stock icons");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
box = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
model = create_stock_icon_store ();
combo = gtk_combo_box_new_with_model (model);
g_object_unref (model);
gtk_container_add (GTK_CONTAINER (box), combo);
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"pixbuf", PIXBUF_COL,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
set_sensitive,
NULL, NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"text", TEXT_COL,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
set_sensitive,
NULL, NULL);
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo),
is_separator, NULL, NULL);
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
/* A combobox demonstrating trees.
*/
frame = gtk_frame_new ("Where are we ?");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
box = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
model = create_capital_store ();
combo = gtk_combo_box_new_with_model (model);
g_object_unref (model);
gtk_container_add (GTK_CONTAINER (box), combo);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"text", 0,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
is_capital_sensitive,
NULL, NULL);
path = gtk_tree_path_new_from_indices (0, 8, -1);
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_path_free (path);
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo), &iter);
/* A GtkComboBoxEntry
*/
frame = gtk_frame_new ("Editable");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
box = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
combo = gtk_combo_box_entry_new_text ();
fill_combo_entry (combo);
gtk_container_add (GTK_CONTAINER (box), combo);
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}
+76 -168
View File
@@ -2,12 +2,8 @@
*
* This demo demonstrates the use of editable cells in a GtkTreeView. If
* you're new to the GtkTreeView widgets and associates, look into
* the GtkListStore example first. It also shows how to use the
* GtkCellRenderer::editing-started signal to do custom setup of the
* editable widget.
* the GtkListStore example first.
*
* The cell renderers used in this demo are GtkCellRendererText,
* GtkCellRendererCombo and GtkCellRendererProgress.
*/
#include <gtk/gtk.h>
@@ -18,24 +14,18 @@ static GtkWidget *window = NULL;
typedef struct
{
gint number;
gchar *product;
gint yummy;
gint number;
gchar *product;
gboolean editable;
}
Item;
enum
{
COLUMN_ITEM_NUMBER,
COLUMN_ITEM_PRODUCT,
COLUMN_ITEM_YUMMY,
NUM_ITEM_COLUMNS
};
enum
{
COLUMN_NUMBER_TEXT,
NUM_NUMBER_COLUMNS
COLUMN_NUMBER,
COLUMN_PRODUCT,
COLUMN_EDITABLE,
NUM_COLUMNS
};
static GArray *articles = NULL;
@@ -49,32 +39,32 @@ add_items (void)
foo.number = 3;
foo.product = g_strdup ("bottles of coke");
foo.yummy = 20;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
foo.number = 5;
foo.product = g_strdup ("packages of noodles");
foo.yummy = 50;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
foo.number = 2;
foo.product = g_strdup ("packages of chocolate chip cookies");
foo.yummy = 90;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
foo.number = 1;
foo.product = g_strdup ("can vanilla ice cream");
foo.yummy = 60;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
foo.number = 6;
foo.product = g_strdup ("eggs");
foo.yummy = 10;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
}
static GtkTreeModel *
create_items_model (void)
create_model (void)
{
gint i = 0;
GtkListStore *model;
@@ -86,8 +76,8 @@ create_items_model (void)
add_items ();
/* create list store */
model = gtk_list_store_new (NUM_ITEM_COLUMNS, G_TYPE_INT, G_TYPE_STRING,
G_TYPE_INT, G_TYPE_BOOLEAN);
model = gtk_list_store_new (NUM_COLUMNS, G_TYPE_INT, G_TYPE_STRING,
G_TYPE_BOOLEAN);
/* add items */
for (i = 0; i < articles->len; i++)
@@ -95,49 +85,18 @@ create_items_model (void)
gtk_list_store_append (model, &iter);
gtk_list_store_set (model, &iter,
COLUMN_ITEM_NUMBER,
g_array_index (articles, Item, i).number,
COLUMN_ITEM_PRODUCT,
g_array_index (articles, Item, i).product,
COLUMN_ITEM_YUMMY,
g_array_index (articles, Item, i).yummy,
-1);
COLUMN_NUMBER,
g_array_index (articles, Item, i).number,
COLUMN_PRODUCT,
g_array_index (articles, Item, i).product,
COLUMN_EDITABLE,
g_array_index (articles, Item, i).editable,
-1);
}
return GTK_TREE_MODEL (model);
}
static GtkTreeModel *
create_numbers_model (void)
{
#define N_NUMBERS 10
gint i = 0;
GtkListStore *model;
GtkTreeIter iter;
/* create list store */
model = gtk_list_store_new (NUM_NUMBER_COLUMNS, G_TYPE_STRING, G_TYPE_INT);
/* add numbers */
for (i = 0; i < N_NUMBERS; i++)
{
char str[2];
str[0] = '0' + i;
str[1] = '\0';
gtk_list_store_append (model, &iter);
gtk_list_store_set (model, &iter,
COLUMN_NUMBER_TEXT, str,
-1);
}
return GTK_TREE_MODEL (model);
#undef N_NUMBERS
}
static void
add_item (GtkWidget *button, gpointer data)
{
@@ -149,15 +108,15 @@ add_item (GtkWidget *button, gpointer data)
foo.number = 0;
foo.product = g_strdup ("Description here");
foo.yummy = 50;
foo.editable = TRUE;
g_array_append_vals (articles, &foo, 1);
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
COLUMN_ITEM_NUMBER, foo.number,
COLUMN_ITEM_PRODUCT, foo.product,
COLUMN_ITEM_YUMMY, foo.yummy,
-1);
COLUMN_NUMBER, foo.number,
COLUMN_PRODUCT, foo.product,
COLUMN_EDITABLE, foo.editable,
-1);
}
static void
@@ -183,37 +142,11 @@ remove_item (GtkWidget *widget, gpointer data)
}
}
static gboolean
separator_row (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
GtkTreePath *path;
gint idx;
path = gtk_tree_model_get_path (model, iter);
idx = gtk_tree_path_get_indices (path)[0];
gtk_tree_path_free (path);
return idx == 5;
}
static void
editing_started (GtkCellRenderer *cell,
GtkCellEditable *editable,
const gchar *path,
gpointer data)
{
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (editable),
separator_row, NULL, NULL);
}
static void
cell_edited (GtkCellRendererText *cell,
const gchar *path_string,
const gchar *new_text,
gpointer data)
const gchar *path_string,
const gchar *new_text,
gpointer data)
{
GtkTreeModel *model = (GtkTreeModel *)data;
GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
@@ -225,31 +158,31 @@ cell_edited (GtkCellRendererText *cell,
switch (column)
{
case COLUMN_ITEM_NUMBER:
case COLUMN_NUMBER:
{
gint i;
gint i;
i = gtk_tree_path_get_indices (path)[0];
g_array_index (articles, Item, i).number = atoi (new_text);
i = gtk_tree_path_get_indices (path)[0];
g_array_index (articles, Item, i).number = atoi (new_text);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column,
g_array_index (articles, Item, i).number, -1);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column,
g_array_index (articles, Item, i).number, -1);
}
break;
case COLUMN_ITEM_PRODUCT:
case COLUMN_PRODUCT:
{
gint i;
gchar *old_text;
gint i;
gchar *old_text;
gtk_tree_model_get (model, &iter, column, &old_text, -1);
g_free (old_text);
g_free (old_text);
i = gtk_tree_path_get_indices (path)[0];
g_free (g_array_index (articles, Item, i).product);
g_array_index (articles, Item, i).product = g_strdup (new_text);
i = gtk_tree_path_get_indices (path)[0];
g_free (g_array_index (articles, Item, i).product);
g_array_index (articles, Item, i).product = g_strdup (new_text);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column,
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column,
g_array_index (articles, Item, i).product, -1);
}
break;
@@ -259,55 +192,34 @@ cell_edited (GtkCellRendererText *cell,
}
static void
add_columns (GtkTreeView *treeview,
GtkTreeModel *items_model,
GtkTreeModel *numbers_model)
add_columns (GtkTreeView *treeview)
{
GtkCellRenderer *renderer;
GtkTreeModel *model = gtk_tree_view_get_model (treeview);
/* number column */
renderer = gtk_cell_renderer_combo_new ();
g_object_set (renderer,
"model", numbers_model,
"text-column", COLUMN_NUMBER_TEXT,
"has-entry", FALSE,
"editable", TRUE,
NULL);
renderer = gtk_cell_renderer_text_new ();
g_signal_connect (renderer, "edited",
G_CALLBACK (cell_edited), items_model);
g_signal_connect (renderer, "editing-started",
G_CALLBACK (editing_started), NULL);
g_object_set_data (G_OBJECT (renderer), "column", GINT_TO_POINTER (COLUMN_ITEM_NUMBER));
G_CALLBACK (cell_edited), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_NUMBER);
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Number", renderer,
"text", COLUMN_ITEM_NUMBER,
NULL);
-1, "Number", renderer,
"text", COLUMN_NUMBER,
"editable", COLUMN_EDITABLE,
NULL);
/* product column */
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer,
"editable", TRUE,
NULL);
g_signal_connect (renderer, "edited",
G_CALLBACK (cell_edited), items_model);
g_object_set_data (G_OBJECT (renderer), "column", GINT_TO_POINTER (COLUMN_ITEM_PRODUCT));
G_CALLBACK (cell_edited), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_PRODUCT);
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Product", renderer,
"text", COLUMN_ITEM_PRODUCT,
NULL);
/* yummy column */
renderer = gtk_cell_renderer_progress_new ();
g_object_set_data (G_OBJECT (renderer), "column", GINT_TO_POINTER (COLUMN_ITEM_YUMMY));
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Yummy", renderer,
"value", COLUMN_ITEM_YUMMY,
NULL);
-1, "Product", renderer,
"text", COLUMN_PRODUCT,
"editable", COLUMN_EDITABLE,
NULL);
}
GtkWidget *
@@ -320,47 +232,43 @@ do_editable_cells (GtkWidget *do_widget)
GtkWidget *sw;
GtkWidget *treeview;
GtkWidget *button;
GtkTreeModel *items_model;
GtkTreeModel *numbers_model;
GtkTreeModel *model;
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Shopping list");
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Shopping list (you can edit the cells!)"),
FALSE, FALSE, 0);
gtk_label_new ("Shopping list (you can edit the cells!)"),
FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* create models */
items_model = create_items_model ();
numbers_model = create_numbers_model ();
/* create model */
model = create_model ();
/* create tree view */
treeview = gtk_tree_view_new_with_model (items_model);
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (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);
GTK_SELECTION_SINGLE);
add_columns (GTK_TREE_VIEW (treeview), items_model, numbers_model);
g_object_unref (numbers_model);
g_object_unref (items_model);
add_columns (GTK_TREE_VIEW (treeview));
gtk_container_add (GTK_CONTAINER (sw), treeview);
@@ -370,12 +278,12 @@ do_editable_cells (GtkWidget *do_widget)
button = gtk_button_new_with_label ("Add item");
g_signal_connect (button, "clicked",
G_CALLBACK (add_item), items_model);
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_CALLBACK (remove_item), treeview);
G_CALLBACK (remove_item), treeview);
gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0);
gtk_window_set_default_size (GTK_WINDOW (window), 320, 200);
+2 -2
View File
@@ -35,7 +35,7 @@ for $file (@ARGV) {
# generate a list of 'parent names'
foreach $href (@demos) {
if ($href->{"title"} =~ m|^([-\w\s]+)/[-\w\s]+$|) {
if ($href->{"title"} =~ m|^([\w\s]+)/[\w\s]+$|) {
my $parent_name = $1;
my $do_next = 0;
@@ -77,7 +77,7 @@ if (defined @parents) {
next;
}
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([-\w\s]+)$|) {
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([\w\s]+)$|) {
if ($first) {
$first = 0;
} else {
+6 -6
View File
@@ -1,8 +1,8 @@
/* Icon View/Icon View Basics
/* Icon View
*
* The GtkIconView widget is used to display and manipulate icons.
* It uses a GtkTreeModel for data storage, so the list store
* example might be helpful.
* The GtkIconView widget is used to display and manipulate icons. It
* uses a GtkTreeModel for data storage, so the list store example
* might be helpful.
*/
#include <gtk/gtk.h>
@@ -147,7 +147,7 @@ sort_func (GtkTreeModel *model,
return ret;
}
static GtkListStore *
GtkListStore *
create_store (void)
{
GtkListStore *store;
@@ -331,7 +331,7 @@ do_iconview (GtkWidget *do_widget)
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* We now set which model columns that correspond to the text
/* We now set which model columns that correspont to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
-159
View File
@@ -1,159 +0,0 @@
/* Icon View/Editing and Drag-and-Drop
*
* The GtkIconView widget supports Editing and Drag-and-Drop.
* This example also demonstrates using the generic GtkCellLayout
* interface to set up cell renderers in an icon view.
*/
#include <gtk/gtk.h>
#include <string.h>
#include "demo-common.h"
static GtkWidget *window = NULL;
enum
{
COL_TEXT,
NUM_COLS
};
static void
fill_store (GtkListStore *store)
{
GtkTreeIter iter;
const gchar *text[] = { "Red", "Green", "Blue", "Yellow" };
gint i;
/* First clear the store */
gtk_list_store_clear (store);
for (i = 0; i < 4; i++)
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, COL_TEXT, text[i], -1);
}
}
static GtkListStore *
create_store (void)
{
GtkListStore *store;
store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING);
return store;
}
static void
set_cell_color (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
gchar *text;
GdkColor color;
guint32 pixel = 0;
GdkPixbuf *pixbuf;
gtk_tree_model_get (tree_model, iter, COL_TEXT, &text, -1);
if (gdk_color_parse (text, &color))
pixel =
(color.red >> 8) << 24 |
(color.green >> 8) << 16 |
(color.blue >> 8) << 8;
g_free (text);
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 24, 24);
gdk_pixbuf_fill (pixbuf, pixel);
g_object_set (cell, "pixbuf", pixbuf, NULL);
g_object_unref (pixbuf);
}
static void
edited (GtkCellRendererText *cell,
gchar *path_string,
gchar *text,
gpointer data)
{
GtkTreeModel *model;
GtkTreeIter iter;
GtkTreePath *path;
model = gtk_icon_view_get_model (GTK_ICON_VIEW (data));
path = gtk_tree_path_new_from_string (path_string);
gtk_tree_model_get_iter (model, &iter, path);
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
COL_TEXT, text, -1);
gtk_tree_path_free (path);
}
GtkWidget *
do_iconview_edit (GtkWidget *do_widget)
{
if (!window)
{
GtkWidget *icon_view;
GtkListStore *store;
GtkCellRenderer *renderer;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Editing and Drag-and-Drop");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
store = create_store ();
fill_store (store);
icon_view = gtk_icon_view_new_with_model (GTK_TREE_MODEL (store));
g_object_unref (store);
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_SINGLE);
gtk_icon_view_set_orientation (GTK_ICON_VIEW (icon_view),
GTK_ORIENTATION_HORIZONTAL);
gtk_icon_view_set_columns (GTK_ICON_VIEW (icon_view), 2);
gtk_icon_view_set_reorderable (GTK_ICON_VIEW (icon_view), TRUE);
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view),
renderer, TRUE);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (icon_view),
renderer,
set_cell_color,
NULL, NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view),
renderer, TRUE);
g_object_set (renderer, "editable", TRUE, NULL);
g_signal_connect (renderer, "edited", G_CALLBACK (edited), icon_view);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view),
renderer,
"text", COL_TEXT,
NULL);
gtk_container_add (GTK_CONTAINER (window), icon_view);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}
+20 -35
View File
@@ -19,7 +19,7 @@ enum {
TITLE_COLUMN,
FILENAME_COLUMN,
FUNC_COLUMN,
STYLE_COLUMN,
ITALIC_COLUMN,
NUM_COLUMNS
};
@@ -94,15 +94,15 @@ window_closed_cb (GtkWidget *window, gpointer data)
{
CallbackData *cbdata = data;
GtkTreeIter iter;
PangoStyle style;
gboolean italic;
gtk_tree_model_get_iter (cbdata->model, &iter, cbdata->path);
gtk_tree_model_get (GTK_TREE_MODEL (cbdata->model), &iter,
STYLE_COLUMN, &style,
ITALIC_COLUMN, &italic,
-1);
if (style == PANGO_STYLE_ITALIC)
if (italic)
gtk_tree_store_set (GTK_TREE_STORE (cbdata->model), &iter,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
ITALIC_COLUMN, !italic,
-1);
gtk_tree_path_free (cbdata->path);
@@ -586,7 +586,7 @@ row_activated_cb (GtkTreeView *tree_view,
GtkTreeViewColumn *column)
{
GtkTreeIter iter;
PangoStyle style;
gboolean italic;
GDoDemoFunc func;
GtkWidget *window;
GtkTreeModel *model;
@@ -597,14 +597,14 @@ row_activated_cb (GtkTreeView *tree_view,
gtk_tree_model_get (GTK_TREE_MODEL (model),
&iter,
FUNC_COLUMN, &func,
STYLE_COLUMN, &style,
ITALIC_COLUMN, &italic,
-1);
if (func)
{
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
STYLE_COLUMN, (style == PANGO_STYLE_ITALIC ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC),
ITALIC_COLUMN, !italic,
-1);
window = (func) (gtk_widget_get_toplevel (GTK_WIDGET (tree_view)));
@@ -666,7 +666,7 @@ create_text (GtkTextBuffer **buffer,
if (is_source)
{
font_desc = pango_font_description_from_string ("monospace");
font_desc = pango_font_description_from_string ("Courier 12");
gtk_widget_modify_font (text_view, font_desc);
pango_font_description_free (font_desc);
@@ -696,11 +696,10 @@ create_tree (void)
GtkTreeViewColumn *column;
GtkTreeStore *model;
GtkTreeIter iter;
GtkWidget *box, *label, *scrolled_window;
Demo *d = testgtk_demos;
model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_INT);
model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
tree_view = gtk_tree_view_new ();
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
@@ -723,7 +722,7 @@ create_tree (void)
TITLE_COLUMN, d->title,
FILENAME_COLUMN, d->filename,
FUNC_COLUMN, d->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
ITALIC_COLUMN, FALSE,
-1);
d++;
@@ -742,7 +741,7 @@ create_tree (void)
TITLE_COLUMN, children->title,
FILENAME_COLUMN, children->filename,
FUNC_COLUMN, children->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
ITALIC_COLUMN, FALSE,
-1);
children++;
@@ -751,38 +750,24 @@ create_tree (void)
cell = gtk_cell_renderer_text_new ();
g_object_set (cell,
"style", PANGO_STYLE_ITALIC,
NULL);
column = gtk_tree_view_column_new_with_attributes ("Widget (double click for demo)",
cell,
"text", TITLE_COLUMN,
"style", STYLE_COLUMN,
"style_set", ITALIC_COLUMN,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter);
gtk_tree_selection_select_iter (GTK_TREE_SELECTION (selection), &iter);
g_signal_connect (selection, "changed", G_CALLBACK (selection_cb), model);
g_signal_connect (tree_view, "row_activated", G_CALLBACK (row_activated_cb), model);
gtk_tree_view_collapse_all (GTK_TREE_VIEW (tree_view));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
label = gtk_label_new ("Widget (double click for demo)");
box = gtk_notebook_new ();
gtk_notebook_append_page (GTK_NOTEBOOK (box), scrolled_window, label);
gtk_widget_grab_focus (tree_view);
return box;
gtk_tree_view_expand_all (GTK_TREE_VIEW (tree_view));
return tree_view;
}
static void
@@ -890,7 +875,7 @@ main (int argc, char **argv)
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "comment",
"foreground", "DodgerBlue",
"foreground", "red",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "type",
"foreground", "ForestGreen",
+9 -68
View File
@@ -1,12 +1,12 @@
/* Menus
*
* There are several widgets involved in displaying menus. The
* GtkMenuBar widget is a menu bar, which normally appears horizontally
* at the top of an application, but can also be layed out vertically.
* The GtkMenu widget is the actual menu that pops up. Both GtkMenuBar
* and GtkMenu are subclasses of GtkMenuShell; a GtkMenuShell contains
* menu items (GtkMenuItem). Each menu item contains text and/or images
* and can be selected by the user.
* GtkMenuBar widget is a horizontal menu bar, which normally appears
* at the top of an application. The GtkMenu widget is the actual menu
* that pops up. Both GtkMenuBar and GtkMenu are subclasses of
* GtkMenuShell; a GtkMenuShell contains menu items
* (GtkMenuItem). Each menu item contains text and/or images and can
* be selected by the user.
*
* There are several kinds of menu item, including plain GtkMenuItem,
* GtkCheckMenuItem which can be checked/unchecked, GtkRadioMenuItem
@@ -70,59 +70,10 @@ create_menu (gint depth,
return menu;
}
static void
change_orientation (GtkWidget *button,
GtkWidget *menubar)
{
GtkWidget *parent;
GtkWidget *box = NULL;
parent = gtk_widget_get_parent (menubar);
if (GTK_IS_VBOX (parent))
{
box = gtk_widget_get_parent (parent);
g_object_ref (menubar);
gtk_container_remove (GTK_CONTAINER (parent), menubar);
gtk_container_add (GTK_CONTAINER (box), menubar);
gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
g_object_unref (menubar);
g_object_set (menubar,
"pack-direction", GTK_PACK_DIRECTION_TTB,
NULL);
}
else
{
GList *children, *l;
children = gtk_container_get_children (GTK_CONTAINER (parent));
for (l = children; l; l = l->next)
{
if (GTK_IS_VBOX (l->data))
{
box = l->data;
break;
}
}
g_list_free (children);
g_object_ref (menubar);
gtk_container_remove (GTK_CONTAINER (parent), menubar);
gtk_container_add (GTK_CONTAINER (box), menubar);
gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
g_object_unref (menubar);
g_object_set (menubar,
"pack-direction", GTK_PACK_DIRECTION_LTR,
NULL);
}
}
GtkWidget *
do_menus (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkWidget *box;
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *button;
@@ -148,13 +99,9 @@ do_menus (GtkWidget *do_widget)
gtk_window_set_title (GTK_WINDOW (window), "menus");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
box = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show (box);
box1 = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (box), box1);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_widget_show (box1);
menubar = gtk_menu_bar_new ();
@@ -184,13 +131,7 @@ do_menus (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
gtk_widget_show (box2);
button = gtk_button_new_with_label ("Flip");
g_signal_connect (button, "clicked",
G_CALLBACK (change_orientation), menubar);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
gtk_widget_show (button);
button = gtk_button_new_with_label ("Close");
button = gtk_button_new_with_label ("close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK(gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
-73
View File
@@ -1,73 +0,0 @@
/* Pickers
*
* These widgets are mainly intended for use in preference dialogs.
* They allow to select colors, fonts, files and directories.
*/
#include <gtk/gtk.h>
GtkWidget *
do_pickers (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkWidget *table, *label, *picker;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Pickers");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
table = gtk_table_new (4, 2, FALSE);
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 10);
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
gtk_container_add (GTK_CONTAINER (window), table);
gtk_container_set_border_width (GTK_CONTAINER (table), 10);
label = gtk_label_new ("Color:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_color_button_new ();
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 0, 1);
label = gtk_label_new ("Font:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_font_button_new ();
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 1, 2);
label = gtk_label_new ("File:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a File",
GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 2, 3);
label = gtk_label_new ("Folder:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a Folder",
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}
-182
View File
@@ -1,182 +0,0 @@
/* Printing
*
* GtkPrintOperation offers a simple API to support printing
* in a cross-platform way.
*
*/
#include <math.h>
#include <gtk/gtk.h>
#include "demo-common.h"
/* In points */
#define HEADER_HEIGHT (10*72/25.4)
#define HEADER_GAP (3*72/25.4)
typedef struct
{
gchar *filename;
gdouble font_size;
gint lines_per_page;
gchar **lines;
gint num_lines;
gint num_pages;
} PrintData;
static void
begin_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
char *contents;
int i;
double height;
height = gtk_print_context_get_height (context) - HEADER_HEIGHT - HEADER_GAP;
data->lines_per_page = floor (height / data->font_size);
g_file_get_contents (data->filename, &contents, NULL, NULL);
data->lines = g_strsplit (contents, "\n", 0);
g_free (contents);
i = 0;
while (data->lines[i] != NULL)
i++;
data->num_lines = i;
data->num_pages = (data->num_lines - 1) / data->lines_per_page + 1;
gtk_print_operation_set_n_pages (operation, data->num_pages);
}
static void
draw_page (GtkPrintOperation *operation,
GtkPrintContext *context,
gint page_nr,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
cairo_t *cr;
PangoLayout *layout;
gdouble width, text_height;
gint line, i, layout_height;
PangoFontDescription *desc;
gchar *page_str;
cr = gtk_print_context_get_cairo_context (context);
width = gtk_print_context_get_width (context);
cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT);
cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
cairo_fill_preserve (cr);
cairo_set_source_rgb (cr, 0, 0, 0);
cairo_set_line_width (cr, 1);
cairo_stroke (cr);
layout = gtk_print_context_create_pango_layout (context);
desc = pango_font_description_from_string ("sans 14");
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
pango_layout_set_text (layout, data->filename, -1);
pango_layout_set_width (layout, width);
pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
pango_layout_get_size (layout, NULL, &layout_height);
text_height = (gdouble)layout_height / PANGO_SCALE;
cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
page_str = g_strdup_printf ("%d/%d", page_nr + 1, data->num_pages);
pango_layout_set_text (layout, page_str, -1);
g_free (page_str);
pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
cairo_move_to (cr, width - 2, (HEADER_HEIGHT - text_height) / 2);
pango_cairo_show_layout (cr, layout);
g_object_unref (layout);
layout = gtk_print_context_create_pango_layout (context);
desc = pango_font_description_from_string ("mono");
pango_font_description_set_size (desc, data->font_size * PANGO_SCALE);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
cairo_move_to (cr, 0, HEADER_HEIGHT + HEADER_GAP);
line = page_nr * data->lines_per_page;
for (i = 0; i < data->lines_per_page && line < data->num_lines; i++)
{
pango_layout_set_text (layout, data->lines[line], -1);
pango_cairo_show_layout (cr, layout);
cairo_rel_move_to (cr, 0, data->font_size);
line++;
}
g_object_unref (layout);
}
static void
end_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
g_free (data->filename);
g_strfreev (data->lines);
g_free (data);
}
GtkWidget *
do_printing (GtkWidget *do_widget)
{
GtkPrintOperation *operation;
PrintData *data;
GError *error = NULL;
operation = gtk_print_operation_new ();
data = g_new0 (PrintData, 1);
data->filename = demo_find_file ("printing.c", NULL);
data->font_size = 12.0;
g_signal_connect (G_OBJECT (operation), "begin-print",
G_CALLBACK (begin_print), data);
g_signal_connect (G_OBJECT (operation), "draw-page",
G_CALLBACK (draw_page), data);
g_signal_connect (G_OBJECT (operation), "end-print",
G_CALLBACK (end_print), data);
gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW (do_widget), &error);
g_object_unref (operation);
if (error)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (do_widget),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
return NULL;
}
-392
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;
}
+1 -1
View File
@@ -525,7 +525,7 @@ main (int argc, char **argv)
gtk_init (&argc, &argv);
/* gdk_rgb_set_verbose (TRUE);*/
// gdk_rgb_set_verbose (TRUE);
gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
-161
View File
@@ -1,161 +0,0 @@
Notational conventions
======================
We have a window W that we are tracking events on. Focus
can be on the following classes of objects
None : defined by X protocol
PointerRoot : defined by X protocol
W : the window itself
Ancestor : An ancestor of W, including W's root window
Descendant : A descendant of W
Other: : A window that is neither an ancestor or
descendant of W
has_pointer(W): the pointer is in W or one of its descendants.
NotifyPointer events
====================
X sends FocusIn or FocusOut events to W with a detail of NotifyPointer
in the following transitions, when the pointer is inside W
Other => Ancestor: FocusIn
Ancestor => {Other,None}: FocusOut
Ancestor => PointerRoot: FocusOut, then FocusIn
{None,W,Descendant,Other} => PointerRoot: FocusIn
PointerRoot => Ancestor: FocusOut, then FocusIn
PointerRoot => {None,W,Descendant,Other} => FocusOut
[ Ignoring keyboard grabs for the moment ]
Basic focus tracking algorithm
==============================
Keystroke events are delivered within W if and only if one of two
predicates hold:
has_focus_window(W): F==W || F==Descendant
has_pointer_focus(W): (F==Ancestor || F==PointerRoot) && has_pointer(W)
These two conditions are mutually exclusive.
has_focus_window(W) is easy to track.
FocusIn: detail != NotifyInferior: Set has_focus_iwndow
FocusOut: detail != NotifyInferior: Clear has_focus_iwndow
has_pointer_focus(W) is harder to track.
We can separate out the transitions from !has_pointer_focus(W) to
has_pointer_focus(W) into four cases:
T1: [(F==W || F==Descendant) => F==Ancestor]; has_pointer(W)
T2: [(F==W || F==Descendant) => F==PointerRoot]; has_pointer(W)
T3: [(F==None || F==Other) => (F==PointerRoot || F==Ancestor)];
has_pointer(W)
T4: [!has_pointer(W) => has_pointer(W)]; (F==Ancestor || F==PointerRoot)
All of these can be tracked by watching events on W.
T1:, we get a FocusOut with a mode of Ancestor or Virtual
We need to separately track has_pointer(W) to distinguish
this from the case where we get these events and !has_pointer(W)
T2, T3: together these are exactly the cases where we get
FocusIn/NotifyPointer.
For T4, we get an EnterNotify with the focus flag set. An
EnterNotify with a focus flag set will also be sent if
F==W, so we have to to explicitly test for that case
using has_focus_window(W)
The transitions from has_pointer_focus(W) to !has_pointer_focus(W)
are exactly the opposite
F1: [(F==W || F==Descendant) <= F==Ancestor]; has_pointer(W)
F2: [(F==W || F==Descendant) <= F==PointerRoot]; has_pointer(W)
F3: [(F==None || F==Other) <= (F==PointerRoot || F==Ancestor)];
has_pointer(W)
F4: [!has_pointer(W) <= has_pointer(W)]; (F==Ancestor || F==PointerRoot)
And can be tracked in the same ways:
F1: we get a FocusIn with a mode of Ancestor or Virtual
We need to separately track has_pointer(W) to distinguish
this from the case we get these events and !has_pointer(W)
F2, F3: together these are exactly the cases where we get
FocusOut/NotifyPointer.
F4: we get an LeaveNotify with the focus flag set. An
LeaveNotify with a focus flag set will also be sent if
F==W, so we have to to explicity test for that case
using has_focus_window(W).
Modifications for keyboard grabs
================================
The above algorithm ignores keyboard grabs, which also
generate focus events, and needs to be modified somewhat
to take keyboard grabs into effect. The basic idea
is that for has_pointer_focus(W)/has_window_focus(W) we track
them ignoring grabs and ungrabs, and then supplement
that with another predicate has_focus(W) which pays
attention to grabs and ungrabs.
Modification 1:
When tracking has_pointer_focus(W), ignore all Focus
events with a mode of NotifyGrab or NotifyUngrab.
Note that this means that with grabs, we don't perfectly.
track the delivery of keyboard events ... since we think
we are getting events in the case where
has_pointer_focus(W) && !(G == None || G==W || G==descendant)
But the X protocol doesn't provide sufficient information
to do this right... example:
F=Ancestor, G=None => F=Ancestor, G=Ancestor
We stop getting events, but receive no notification.
The case of no window manager and keyboard grabs is pretty
rare in any case.
Modification 2:
When tracking has_focus_window(W), ignore all Focus
events with a mode of NotifyGrab or NotifyUngrab.
Modification 3: instead of calculating focus as
has_focus_window(W) || has_pointer_focus(W)
Calculate it as
has_focus(W) || has_pointer_focus(W)
where has_focus(W) is defined as:
has_focus(W): F==W || F==Descendant || G=W
Tracking has_focus(W) is done by
FocusIn: detail != NotifyInferior, mode != NotifyWhileGrabbed:
set has_focus
FocusOut: detail != NotifyInferior, mode != NotifyWhileGrabbed:
clear has_focus
We still need to track has_focus_window(W) for the T4/F4
transitions.
-163
View File
@@ -1,163 +0,0 @@
Information about the icon theme cache format used by GTK+
for more information, see the mailing list threads at
http://mail.gnome.org/archives/gtk-devel-list/2004-April/msg00065.html
http://lists.freedesktop.org/archives/xdg/2004-October/005140.html
Back in May, Owen Taylor proposed [1] caching scheme for icon theme
information, to reduce the amount of stating and disk seeking at
application startup, and to reduce the memory overhead if each app
allocates all the icon theme data separately.
The proposal is to keep the information about the icons in the
directory tree below each icon theme directory in an mmap()able
cache file (There is basically one cache file per index.theme file).
The cache doesn't try to hold all information from the index.theme files
that you would need to do lookups; it turns out that with the icon theme
specification, this isn't even sensible - you can install a
$HOME/.local/share/icons/Bluecurve/index.theme
That overrides
/usr/share/icons/Bluecurve/index.theme
and chances how lookup happens for icons in /usr/share/icons/Bluecurve.
We would like to propose the cache file format as an appendix to the
icon theme specification. One thing which still needs to be investigated
is caching of the actual image data; the file format is has an
IMAGE_DATA_OFFSET member to allow adding that compatibly. An
implementation of the caching scheme for GTK+ can be found at [2]. The
cache generator which is included in the patch depends only on glib, and
it may be a good idea to move it to freedesktop.org as well.
Regards, Matthias Clasen
The cache file format:
Header:
2 CARD16 MAJOR_VERSION 1
2 CARD16 MINOR_VERSION 0
4 CARD32 HASH_OFFSET
4 CARD32 DIRECTORY_LIST_OFFSET
DirectoryList:
4 CARD32 N_DIRECTORIES
4*N_DIRECTORIES CARD32 DIRECTORY_OFFSET
Hash:
4 CARD32 N_BUCKETS
4*N_BUCKETS CARD32 ICON_OFFSET
Icon:
4 CARD32 CHAIN_OFFSET
4 CARD32 NAME_OFFSET
4 CARD32 IMAGE_LIST_OFFSET
ImageList:
4 CARD32 N_IMAGES
8*N_IMAGES Image IMAGES
Image:
2 CARD16 DIRECTORY_INDEX
2 ICON_FLAGS FLAGS
4 CARD32 IMAGE_DATA_OFFSET
ICON_FLAGS
HAS_SUFFIX_PNG 1
HAS_SUFFIX_XPM 2
HAS_SUFFIX_SVG 4
HAS_ICON_FILE 8
ImageData:
4 CARD32 IMAGE_PIXEL_DATA_OFFSET
4 CARD32 IMAGE_META_DATA_OFFSET
4 CARD32 IMAGE_PIXEL_DATA_TYPE
4 CARD32 IMAGE_PIXEL_DATA_LENGTH
N/A N/A PIXEL_DATA
IMAGE_PIXEL_DATA_TYPE
0 GdkPixdata format
MetaData:
4 CARD32 EMBEDDED_RECT_OFFSET
4 CARD32 ATTACH_POINT_LIST_OFFSET
4 CARD32 DISPLAY_NAME_LIST_OFFSET
EmbeddedRect:
2 CARD16 X0
2 CARD16 Y0
2 CARD16 X1
2 CARD16 Y1
AttachPointList:
4 CARD32 N_ATTACH_POINTS
4*N_ATTACH_POINTS AttachPoint
AttachPoint:
2 CARD16 X
2 CARD16 Y
DisplayNameList:
4 CARD32 N_DISPLAY_NAMES
4*N_DISPLAY_NAMES DisplayName
DisplayName:
4 CARD32 DISPLAY_LANG_OFFSET
4 CARD32 DISPLAY_NAME_OFFSET
Notes:
* All offsets are from in bytes from the beginning of the file
* Strings are zero-terminated
* Directories are stored as relative paths.
* All numbers are in network (big-endian) order. This is
necessary because the data will be stored in arch-independent
directories like /usr/share/icons or even in user's
home directories.
* The hash function is that used by g_str_hash()
unsigned int
icon_str_hash (gconstpointer key)
{
const char *p = key;
unsigned int h = *p;
if (h)
for (p += 1; *p != '\0'; p++)
h = (h << 5) - h + *p;
return h;
}
This should not be implemented by calling g_str_hash(). For
optimal results, N_BUCKETS should be typically be prime.
* The same file format is used for icon themes (e.g.,
/usr/share/icons/Bluecurve) and for unthemed icon directories
(e.g., /usr/share/pixmaps)
For an unthemed directory, N_DIRECTORIES==0 and each
image has a DIRECTORY_INDEX field of 0xFFFF.
* Up-to-dateness of a cache file is determined simply:
If the mod-time on the directory where the cache file
lives is newer than the mod-time of the cache file,
the cache file is out of date.
* Cache files have to be written atomically - write to a
temporary name, then move over the old file - so that
clients that have the old cache file open and mmap'ed
won't get corrupt data.
+4 -1055
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -28,7 +28,6 @@ IGNORE_HFILES= \
gdk-pixbuf-private.h \
io-gif-animation.h \
io-ani-animation.h \
xpm-color-table.h \
test-images.h
INCLUDES = \
@@ -127,11 +127,6 @@ gdk_pixbuf_animation_iter_get_delay_time
gdk_pixbuf_animation_iter_on_currently_loading_frame
gdk_pixbuf_animation_iter_get_pixbuf
<SUBSECTION>
GdkPixbufSimpleAnim
gdk_pixbuf_simple_anim_new
gdk_pixbuf_simple_anim_add_frame
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION
GDK_TYPE_PIXBUF_ANIMATION
@@ -140,22 +135,11 @@ GDK_IS_PIXBUF_ANIMATION_ITER
GDK_PIXBUF_ANIMATION_ITER
GDK_TYPE_PIXBUF_ANIMATION_ITER
GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS
GDK_IS_PIXBUF_SIMPLE_ANIM
GDK_PIXBUF_SIMPLE_ANIM_CLASS
GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS
GDK_TYPE_PIXBUF_SIMPLE_ANIM
GDK_PIXBUF_SIMPLE_ANIM
<SUBSECTION Private>
gdk_pixbuf_non_anim_new
gdk_pixbuf_animation_get_type
gdk_pixbuf_animation_iter_get_type
gdk_pixbuf_simple_anim_get_type
gdk_pixbuf_simple_anim_iter_get_type
GdkPixbufSimpleAnimClass
</SECTION>
<SECTION>
@@ -266,7 +250,6 @@ XlibRgbCmap
XlibRgbDither
xlib_rgb_init
xlib_rgb_init_with_depth
xlib_rgb_xpixel_from_rgb
xlib_rgb_gc_set_foreground
xlib_rgb_gc_set_background
xlib_draw_rgb_image
@@ -145,9 +145,6 @@
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
<index role="2.8">
<title>Index of new symbols in 2.8</title>
</index>
&Porting-From-Imlib;
+5 -34
View File
@@ -20,19 +20,16 @@ Animated images.
#GdkPixbufLoader
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
And opaque struct representing an animation.
</para>
<para>
This object describes an animation.
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
And opaque struct representing an iterator which points to a
certain position in an animation.
A #GdkPixbufAnimationIter provides the necessary functionality to
display an animation. See gdk_pixbuf_animation_get_iter().
</para>
@@ -146,29 +143,3 @@ certain position in an animation.
@Returns:
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
<para>
An
</para>
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_new ##### -->
<para>
</para>
@width:
@height:
@rate:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_add_frame ##### -->
<para>
</para>
@animation:
@pixbuf:
+3 -3
View File
@@ -43,9 +43,6 @@ Creating a pixbuf from image data that is already in memory.
gdk_pixbuf_finalize().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new ##### -->
<para>
@@ -95,6 +92,9 @@ Creating a pixbuf from image data that is already in memory.
@copy_pixels:
@error:
@Returns:
<!-- # Unused Parameters # -->
@inline_pixbuf:
@length:
<!-- ##### FUNCTION gdk_pixbuf_new_subpixbuf ##### -->
@@ -25,9 +25,6 @@ Loading a pixbuf from a file.
#GdkPixbufLoader.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new_from_file ##### -->
<para>
@@ -66,6 +63,8 @@ End:
@preserve_aspect_ratio:
@error:
@Returns:
<!-- # Unused Parameters # -->
@keep_aspect_ratio:
<!-- ##### FUNCTION gdk_pixbuf_get_file_info ##### -->
@@ -6,11 +6,7 @@ Saving a pixbuf to a file.
<!-- ##### SECTION Long_Description ##### -->
<para>
These functions allow to save a #GdkPixbuf in a number of
file formats. The formatted data can be written to a file
or to a memory buffer. &gdk-pixbuf; can also call a user-defined
callback on the data, which allows to e.g. write the image
to a socket or store it in a database.
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -18,9 +14,6 @@ to a socket or store it in a database.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_savev ##### -->
<para>
@@ -69,9 +69,6 @@ Application-driven progressive image loading.
gdk_pixbuf_new_from_file(), gdk_pixbuf_animation_new_from_file()
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixbufLoader ##### -->
<para>
The <structname>GdkPixbufLoader</structname> struct contains only private
@@ -23,9 +23,6 @@ Getting parts of an X drawable's image data into a pixbuf.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_get_from_drawable ##### -->
<para>
@@ -20,9 +20,6 @@ Initializing the &gdk-pixbuf; Xlib library.
XlibRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_init ##### -->
<para>
@@ -21,9 +21,6 @@ Rendering a pixbuf to an X drawable.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_render_threshold_alpha ##### -->
<para>
@@ -17,9 +17,6 @@ Rendering RGB buffers to X drawables.
GdkRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT XlibRgbCmap ##### -->
<para>
FIXME: Describe this.
@@ -65,15 +62,6 @@ displays.
@prefDepth:
<!-- ##### FUNCTION xlib_rgb_xpixel_from_rgb ##### -->
<para>
</para>
@rgb:
@Returns:
<!-- ##### FUNCTION xlib_rgb_gc_set_foreground ##### -->
<para>
@@ -90,9 +90,6 @@ put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blu
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM GdkPixbufError ##### -->
<para>
An error code in the #GDK_PIXBUF_ERROR domain. Many &gdk-pixbuf;
@@ -16,9 +16,6 @@ you're linking against.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### VARIABLE gdk_pixbuf_version ##### -->
<para>
Contains the full version of the &gdk-pixbuf; library as a string.
+3 -11
View File
@@ -5,23 +5,15 @@ Inline data
Functions for inlined pixbuf handling.
<!-- ##### SECTION Long_Description ##### -->
<para>
Using #GdkPixdata, images can be compiled into an application,
making it unnecessary to refer to external image files at runtime.
&gdk-pixbuf; includes a utility named gdk-pixbuf-csource, which
can be used to convert image files into #GdkPixdata structures suitable
for inclusion in C sources. To convert the #GdkPixdata structures back
into #GdkPixbuf<!-- -->s, use gdk_pixbuf_from_pixdata.
</para>
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixdata ##### -->
<para>
@@ -65,9 +65,6 @@ They are not covered by the same stability guarantees as the regular
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
<para>
@@ -204,19 +201,14 @@ operations.
<!-- ##### 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, called the mask, if
not %NULL, must be of the same length as the first one and may contain
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
not matched, "don't-care"-bytes, zeros and non-zeros.
pairs of ordinary strings, where the second string, if not %NULL, must be
of the same length as the first one and 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>
Starting with &gdk-pixbuf; 2.8, the first byte of the mask may be '*',
indicating an unanchored pattern that matches not only at the beginning,
but also in the middle. Versions prior to 2.8 will interpret the '*'
like an 'x'.
</para>
<para>
The signature of a module is stored as an array of
#GdkPixbufModulePattern<!-- -->s. The array is terminated by a pattern
@@ -345,7 +337,7 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
@load_increment: continues an incremental load.
@load_animation: loads an animation from a file.
@save: saves a #GdkPixbuf to a file.
@save_to_callback: saves a #GdkPixbuf by calling the given #GdkPixbufSaveFunc.
@save_to_callback:
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>
@@ -354,7 +346,7 @@ Modules supporting animations must derive a type from
virtual functions.
</para>
@parent_class: the parent class
@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.
@@ -367,7 +359,7 @@ Modules supporting animations must derive a type from
virtual functions.
</para>
@parent_class: the parent class
@parent_class:
@get_delay_time: returns the time in milliseconds that the current frame
should be shown.
@get_pixbuf: returns the current frame.
@@ -45,9 +45,6 @@ Functions for reference counting and memory management on pixbufs.
#GdkPixbuf, gdk_pixbuf_new_from_data().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
+2 -3
View File
@@ -42,6 +42,8 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
GdkPixbuf *dest;
gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);
gdk_pixbuf_composite_color (pixbuf, dest,
@@ -69,9 +71,6 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
<link linkend="gdk-GdkRGB">GdkRGB</link>.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM GdkInterpType ##### -->
<para>
This enumeration describes the different interpolation modes that
-3
View File
@@ -17,9 +17,6 @@ Utility and miscellaneous convenience functions.
#GdkPixbuf
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_add_alpha ##### -->
<para>
+1 -4
View File
@@ -28,13 +28,10 @@ IGNORE_HFILES= \
gdkprivate.h \
gdkpoly-generic.h \
gdkregion-generic.h \
keyname-table.h \
linux-fb \
nanox \
win32 \
directfb \
x11 \
quartz
x11
# Extra files to add when scanning (relative to $srcdir)
EXTRA_HFILES= \
+1 -8
View File
@@ -15,7 +15,6 @@
<!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-Cairo-Interaction SYSTEM "xml/cairo_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">
@@ -82,7 +81,7 @@
&gdk-Input-Devices;
&gdk-Pango-Interaction;
&gdk-Cairo-Interaction;
&gdk-X-Window-System-Interaction;
</reference>
@@ -101,11 +100,5 @@
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
<index role="2.8">
<title>Index of new symbols in 2.8</title>
</index>
<index role="2.10">
<title>Index of new symbols in 2.10</title>
</index>
</book>
+1 -38
View File
@@ -142,7 +142,6 @@ gdk_display_get_pointer
gdk_display_get_window_at_pointer
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
gdk_display_warp_pointer
gdk_display_supports_cursor_color
gdk_display_supports_cursor_alpha
gdk_display_get_default_cursor_size
@@ -152,8 +151,6 @@ gdk_display_supports_selection_notification
gdk_display_request_selection_notification
gdk_display_supports_clipboard_persistence
gdk_display_store_clipboard
gdk_display_supports_shapes
gdk_display_supports_input_shapes
<SUBSECTION Standard>
GDK_DISPLAY_OBJECT
GDK_IS_DISPLAY
@@ -199,9 +196,6 @@ gdk_screen_get_system_colormap
gdk_screen_get_system_visual
gdk_screen_get_rgb_colormap
gdk_screen_get_rgb_visual
gdk_screen_get_rgba_colormap
gdk_screen_get_rgba_visual
gdk_screen_is_composited
gdk_screen_get_root_window
gdk_screen_get_display
gdk_screen_get_number
@@ -218,12 +212,6 @@ gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
gdk_screen_broadcast_client_message
gdk_screen_get_setting
gdk_screen_get_font_options
gdk_screen_set_font_options
gdk_screen_get_resolution
gdk_screen_set_resolution
gdk_screen_get_active_window
gdk_screen_get_window_stack
<SUBSECTION Spawning>
gdk_spawn_on_screen
gdk_spawn_on_screen_with_pipes
@@ -507,6 +495,7 @@ GDK_IS_DRAWABLE_CLASS
<SUBSECTION Private>
GdkDrawableClass
gdk_draw_bitmap
gdk_draw_rectangle_alpha_libgtk_only
</SECTION>
<SECTION>
@@ -652,7 +641,6 @@ gdk_window_move
gdk_window_resize
gdk_window_move_resize
gdk_window_scroll
gdk_window_move_region
gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
@@ -699,10 +687,6 @@ gdk_window_shape_combine_mask
gdk_window_shape_combine_region
gdk_window_set_child_shapes
gdk_window_merge_child_shapes
gdk_window_input_shape_combine_mask
gdk_window_input_shape_combine_region
gdk_window_set_child_input_shapes
gdk_window_merge_child_input_shapes
gdk_window_set_static_gravities
gdk_window_set_hints
gdk_window_set_title
@@ -717,10 +701,8 @@ gdk_window_set_geometry_hints
gdk_window_set_icon_list
gdk_window_set_modal_hint
gdk_window_set_type_hint
gdk_window_get_type_hint
gdk_window_set_skip_taskbar_hint
gdk_window_set_skip_pager_hint
gdk_window_set_urgency_hint
gdk_window_get_position
gdk_window_get_root_origin
gdk_window_get_frame_extents
@@ -835,7 +817,6 @@ gdk_utf8_to_string_target
gdk_utf8_to_compound_text
gdk_utf8_to_compound_text_for_display
gdk_atom_intern
gdk_atom_intern_static_string
gdk_atom_name
gdk_property_get
gdk_property_change
@@ -879,17 +860,6 @@ gdk_pango_renderer_get_type
GdkPangoRendererPrivate
</SECTION>
<SECTION>
<TITLE>Cairo Interaction</TITLE>
<FILE>cairo_interaction</FILE>
gdk_cairo_create
gdk_cairo_set_source_color
gdk_cairo_set_source_pixbuf
gdk_cairo_set_source_pixmap
gdk_cairo_rectangle
gdk_cairo_region
</SECTION>
<SECTION>
<TITLE>Points, Rectangles and Regions</TITLE>
<FILE>regions</FILE>
@@ -1117,7 +1087,6 @@ GdkEventNoExpose
GdkEventWindowState
GdkEventSetting
GdkEventOwnerChange
GdkEventGrabBroken
<SUBSECTION>
GdkScrollDirection
@@ -1153,10 +1122,8 @@ GdkCursorType
gdk_cursor_new
gdk_cursor_new_from_pixmap
gdk_cursor_new_from_pixbuf
gdk_cursor_new_from_name
gdk_cursor_new_for_display
gdk_cursor_get_display
gdk_cursor_get_image
gdk_cursor_ref
gdk_cursor_unref
gdk_cursor_destroy
@@ -1255,7 +1222,6 @@ gdkx_visual_get
gdkx_colormap_get
gdk_pixmap_foreign_new
gdk_pixmap_foreign_new_for_display
gdk_pixmap_foreign_new_for_screen
gdk_window_foreign_new
gdk_window_foreign_new_for_display
gdk_xid_table_lookup
@@ -1273,8 +1239,6 @@ gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_lookup_visual
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
gdk_x11_display_get_user_time
gdk_x11_colormap_foreign_new
gdk_x11_colormap_get_xcolormap
gdk_x11_colormap_get_xdisplay
@@ -1283,7 +1247,6 @@ gdk_x11_cursor_get_xdisplay
gdk_x11_display_get_xdisplay
gdk_x11_display_grab
gdk_x11_display_ungrab
gdk_x11_display_set_cursor_theme
gdk_x11_register_standard_event_type
gdk_x11_drawable_get_xdisplay
gdk_x11_drawable_get_xid
@@ -1,87 +0,0 @@
<!-- ##### SECTION Title ##### -->
Cairo Interaction
<!-- ##### SECTION Short_Description ##### -->
Functions to support using Cairo
<!-- ##### SECTION Long_Description ##### -->
<para>
<link href="http://cairographics.org">Cairo</link> is a graphics
library that supports vector graphics and image compositing that
can be used with GDK. Since 2.8, GTK+ does most of its drawing
using Cairo.
</para>
<para>
GDK does not wrap the Cairo API, instead it allows to create Cairo
contexts which can be used to draw on GDK drawables. Additional
functions allow to convert GDK's rectangles and regions into
Cairo paths and to use pixbufs as sources for drawing operations.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_cairo_create ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_cairo_set_source_color ##### -->
<para>
</para>
@cr:
@color:
<!-- ##### FUNCTION gdk_cairo_set_source_pixbuf ##### -->
<para>
</para>
@cr:
@pixbuf:
@pixbuf_x:
@pixbuf_y:
<!-- ##### FUNCTION gdk_cairo_set_source_pixmap ##### -->
<para>
</para>
@cr:
@pixmap:
@pixmap_x:
@pixmap_y:
<!-- ##### FUNCTION gdk_cairo_rectangle ##### -->
<para>
</para>
@cr:
@rectangle:
<!-- ##### FUNCTION gdk_cairo_region ##### -->
<para>
</para>
@cr:
@region:
+1 -3
View File
@@ -43,9 +43,6 @@ gdk_color_change() will probably become aliases.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkColor ##### -->
<para>
The #GdkColor structure is used to describe an
@@ -65,6 +62,7 @@ allocated or unallocated color.
The colormap structure contains the following public fields.
</para>
@parent_instance:
@size: For pseudo-color colormaps, the number of colors
in the colormap.
@colors: An array containing the current values in the
+5 -40
View File
@@ -6,21 +6,7 @@ Standard and pixmap cursors
<!-- ##### SECTION Long_Description ##### -->
<para>
These functions are used to create and destroy cursors.
There is a number of standard cursors, but it is also
possible to construct new cursors from pixmaps and
pixbufs. There may be limitations as to what kinds of
cursors can be constructed on a given display, see
gdk_display_supports_cursor_alpha(),
gdk_display_supports_cursor_color(),
gdk_display_get_default_cursor_size() and
gdk_display_get_maximal_cursor_size().
</para>
<para>
Cursors by themselves are not very interesting, they must be be
bound to a window for users to see them. This is done with
gdk_window_set_cursor() or by setting the cursor member of the
#GdkWindowAttr struct passed to gdk_window_new().
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -28,15 +14,13 @@ gdk_window_set_cursor() or by setting the cursor member of the
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkCursor ##### -->
<para>
A <type>GdkCursor</type> structure represents a cursor.
</para>
@type: the #GdkCursorType of the cursor
@type:
@ref_count:
<!-- ##### ENUM GdkCursorType ##### -->
<para>
@@ -120,9 +104,9 @@ The standard cursors available.
@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: last cursor type
@GDK_LAST_CURSOR:
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
gdk_cursor_new_from_pixmap().
<!-- ##### FUNCTION gdk_cursor_new ##### -->
<para>
@@ -158,16 +142,6 @@ gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_from_name ##### -->
<para>
</para>
@display:
@name:
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_for_display ##### -->
<para>
@@ -187,15 +161,6 @@ gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
@Returns:
<!-- ##### FUNCTION gdk_cursor_get_image ##### -->
<para>
</para>
@cursor:
@Returns:
<!-- ##### FUNCTION gdk_cursor_ref ##### -->
<para>
+2 -5
View File
@@ -22,9 +22,6 @@ the GTK+ documentation for more information.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
<para>
</para>
@@ -179,7 +176,7 @@ A <structname>GdkDragContext</structname> holds information about a
drag in progress. It is used on both source and destination sides.
</para>
@parent_instance: the parent instance
@parent_instance:
@protocol: the DND protocol which governs this drag.
@is_source: %TRUE if the context is used on the source side.
@source_window: the source of this drag.
@@ -197,7 +194,7 @@ Used in #GdkDragContext to indicate what the destination
should do with the dropped data.
</para>
@GDK_ACTION_DEFAULT: Means nothing, and should not be used.
@GDK_ACTION_DEFAULT:
@GDK_ACTION_COPY: Copy the data.
@GDK_ACTION_MOVE: Move the data, i.e. first copy it, then delete
it from the source using the DELETE target of the X selection protocol.
-3
View File
@@ -31,9 +31,6 @@ gtk_widget_create_pango_layout().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDrawable ##### -->
<para>
An opaque structure representing an object that can be
+1 -27
View File
@@ -20,9 +20,6 @@ required events are received. See gtk_widget_set_events().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### UNION GdkEvent ##### -->
<para>
The #GdkEvent struct contains a union of all of the event structs,
@@ -108,8 +105,6 @@ NUL byte, in which case looking at @length is necessary to distinguish
it from the an empty translation.
@hardware_keycode: the raw code of the key that was pressed or released.
@group: the keyboard group.
@is_modifier: a flag that indicates if @hardware_keycode is mapped to a
modifier. Since 2.10
<!-- ##### STRUCT GdkEventButton ##### -->
<para>
@@ -426,27 +421,6 @@ only available if the X server supports the XFIXES extension.
@selection_time: the time at which the selection ownership was taken over
@Since: 2.6
<!-- ##### STRUCT GdkEventGrabBroken ##### -->
<para>
Generated when a pointer or keyboard grab is broken. On X11, this happens
when the grab window becomes unviewable (i.e. it or one of its ancestors
is unmapped), or if the same application grabs the pointer or keyboard
again. Note that implicit grabs (which are initiated by button presses)
can also cause #GdkEventGrabBroken events.
</para>
@type: the type of the event (%GDK_GRAB_BROKEN)
@window: the window which received the event, i.e. the window
that previously owned the grab
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@keyboard: %TRUE if a keyboard grab was broken, %FALSE if a pointer
grab was broken
@implicit: %TRUE if the broken grab was implicit
@grab_window: If this event is caused by another grab in the same
application, @grab_window contains the new grab window. Otherwise
@grab_window id %NULL.
@Since: 2.8
<!-- ##### ENUM GdkScrollDirection ##### -->
<para>
Specifies the direction for #GdkEventScroll.
@@ -496,7 +470,7 @@ full details of crossing event generation.
which are not ancestors of each other and the window is part of
the ancestor chain between one of these windows and their least
common ancestor.
@GDK_NOTIFY_UNKNOWN: an unknown type of enter/leave event occurred.
@GDK_NOTIFY_UNKNOWN:
<!-- ##### ENUM GdkPropertyState ##### -->
<para>
+31 -34
View File
@@ -27,9 +27,6 @@ The structs used for each type of event.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM GdkEventType ##### -->
<para>
Specifies the type of the event.
@@ -84,14 +81,11 @@ has changed.
@GDK_VISIBILITY_NOTIFY: the window visibility status has changed.
@GDK_NO_EXPOSE: indicates that the source region was completely available
when parts of a drawable were copied. This is not very useful.
@GDK_SCROLL: the scroll wheel was turned
@GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState
for the possible window states
@GDK_SETTING: a setting has been modified.
@GDK_SCROLL:
@GDK_WINDOW_STATE:
@GDK_SETTING:
@GDK_OWNER_CHANGE: the owner of a selection has changed. This event type
was added in 2.6
@GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
was added in 2.8.
<!-- ##### ENUM GdkEventMask ##### -->
<para>
@@ -105,33 +99,32 @@ number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY
event is received each time the mouse moves. However, if the application
spends a lot of time processing the event (updating the display, for example),
it can easily lag behind the position of the mouse. When using the
%GDK_POINTER_MOTION_HINT_MASK the server will only send a single
%GDK_MOTION_NOTIFY event (which is marked as a hint) until the application
asks for more, by calling gdk_window_get_pointer().
%GDK_POINTER_MOTION_HINT_MASK the server will only send a single %GDK_MOTION_NOTIFY
event (which is marked as a hint) until the application asks for more, by calling
gdk_window_get_pointer().
</para>
@GDK_EXPOSURE_MASK: receive expose events
@GDK_POINTER_MOTION_MASK: receive all pointer motion events
@GDK_POINTER_MOTION_HINT_MASK: see the explanation above
@GDK_BUTTON_MOTION_MASK: receive pointer motion events while any button is pressed
@GDK_BUTTON1_MOTION_MASK: receive pointer motion events while 1 button is pressed
@GDK_BUTTON2_MOTION_MASK: receive pointer motion events while 2 button is pressed
@GDK_BUTTON3_MOTION_MASK: receive pointer motion events while 3 button is pressed
@GDK_BUTTON_PRESS_MASK: receive button press events
@GDK_BUTTON_RELEASE_MASK: receive button release events
@GDK_KEY_PRESS_MASK: receive key press events
@GDK_KEY_RELEASE_MASK: receive key release events
@GDK_ENTER_NOTIFY_MASK: receive window enter events
@GDK_LEAVE_NOTIFY_MASK: receive window leave events
@GDK_FOCUS_CHANGE_MASK: receive focus change events
@GDK_STRUCTURE_MASK: receive events about window configuration change
@GDK_PROPERTY_CHANGE_MASK: receive property change events
@GDK_VISIBILITY_NOTIFY_MASK: receive visibility change events
@GDK_PROXIMITY_IN_MASK: receive proximity in events
@GDK_PROXIMITY_OUT_MASK: receive proximity out events
@GDK_SUBSTRUCTURE_MASK: receive events about window configuration changes of
child windows
@GDK_SCROLL_MASK: receive scroll events
@GDK_EXPOSURE_MASK:
@GDK_POINTER_MOTION_MASK:
@GDK_POINTER_MOTION_HINT_MASK:
@GDK_BUTTON_MOTION_MASK:
@GDK_BUTTON1_MOTION_MASK:
@GDK_BUTTON2_MOTION_MASK:
@GDK_BUTTON3_MOTION_MASK:
@GDK_BUTTON_PRESS_MASK:
@GDK_BUTTON_RELEASE_MASK:
@GDK_KEY_PRESS_MASK:
@GDK_KEY_RELEASE_MASK:
@GDK_ENTER_NOTIFY_MASK:
@GDK_LEAVE_NOTIFY_MASK:
@GDK_FOCUS_CHANGE_MASK:
@GDK_STRUCTURE_MASK:
@GDK_PROPERTY_CHANGE_MASK:
@GDK_VISIBILITY_NOTIFY_MASK:
@GDK_PROXIMITY_IN_MASK:
@GDK_PROXIMITY_OUT_MASK:
@GDK_SUBSTRUCTURE_MASK:
@GDK_SCROLL_MASK:
@GDK_ALL_EVENTS_MASK: the combination of all the above event masks.
<!-- ##### MACRO GDK_CURRENT_TIME ##### -->
@@ -295,6 +288,8 @@ gdk_event_handler_set().
@event:
@winid:
@Returns:
<!-- # Unused Parameters # -->
@xid:
<!-- ##### FUNCTION gdk_event_send_client_message_for_display ##### -->
@@ -306,6 +301,8 @@ gdk_event_handler_set().
@event:
@winid:
@Returns:
<!-- # Unused Parameters # -->
@xid:
<!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
-3
View File
@@ -261,9 +261,6 @@ here).
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkFont ##### -->
<para>
The <structname>GdkFont</structname> structure represents a font or fontset. It
+1 -4
View File
@@ -30,9 +30,6 @@ be set by the latter method.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkGC ##### -->
<para>
The #GdkGC structure represents a graphics context.
@@ -170,7 +167,7 @@ useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
This function is obsolete and should not be used.
</para>
@Deprecated: Use g_object_unref() instead
@Deprecated: Use gdk_object_unref() instead
<!-- # Unused Parameters # -->
@gc: a #GdkGC.
-10
View File
@@ -895,16 +895,6 @@ they will be ignored.
@display_name:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_set_as_cairo_source ##### -->
<para>
</para>
@pixbuf:
@cr:
@pixbuf_x:
@pixbuf_y:
<!-- ##### VARIABLE gdk_progclass ##### -->
<para>
-32
View File
@@ -28,9 +28,6 @@ Controls the keyboard/mouse pointer grabs and a set of <type>GdkScreen</type>s
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDisplay ##### -->
<para>
The <structname>GdkDisplay</structname> struct is the GDK representation
@@ -281,17 +278,6 @@ Applications should never have any reason to use this facility
@Returns:
<!-- ##### FUNCTION gdk_display_warp_pointer ##### -->
<para>
</para>
@display:
@screen:
@x:
@y:
<!-- ##### FUNCTION gdk_display_supports_cursor_color ##### -->
<para>
@@ -378,21 +364,3 @@ Applications should never have any reason to use this facility
@n_targets:
<!-- ##### FUNCTION gdk_display_supports_shapes ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_supports_input_shapes ##### -->
<para>
</para>
@display:
@Returns:
@@ -16,9 +16,6 @@ changes.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDisplayManager ##### -->
<para>
The <structname>GdkDisplayManager</structname> struct has no interesting
+4 -101
View File
@@ -22,9 +22,6 @@ form a large screen area.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkScreen ##### -->
<para>
This is a currently just a placeholder typedef for the first argument of
@@ -34,13 +31,6 @@ when GDK gets multihead support.
@Since: 2.2
<!-- ##### SIGNAL GdkScreen::composited-changed ##### -->
<para>
</para>
@gdkscreen: the object which received the signal.
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
<para>
@@ -48,16 +38,6 @@ when GDK gets multihead support.
@gdkscreen: the object which received the signal.
<!-- ##### ARG GdkScreen:font-options ##### -->
<para>
</para>
<!-- ##### ARG GdkScreen:resolution ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_screen_get_default ##### -->
<para>
@@ -120,33 +100,6 @@ when GDK gets multihead support.
@Returns:
<!-- ##### FUNCTION gdk_screen_get_rgba_colormap ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_rgba_visual ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_is_composited ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_root_window ##### -->
<para>
@@ -254,6 +207,8 @@ when GDK gets multihead support.
@screen:
@monitor_num:
@dest:
<!-- # Unused Parameters # -->
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_at_point ##### -->
@@ -275,6 +230,8 @@ when GDK gets multihead support.
@screen:
@window:
@Returns:
<!-- # Unused Parameters # -->
@anid:
<!-- ##### FUNCTION gdk_screen_broadcast_client_message ##### -->
@@ -297,60 +254,6 @@ when GDK gets multihead support.
@Returns:
<!-- ##### FUNCTION gdk_screen_get_font_options ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_set_font_options ##### -->
<para>
</para>
@screen:
@options:
<!-- ##### FUNCTION gdk_screen_get_resolution ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_set_resolution ##### -->
<para>
</para>
@screen:
@dpi:
<!-- ##### FUNCTION gdk_screen_get_active_window ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_window_stack ##### -->
<para>
</para>
@screen:
@Returns:
<!-- ##### FUNCTION gdk_spawn_on_screen ##### -->
<para>
-13
View File
@@ -15,9 +15,6 @@ utility functions.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_init ##### -->
<para>
Initializes the GDK library and connects to the X server.
@@ -215,11 +212,6 @@ press and release events in pairs.
It is equivalent to a pointer grab on the window with @owner_events set to
%TRUE.
</para>
<para>
If you set up anything at the time you take the grab that needs to be cleaned
up when the grab ends, you should handle the #GdkEventGrabBroken events that
are emitted when the grab ends unvoluntarily.
</para>
@window: the #GdkWindow which will own the grab (the grab window).
@owner_events: if %FALSE then all pointer events are reported with respect to
@@ -288,11 +280,6 @@ Grabs the keyboard so that all events are passed to this
application until the keyboard is ungrabbed with gdk_keyboard_ungrab().
This overrides any previous keyboard grab by this client.
</para>
<para>
If you set up anything at the time you take the grab that needs to be cleaned
up when the grab ends, you should handle the #GdkEventGrabBroken events that
are emitted when the grab ends unvoluntarily.
</para>
@window: the #GdkWindow which will own the grab (the grab window).
@owner_events: if %FALSE then all keyboard events are reported with respect to
+5 -7
View File
@@ -55,15 +55,12 @@ displays.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkImage ##### -->
<para>
The #GdkImage struct contains information on the image and the pixel data.
</para>
@parent_instance: the parent instance
@parent_instance:
@type: the type of the image.
@visual: the visual.
@byte_order: the byte order.
@@ -72,9 +69,10 @@ The #GdkImage struct contains information on the image and the pixel data.
@depth: the depth of the image, i.e. the number of bits per pixel.
@bpp: the number of bytes per pixel.
@bpl: the number of bytes per line of the image.
@bits_per_pixel: the number of bits per pixel.
@bits_per_pixel:
@mem: the pixel data.
@colormap: the #GdkColormap associated with the image
@colormap:
@windowing_data:
<!-- ##### FUNCTION gdk_image_new ##### -->
<para>
@@ -88,7 +86,7 @@ then use %GDK_IMAGE_NORMAL.
@visual: the #GdkVisual to use for the image.
@width: the width of the image in pixels.
@height: the height of the image in pixels.
@Returns: a new #GdkImage, or %NULL if the image could not be created.
@Returns: a new #GdkImage, or NULL if the image could not be created.
<!-- ##### ENUM GdkImageType ##### -->
+26 -8
View File
@@ -31,9 +31,6 @@ callbacks.</para></listitem>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_input_add_full ##### -->
<para>
Establish a callback when a condition becomes true on
@@ -57,14 +54,35 @@ an input callback will be triggered. The three members
of this enumeration correspond to the @readfds,
@writefds, and @exceptfds arguments to the
<function>select</function> system call.
</para>
@GDK_INPUT_READ: the file descriptor has become available for reading.
<informaltable pgwide="1" frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
<tbody>
<row>
<entry>GDK_INPUT_READ</entry>
<entry>the file descriptor has become available for reading.
(Or, as is standard in Unix, a socket or pipe was closed
at the other end; this is the case if a subsequent read
on the file descriptor returns a count of zero.)
@GDK_INPUT_WRITE: the file descriptor has become available for writing.
@GDK_INPUT_EXCEPTION: an exception was raised on the file descriptor.
on the file descriptor returns a count of zero.)</entry>
</row>
<row>
<entry>GDK_INPUT_WRITE</entry>
<entry>the file descriptor has become available for writing.</entry>
</row>
<row>
<entry>GDK_INPUT_EXCEPTION</entry>
<entry>an exception was raised on the file descriptor.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_INPUT_READ:
@GDK_INPUT_WRITE:
@GDK_INPUT_EXCEPTION:
<!-- ##### USER_FUNCTION GdkInputFunction ##### -->
<para>
+1 -4
View File
@@ -89,9 +89,6 @@ and <structfield>ytilt</structfield>.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDevice ##### -->
<para>
A <structname>GdkDevice</structname> structure contains
@@ -101,7 +98,7 @@ gdk_device_set_mode(), gdk_device_set_key() and gdk_device_set_axis_use()
to configure various aspects of the device.
</para>
@parent_instance: the parent instance
@parent_instance:
@name: the name of this device.
@source: the type of this device.
@mode: the mode of this device
+2 -3
View File
@@ -80,9 +80,6 @@ gdk_keymap_translate_keyboard_state() just to get the keyval.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkKeymap ##### -->
<para>
A <structname>GdkKeymap</structname> defines the translation from keyboard state
@@ -167,6 +164,8 @@ be mapped to a keyval.
@level:
@consumed_modifiers:
@Returns:
<!-- # Unused Parameters # -->
@unused_modifiers:
<!-- ##### FUNCTION gdk_keymap_get_entries_for_keyval ##### -->
@@ -14,7 +14,7 @@ stippling and embossing.
<para>
Creating a #PangoLayout object is the first step in rendering text,
and requires getting a handle to a #PangoContext. For GTK+ programs,
you'll usually want to use gtk_widget_get_pango_context(), or
you'll usually want to use gtk_widget_get_context(), or
gtk_widget_create_pango_layout(), rather than using the lowlevel
gdk_pango_context_get_for_screen(). Once you have a #PangoLayout, you
can set the text and attributes of it with Pango functions like
@@ -129,9 +129,6 @@ g_object_unref (gc);
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPangoRenderer ##### -->
<para>
+1 -6
View File
@@ -6,9 +6,7 @@ Functions for rendering pixbufs on drawables
<!-- ##### SECTION Long_Description ##### -->
<para>
These functions allow to render pixbufs on drawables. Pixbufs are
client-side images. For details on how to create and manipulate
pixbufs, see the #GdkPixbuf API documentation.
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -16,9 +14,6 @@ pixbufs, see the #GdkPixbuf API documentation.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
<para>
-3
View File
@@ -18,9 +18,6 @@ pixel can be either on or off).
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixmap ##### -->
<para>
An opaque structure representing an offscreen drawable.
+13 -30
View File
@@ -42,9 +42,6 @@ data commonly stored in X window properties.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkAtom ##### -->
<para>
An opaque type representing a string as an index into a table
@@ -235,15 +232,6 @@ Finds or creates an atom corresponding to a given string.
@Returns: the atom corresponding to @atom_name.
<!-- ##### FUNCTION gdk_atom_intern_static_string ##### -->
<para>
</para>
@atom_name:
@Returns:
<!-- ##### FUNCTION gdk_atom_name ##### -->
<para>
Determines the string corresponding to an atom.
@@ -264,14 +252,15 @@ and %GDK_NONE will be stored in @actual_property_type.
</para>
<note>
<para>
The XGetWindowProperty() function that gdk_property_get()
uses has a very confusing and complicated set of semantics.
The <function>XGetWindowProperty()</function>
function that gdk_property_get()
uses has a very confusing and complicated set of semantics.
Unfortunately, gdk_property_get() makes the situation
worse instead of better (the semantics should be considered
undefined), and also prints warnings to stderr in cases where it
should return a useful error to the program. You are advised to use
XGetWindowProperty() directly until a replacement function for
gdk_property_get()
<function>XGetWindowProperty()</function>
directly until a replacement function for gdk_property_get()
is provided.
</para>
</note>
@@ -284,24 +273,18 @@ is provided.
be filled in, a warning will be printed to stderr
and no data will be returned.
@offset: the offset into the property at which to begin
retrieving data, in 4 byte units.
@length: the length of the data to retrieve in bytes. Data is
considered to be retrieved in 4 byte chunks, so @length
will be rounded up to the next highest 4 byte boundary
(so be careful not to pass a value that might overflow
when rounded up).
retrieving data. (in 4 byte units!)
@length: the length of the data to delete. (in bytes, but
the actual retrieved length will be the next
integer multiple multiple of four greater than
this!)
@pdelete: if %TRUE, delete the property after retrieving the
data.
@actual_property_type: location to store the actual type of
the property.
@actual_format: location to store the actual return format of the
data; either 8, 16 or 32 bits.
@actual_length: location to store the length of the retrieved data, in
bytes. Data returned in the 32 bit format is stored
in a long variable, so the actual number of 32 bit
elements should be be calculated via
@actual_length/sizeof(glong) to ensure portability to
64 bit systems.
@actual_format: location to store the actual format of the data.
@actual_length: location to store the length of the retrieved
data, in bytes.
@data: location to store a pointer to the data. The retrieved
data should be freed with g_free() when you are finished
using it.
+61 -54
View File
@@ -33,9 +33,6 @@ It can be intersected to regions by using gdk_region_spans_intersect_foreach().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPoint ##### -->
<para>
Defines the x and y coordinates of a point.
@@ -56,48 +53,54 @@ Defines the position and size of a rectangle.
<!-- ##### FUNCTION gdk_rectangle_intersect ##### -->
<para>
Calculates the intersection of two rectangles.
</para>
@src1:
@src2:
@dest:
@Returns:
@src1: a #GdkRectangle.
@src2: a #GdkRectangle.
@dest: the intersection of @src1 and @src2.
@Returns: %TRUE if the rectangles intersect.
<!-- ##### FUNCTION gdk_rectangle_union ##### -->
<para>
Calculates the union of two rectangles.
The union of rectangles @src1 and @src2 is the smallest rectangle which
includes both @src1 and @src2 within it.
</para>
@src1:
@src2:
@dest:
@src1: a #GdkRectangle.
@src2: a #GdkRectangle.
@dest: the union of @src1 and @src2.
<!-- ##### STRUCT GdkRegion ##### -->
<para>
A GdkRegion represents a set of pixels on the screen.
The only user-visible field of the structure is the user_data member, which
can be used to attach arbitrary data to the #GdkRegion.
</para>
<!-- ##### FUNCTION gdk_region_new ##### -->
<para>
Creates a new empty #GdkRegion.
</para>
@Returns:
@Returns: a new empty #GdkRegion.
<!-- ##### FUNCTION gdk_region_polygon ##### -->
<para>
Creates a new #GdkRegion using the polygon defined by a number of points.
</para>
@points:
@npoints:
@fill_rule:
@Returns:
@points: an array of #GdkPoint structs.
@npoints: the number of elements in the @points array.
@fill_rule: specifies which pixels are included in the region when the polygon
overlaps itself.
@Returns: a new #GdkRegion based on the given polygon.
<!-- ##### ENUM GdkFillRule ##### -->
@@ -131,19 +134,19 @@ included in the region, while areas overlapped an even number of times are not.
<!-- ##### FUNCTION gdk_region_destroy ##### -->
<para>
Destroys a #GdkRegion.
</para>
@region:
@region: a #GdkRegion.
<!-- ##### FUNCTION gdk_region_get_clipbox ##### -->
<para>
Returns the smallest rectangle which includes the entire #GdkRegion.
</para>
@region:
@rectangle:
@region: a #GdkRegion.
@rectangle: returns the smallest rectangle which includes all of @region.
<!-- ##### FUNCTION gdk_region_get_rectangles ##### -->
@@ -158,42 +161,44 @@ included in the region, while areas overlapped an even number of times are not.
<!-- ##### FUNCTION gdk_region_empty ##### -->
<para>
Returns %TRUE if the #GdkRegion is empty.
</para>
@region:
@Returns:
@region: a #GdkRegion.
@Returns: %TRUE if @region is empty.
<!-- ##### FUNCTION gdk_region_equal ##### -->
<para>
Returns %TRUE if the two regions are the same.
</para>
@region1:
@region2:
@Returns:
@region1: a #GdkRegion.
@region2: a #GdkRegion.
@Returns: %TRUE if @region1 and @region2 are equal.
<!-- ##### FUNCTION gdk_region_point_in ##### -->
<para>
Returns %TRUE if a point is in a region.
</para>
@region:
@x:
@y:
@Returns:
@region: a #GdkRegion.
@x: the x coordinate of a point.
@y: the y coordinate of a point.
@Returns: %TRUE if the point is in @region.
<!-- ##### FUNCTION gdk_region_rect_in ##### -->
<para>
Tests whether a rectangle is within a region.
</para>
@region:
@rectangle:
@Returns:
@region: a #GdkRegion.
@rect: a #GdkRectangle.
@Returns: %GDK_OVERLAP_RECTANGLE_IN, %GDK_OVERLAP_RECTANGLE_OUT, or
%GDK_OVERLAP_RECTANGLE_PART, depending on whether the rectangle is inside,
outside, or partly inside the #GdkRegion, respectively.
<!-- ##### ENUM GdkOverlapType ##### -->
@@ -207,22 +212,23 @@ Specifies the possible values returned by gdk_region_rect_in().
<!-- ##### FUNCTION gdk_region_offset ##### -->
<para>
Moves a region the specified distance.
</para>
@region:
@dx:
@dy:
@region: a #GdkRegion.
@dx: the distance to move the region horizontally.
@dy: the distance to move the region vertically.
<!-- ##### FUNCTION gdk_region_shrink ##### -->
<para>
Resizes a region by the specified amount.
Positive values shrink the region. Negative values expand it.
</para>
@region:
@dx:
@dy:
@region: a #GdkRegion.
@dx: the number of pixels to shrink the region horizontally.
@dy: the number of pixels to shrink the region vertically.
<!-- ##### FUNCTION gdk_region_union_with_rect ##### -->
@@ -289,14 +295,15 @@ gdk_region_spans_intersect_foreach().
<!-- ##### FUNCTION gdk_region_spans_intersect_foreach ##### -->
<para>
Calls a function on each span in the intersection of @region and
@spans.
</para>
@region:
@spans:
@n_spans:
@sorted:
@function:
@data:
@region: a #GdkRegion.
@spans: an array of #GdkSpans.
@n_spans: the length of @spans.
@sorted: %TRUE if @spans is sorted wrt. the y coordinate.
@function: function to call on each span in the intersection.
@data: data to pass to @function.
+27 -8
View File
@@ -115,9 +115,6 @@ colors.</para></listitem>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_rgb_init ##### -->
<para>
This function no longer does anything at all. It's completely useless
@@ -278,18 +275,40 @@ start of the next.
<!-- ##### ENUM GdkRgbDither ##### -->
<para>
Selects whether or not GdkRGB applies dithering
to the image on display.
to the image on display. There are three values:
</para>
<itemizedlist>
<listitem>
<para>
%GDK_RGB_DITHER_NONE: Never use dithering.
</para>
</listitem>
<listitem>
<para>
%GDK_RGB_DITHER_NORMAL: Use dithering in 8 bits per pixel (and below)
only.
</para>
</listitem>
<listitem>
<para>
%GDK_RGB_DITHER_MAX: Use dithering in 16 bits per pixel and below.
</para>
</listitem>
</itemizedlist>
<para>
Since GdkRGB currently only handles images with 8 bits per component,
dithering on 24 bit per pixel displays is a moot point.
</para>
@GDK_RGB_DITHER_NONE: Never use dithering.
@GDK_RGB_DITHER_NORMAL: Use dithering in 8 bits per pixel (and below)
only.
@GDK_RGB_DITHER_MAX: Use dithering in 16 bits per pixel and below.
@GDK_RGB_DITHER_NONE:
@GDK_RGB_DITHER_NORMAL:
@GDK_RGB_DITHER_MAX:
<!-- ##### FUNCTION gdk_rgb_cmap_new ##### -->
<para>
-3
View File
@@ -47,9 +47,6 @@ to the X Inter-client Communication Conventions Manual
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### TYPEDEF GdkSelection ##### -->
<para>
The #GdkSelection enumeration contains predefined
+2 -9
View File
@@ -22,11 +22,6 @@ which protects all use of GTK+. That is, only one thread can use GTK+
at any given time.
</para>
<para>
Unfortunately the above holds with the X11 backend only. With the
Win32 backend, GDK calls should not be attempted from multiple threads
at all.
</para>
<para>
You must call g_thread_init() and gdk_threads_init() before executing
any other GTK+ or GDK functions in a threaded GTK+ program.
</para>
@@ -246,9 +241,6 @@ int main (int argc, char *argv[])
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO GDK_THREADS_ENTER ##### -->
<para>
This macro marks the beginning of a critical section in which GDK and GTK+
@@ -295,7 +287,8 @@ Leaves a critical region begun with gdk_threads_enter().
<!-- ##### VARIABLE gdk_threads_mutex ##### -->
<para>
The #GMutex used to implement the critical region for
gdk_threads_enter()/gdk_threads_leave().
gdk_threads_enter()/gdk_threads_leave(). This variable should not be
used directly &mdash; consider it private.
</para>
+4 -7
View File
@@ -51,9 +51,6 @@ then %GDK_VISUAL_STATIC_GRAY.
#GdkImage, #GdkColormap, #GdkRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkVisual ##### -->
<para>
The <type>GdkVisual</type> structure contains information about
@@ -132,7 +129,7 @@ values for display.
<structfield>blue_mask</structfield> fields of the #GdkVisual
structure describe how the components are assembled into a pixel value.
@GDK_VISUAL_DIRECT_COLOR: Each pixel value contains red, green, and blue
components as for %GDK_VISUAL_TRUE_COLOR, but the components are mapped via a
components as for %GDK_TRUE_COLOR, but the components are mapped via a
color table into the final output table instead of being converted directly.
<!-- ##### ENUM GdkByteOrder ##### -->
@@ -239,8 +236,8 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
Deprecated equivalent of g_object_ref().
</para>
@v: a #GdkVisual
@Returns: the same visual
@v:
@Returns:
<!-- ##### MACRO gdk_visual_unref ##### -->
@@ -248,7 +245,7 @@ Deprecated equivalent of g_object_ref().
Deprecated equivalent of g_object_unref().
</para>
@v: a #GdkVisual
@v:
<!-- ##### FUNCTION gdk_visual_get_screen ##### -->
+18 -105
View File
@@ -18,9 +18,6 @@ For example, each #GtkButton has a #GdkWindow associated with it.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkWindow ##### -->
<para>
An opaque structure representing an onscreen drawable.
@@ -141,7 +138,8 @@ ratio.
</para>
@min_width: minimum width of window (or -1 to use requisition, with #GtkWindow only)
@min_height: minimum height of window (or -1 to use requisition, with #GtkWindow only)
@min_height minimum height of window (or -1 to use requisition, with #GtkWindow only)
@min_height:
@max_width: maximum width of window (or -1 to use requisition, with #GtkWindow only)
@max_height: maximum height of window (or -1 to use requisition, with #GtkWindow only)
@base_width: allowed window widths are @base_width + @width_inc * N where N is any integer (-1 allowed with #GtkWindow)
@@ -157,8 +155,8 @@ ratio.
Defines the reference point of a window and the meaning of coordinates
passed to gtk_window_move(). See gtk_window_move() and the "implementation
notes" section of the
<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended
Window Manager Hints</ulink> specification for more details.
<ulink url="http://www.freedesktop.org/standards/wm-spec">extended
window manager hints</ulink> specification for more details.
</para>
@GDK_GRAVITY_NORTH_WEST: the reference point is at the top left corner.
@@ -195,8 +193,8 @@ and behaviour of the window. The hint must be set before mapping the window.
</para>
<para>
See the
<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended
Window Manager Hints</ulink> specification for more details about
<ulink url="http://www.freedesktop.org/standards/wm-spec">extended
window manager hints</ulink> specification for more details about
window types.
</para>
@@ -211,12 +209,6 @@ window types.
@GDK_WINDOW_TYPE_HINT_DOCK: Used for creating dock or panel windows.
@GDK_WINDOW_TYPE_HINT_DESKTOP: Used for creating the desktop background
window.
@GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU:
@GDK_WINDOW_TYPE_HINT_POPUP_MENU:
@GDK_WINDOW_TYPE_HINT_TOOLTIP:
@GDK_WINDOW_TYPE_HINT_NOTIFICATION:
@GDK_WINDOW_TYPE_HINT_COMBO:
@GDK_WINDOW_TYPE_HINT_DND:
<!-- ##### STRUCT GdkWindowAttr ##### -->
<para>
@@ -281,7 +273,7 @@ corresponding flag in #GdkWindowAttributesType.
Deprecated equivalent of g_object_ref()
</para>
@Returns: the window
@Returns:
<!-- ##### MACRO gdk_window_unref ##### -->
@@ -493,17 +485,6 @@ Deprecated equivalent of g_object_unref()
@dy:
<!-- ##### FUNCTION gdk_window_move_region ##### -->
<para>
</para>
@window:
@region:
@dx:
@dy:
<!-- ##### FUNCTION gdk_window_reparent ##### -->
<para>
@@ -552,19 +533,15 @@ Deprecated equivalent of g_object_unref()
Deprecated equivalent to gdk_draw_drawable(), see that function for docs
</para>
@drawable: a #GdkDrawable
@gc: a #GdkGC sharing the drawable's visual and colormap
@x: X position in @drawable where the rectangle should be drawn
@y: Y position in @drawable where the rectangle should be drawn
@source_drawable: the source #GdkDrawable, which may be the same as @drawable
@source_x: X position in @src of rectangle to draw
@source_y: Y position in @src of rectangle to draw
@width: width of rectangle to draw, or -1 for entire @src width
@height: height of rectangle to draw, or -1 for entire @src height
<!-- # Unused Parameters # -->
@drawable: a #GdkDrawable
@xdest: X position in @drawable where the rectangle should be drawn
@ydest: Y position in @drawable where the rectangle should be drawn
@drawable:
@gc:
@x:
@y:
@source_drawable:
@source_x:
@source_y:
@width:
@height:
<!-- ##### FUNCTION gdk_window_raise ##### -->
@@ -902,44 +879,6 @@ backend, <type>MSG</type>s for Win32).
@window:
<!-- ##### FUNCTION gdk_window_input_shape_combine_mask ##### -->
<para>
</para>
@window:
@mask:
@x:
@y:
<!-- ##### FUNCTION gdk_window_input_shape_combine_region ##### -->
<para>
</para>
@window:
@shape_region:
@offset_x:
@offset_y:
<!-- ##### FUNCTION gdk_window_set_child_input_shapes ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_window_merge_child_input_shapes ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_window_set_static_gravities ##### -->
<para>
@@ -1077,15 +1016,6 @@ Deprecated equivalent to gdk_drawable_set_colormap()
@hint:
<!-- ##### FUNCTION gdk_window_get_type_hint ##### -->
<para>
</para>
@window:
@Returns:
<!-- ##### FUNCTION gdk_window_set_skip_taskbar_hint ##### -->
<para>
@@ -1104,15 +1034,6 @@ Deprecated equivalent to gdk_drawable_set_colormap()
@skips_pager:
<!-- ##### FUNCTION gdk_window_set_urgency_hint ##### -->
<para>
</para>
@window:
@urgent:
<!-- ##### FUNCTION gdk_window_get_position ##### -->
<para>
@@ -1154,7 +1075,7 @@ Deprecated equivalent of gdk_drawable_get_size().
Deprecated equivalent of gdk_drawable_get_visual().
</para>
@Returns: the #GdkVisual of the window
@Returns:
<!-- ##### MACRO gdk_window_get_colormap ##### -->
@@ -1216,11 +1137,6 @@ Hyper, Alt, Compose, Apple, CapsLock or ShiftLock.
<para>
Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons.
</para>
<para>
Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped
to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK, %GDK_HYPER_MASK
or %GDK_META_MASK in the state field of key events.
</para>
@GDK_SHIFT_MASK: the Shift key.
@GDK_LOCK_MASK: a Lock key (depending on the modifier mapping of the
@@ -1242,12 +1158,9 @@ or %GDK_META_MASK in the state field of key events.
@GDK_BUTTON3_MASK: the third mouse button.
@GDK_BUTTON4_MASK: the fourth mouse button.
@GDK_BUTTON5_MASK: the fifth mouse button.
@GDK_SUPER_MASK: the Super modifier. Since 2.10
@GDK_HYPER_MASK: the Hyper modifier. Since 2.10
@GDK_META_MASK: the Meta modifier. Since 2.10
@GDK_RELEASE_MASK: not used in GDK itself. GTK+ uses it to differentiate
between (keyval, modifiers) pairs from key press and release events.
@GDK_MODIFIER_MASK: a mask covering all modifier types.
@GDK_MODIFIER_MASK:
<!-- ##### FUNCTION gdk_window_get_parent ##### -->
<para>
+7 -46
View File
@@ -14,9 +14,6 @@ X backend-specific functions
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### MACRO GDK_ROOT_WINDOW ##### -->
<para>
Obtains the Xlib window id of the root window of the current screen.
@@ -62,8 +59,10 @@ Returns the X window belonging to a #GdkWindow.
Returns the display of a #GdkPixmap.
</para>
@pix: a #GdkPixmap.
@pix:
@Returns: an Xlib <type>Display*</type>.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
<!-- ##### MACRO GDK_PIXMAP_XID ##### -->
@@ -71,8 +70,10 @@ Returns the display of a #GdkPixmap.
Returns the X pixmap belonging to a #GdkPixmap.
</para>
@pix: a #GdkPixmap.
@pix:
@Returns: the Xlib <type>XPixmap</type> of @win.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
<!-- ##### MACRO GDK_DISPLAY_XDISPLAY ##### -->
@@ -280,19 +281,6 @@ Another name for GDK_DRAWABLE_XID().
@Returns:
<!-- ##### FUNCTION gdk_pixmap_foreign_new_for_screen ##### -->
<para>
</para>
@screen:
@anid:
@width:
@height:
@depth:
@Returns:
<!-- ##### FUNCTION gdk_window_foreign_new ##### -->
<para>
@@ -373,7 +361,7 @@ Obtains the #GdkFont for the given Xlib font ID, or %NULL if no #GdkFont has
been created for @xid.
</para>
@xid: an Xlib font ID
@xid:
<!-- ##### MACRO gdk_font_lookup_for_display ##### -->
@@ -452,23 +440,6 @@ Since: 2.2
@timestamp:
<!-- ##### FUNCTION gdk_x11_window_move_to_current_desktop ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_x11_display_get_user_time ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_x11_colormap_foreign_new ##### -->
<para>
@@ -540,16 +511,6 @@ Since: 2.2
@display:
<!-- ##### FUNCTION gdk_x11_display_set_cursor_theme ##### -->
<para>
</para>
@display:
@theme:
@size:
<!-- ##### FUNCTION gdk_x11_register_standard_event_type ##### -->
<para>
+97 -163
View File
@@ -27,43 +27,25 @@ IGNORE_HFILES= \
fnmatch.h \
gdk-pixbuf-loader.h \
gtkdebug.h \
gtkdndcursors.h \
gtkentryprivate.h \
gtkfilechooserdefault.h \
gtkfilechooserembed.h \
gtkfilechooserentry.h \
gtkfilechooserprivate.h \
gtkfilechoosersettings.h \
gtkfilechooserutils.h \
gtkfilesystem.h \
gtkfilesystemmodel.h \
gtkfilesystemunix.h \
gtkfilesystemwin32.h \
gtkhsv.h \
gtkiconcache.h \
gtkiconthemeparser.h \
gtkimmodule.h \
gtkintl.h \
gtkkeyhash.h \
gtkmarshal.h \
gtkmnemonichash.h \
gtkpathbar.h \
gtkplugprivate.h \
gtkprintbackend.h \
gtkprinteroption.h \
gtkprinteroptionset.h \
gtkprinteroptionwidget.h \
gtkprinter-private.h \
gtkprint-win32.h \
gtkprintutils.h \
gtkprintoperation-private.h \
gtkprivate.h \
gtkrbtree.h \
gtkrecentchooserdefault.h \
gtkrecentchooserutils.h \
gtkrecentchooserprivate.h \
gtksequence.h \
gtksocketprivate.h \
gtktreedatalist.h \
gtktreeprivate.h \
gtktextbtree.h \
@@ -75,14 +57,11 @@ IGNORE_HFILES= \
gtktexttagprivate.h \
gtktexttypes.h \
gtktextutil.h \
gtktoggleactionprivate.h \
gtktrayicon.h \
gtktypebuiltins.h \
gtkxembed.h \
gtkwin32embed.h \
gtkwin32embedwidget.h \
xdgmime \
xembed.h
xembed.h \
gtktoggleactionprivate.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
@@ -111,7 +90,6 @@ content_files = \
changes-1.2.sgml \
changes-2.0.sgml \
compiling.sgml \
directfb.sgml \
framebuffer.sgml \
glossary.xml \
migrating-checklist.sgml \
@@ -121,11 +99,7 @@ content_files = \
migrating-GtkIconView.sgml \
migrating-GtkAboutDialog.sgml \
migrating-GtkColorButton.sgml \
migrating-GtkAssistant.sgml \
migrating-GtkRecentChooser.sgml \
migrating-GtkLinkButton.sgml \
objects_grouped.sgml \
osx.sgml \
question_index.sgml \
resources.sgml \
text_widget.sgml \
@@ -136,140 +110,104 @@ content_files = \
gtk-update-icon-cache.xml \
visual_index.xml
expand_content_files = \
glossary.xml \
migrating-checklist.sgml \
migrating-GtkAction.sgml \
migrating-GtkComboBox.sgml \
migrating-GtkFileChooser.sgml \
migrating-GtkIconView.sgml \
migrating-GtkAboutDialog.sgml \
migrating-GtkColorButton.sgml \
migrating-GtkAssistant.sgml \
migrating-GtkRecentChooser.sgml \
migrating-GtkLinkButton.sgml \
tree_widget.sgml \
text_widget.sgml \
question_index.sgml
# Images to copy into HTML directory
HTML_IMAGES = \
$(top_srcdir)/gtk/stock-icons/24/gtk-about.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-add.png \
$(top_srcdir)/gtk/stock-icons/20/gtk-apply.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-bold.png \
$(top_srcdir)/gtk/stock-icons/20/gtk-cancel.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-cdrom.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-clear.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-close.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-connect.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-convert.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-copy.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-cut.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-delete.png \
$(top_srcdir)/gtk/stock-icons/48/gtk-dialog-authentication.png \
$(top_srcdir)/gtk/stock-icons/48/gtk-dialog-error.png \
$(top_srcdir)/gtk/stock-icons/48/gtk-dialog-info.png \
$(top_srcdir)/gtk/stock-icons/48/gtk-dialog-question.png \
$(top_srcdir)/gtk/stock-icons/48/gtk-dialog-warning.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-directory.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-disconnect.png \
$(top_srcdir)/gtk/stock-icons/32/gtk-dnd.png \
$(top_srcdir)/gtk/stock-icons/32/gtk-dnd-multiple.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-edit.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-execute.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-file.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-find.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-find-and-replace.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-bottom.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-first-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-first-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-last-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-last-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-goto-top.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-back-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-back-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-down.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-forward-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-forward-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-go-up.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-harddisk.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-network.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-help.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-home.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-index.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-indent-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-indent-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-unindent-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-unindent-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-italic.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-jump-to-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-jump-to-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-justify-center.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-justify-fill.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-justify-left.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-justify-right.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-missing-image.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-new.png \
$(top_srcdir)/gtk/stock-icons/20/gtk-no.png \
$(top_srcdir)/gtk/stock-icons/20/gtk-ok.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-open.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-orientation-landscape.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-orientation-portrait.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-orientation-reverse-landscape.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-orientation-reverse-portrait.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-paste.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-preferences.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-print.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-print-preview.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-properties.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-quit.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-redo-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-redo-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-refresh.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-remove.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-revert-to-saved-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-revert-to-saved-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-floppy.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-save.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-save-as.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-select-all.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-select-color.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-color-picker.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-font.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-sort-ascending.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-sort-descending.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-spell-check.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-stop.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-strikethrough.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-undelete-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-undelete-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-underline.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-undo-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-undo-rtl.png \
$(top_srcdir)/gtk/stock-icons/20/gtk-yes.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-zoom-100.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-zoom-fit.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-zoom-in.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-zoom-out.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-forward-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-forward-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-next-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-next-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-pause.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-play-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-play-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-previous-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-previous-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-record.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-rewind-ltr.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-rewind-rtl.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-media-stop.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-fullscreen.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-leave-fullscreen.png \
$(top_srcdir)/gtk/stock-icons/24/gtk-info.png \
$(top_srcdir)/gtk/stock-icons/stock_about_24.png \
$(top_srcdir)/gtk/stock-icons/stock_add_24.png \
$(top_srcdir)/gtk/stock-icons/stock_apply_20.png \
$(top_srcdir)/gtk/stock-icons/stock_text_bold_24.png \
$(top_srcdir)/gtk/stock-icons/stock_cancel_20.png \
$(top_srcdir)/gtk/stock-icons/stock_cdrom_24.png \
$(top_srcdir)/gtk/stock-icons/stock_clear_24.png \
$(top_srcdir)/gtk/stock-icons/stock_close_24.png \
$(top_srcdir)/gtk/stock-icons/stock_connect_24.png \
$(top_srcdir)/gtk/stock-icons/stock_convert_24.png \
$(top_srcdir)/gtk/stock-icons/stock_copy_24.png \
$(top_srcdir)/gtk/stock-icons/stock_cut_24.png \
$(top_srcdir)/gtk/stock-icons/stock_trash_24.png \
$(top_srcdir)/gtk/stock-icons/stock_dialog_authentication_48.png \
$(top_srcdir)/gtk/stock-icons/stock_dialog_error_48.png \
$(top_srcdir)/gtk/stock-icons/stock_dialog_info_48.png \
$(top_srcdir)/gtk/stock-icons/stock_dialog_question_48.png \
$(top_srcdir)/gtk/stock-icons/stock_dialog_warning_48.png \
$(top_srcdir)/gtk/stock-icons/stock_directory_24.png \
$(top_srcdir)/gtk/stock-icons/stock_disconnect_24.png \
$(top_srcdir)/gtk/stock-icons/stock_dnd_32.png \
$(top_srcdir)/gtk/stock-icons/stock_dnd_multiple_32.png \
$(top_srcdir)/gtk/stock-icons/stock_edit_24.png \
$(top_srcdir)/gtk/stock-icons/stock_exec_24.png \
$(top_srcdir)/gtk/stock-icons/stock_file_24.png \
$(top_srcdir)/gtk/stock-icons/stock_search_24.png \
$(top_srcdir)/gtk/stock-icons/stock_search_replace_24.png \
$(top_srcdir)/gtk/stock-icons/stock_bottom_24.png \
$(top_srcdir)/gtk/stock-icons/stock_first_24.png \
$(top_srcdir)/gtk/stock-icons/stock_last_24.png \
$(top_srcdir)/gtk/stock-icons/stock_top_24.png \
$(top_srcdir)/gtk/stock-icons/stock_left_arrow_24.png \
$(top_srcdir)/gtk/stock-icons/stock_down_arrow_24.png \
$(top_srcdir)/gtk/stock-icons/stock_right_arrow_24.png \
$(top_srcdir)/gtk/stock-icons/stock_up_arrow_24.png \
$(top_srcdir)/gtk/stock-icons/stock_harddisk_24.png \
$(top_srcdir)/gtk/stock-icons/stock_network_24.png \
$(top_srcdir)/gtk/stock-icons/stock_help_24.png \
$(top_srcdir)/gtk/stock-icons/stock_home_24.png \
$(top_srcdir)/gtk/stock-icons/stock_index_24.png \
$(top_srcdir)/gtk/stock-icons/stock_text_indent_24.png \
$(top_srcdir)/gtk/stock-icons/stock_text_unindent_24.png \
$(top_srcdir)/gtk/stock-icons/stock_text_italic_24.png \
$(top_srcdir)/gtk/stock-icons/stock_jump_to_24.png \
$(top_srcdir)/gtk/stock-icons/stock_jump_to_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_align_center_24.png \
$(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 \
$(top_srcdir)/gtk/stock-icons/stock_open_24.png \
$(top_srcdir)/gtk/stock-icons/stock_paste_24.png \
$(top_srcdir)/gtk/stock-icons/stock_preferences_24.png \
$(top_srcdir)/gtk/stock-icons/stock_print_24.png \
$(top_srcdir)/gtk/stock-icons/stock_print_preview_24.png \
$(top_srcdir)/gtk/stock-icons/stock_properties_24.png \
$(top_srcdir)/gtk/stock-icons/stock_exit_24.png \
$(top_srcdir)/gtk/stock-icons/stock_redo_24.png \
$(top_srcdir)/gtk/stock-icons/stock_redo_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_refresh_24.png \
$(top_srcdir)/gtk/stock-icons/stock_remove_24.png \
$(top_srcdir)/gtk/stock-icons/stock_revert_24.png \
$(top_srcdir)/gtk/stock-icons/stock_revert_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_save_24.png \
$(top_srcdir)/gtk/stock-icons/stock_save_as_24.png \
$(top_srcdir)/gtk/stock-icons/stock_colorselector_24.png \
$(top_srcdir)/gtk/stock-icons/stock_color_picker_25.png \
$(top_srcdir)/gtk/stock-icons/stock_font_24.png \
$(top_srcdir)/gtk/stock-icons/stock_sort_ascending_24.png \
$(top_srcdir)/gtk/stock-icons/stock_sort_descending_24.png \
$(top_srcdir)/gtk/stock-icons/stock_spellcheck_24.png \
$(top_srcdir)/gtk/stock-icons/stock_stop_24.png \
$(top_srcdir)/gtk/stock-icons/stock_text_strikethrough_24.png \
$(top_srcdir)/gtk/stock-icons/stock_undelete_24.png \
$(top_srcdir)/gtk/stock-icons/stock_undelete_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_text_underline_24.png \
$(top_srcdir)/gtk/stock-icons/stock_undo_24.png \
$(top_srcdir)/gtk/stock-icons/stock_undo_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_yes_20.png \
$(top_srcdir)/gtk/stock-icons/stock_zoom_1_24.png \
$(top_srcdir)/gtk/stock-icons/stock_zoom_fit_24.png \
$(top_srcdir)/gtk/stock-icons/stock_zoom_in_24.png \
$(top_srcdir)/gtk/stock-icons/stock_zoom_out_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_forward_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_next_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_pause_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_play_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_play_rtl_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_previous_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_record_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_rewind_24.png \
$(top_srcdir)/gtk/stock-icons/stock_media_stop_24.png \
$(srcdir)/images/accel-label.png \
$(srcdir)/images/assistant.png \
$(srcdir)/images/button.png \
$(srcdir)/images/check-button.png \
$(srcdir)/images/color-button.png \
@@ -285,18 +223,14 @@ HTML_IMAGES = \
$(srcdir)/images/icon-view.png \
$(srcdir)/images/image.png \
$(srcdir)/images/label.png \
$(srcdir)/images/link-button.png \
$(srcdir)/images/list-and-tree.png \
$(srcdir)/images/menubar.png \
$(srcdir)/images/messagedialog.png \
$(srcdir)/images/multiline-text.png \
$(srcdir)/images/notebook.png \
$(srcdir)/images/panes.png \
$(srcdir)/images/pagesetupdialog.png \
$(srcdir)/images/printdialog.png \
$(srcdir)/images/progressbar.png \
$(srcdir)/images/radio-group.png \
$(srcdir)/images/recentchooserdialog.png \
$(srcdir)/images/scales.png \
$(srcdir)/images/scrolledwindow.png \
$(srcdir)/images/separator.png \
+11 -10
View File
@@ -178,7 +178,7 @@ How to compile GTK+ itself
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. It is available from
the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.6/">GTK+ FTP
site.</ulink>.
site.</ulink>. GTK+ 2.6 requires Pango 1.8.
</para>
</listitem>
<listitem>
@@ -239,17 +239,18 @@ How to compile GTK+ itself
<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.
fonts and matching them against font names. The
<ulink url="http://www.freedesktop.org/wiki/Software/Xft">Xft2</ulink>
library, distributed with fontconfig, provides support for
scalable 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</ulink>
library directly. Neither backend is mandatory, but the
Xft2 backend is the preferred backend for X and the FreeType
backend is needed by many applications.
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.cairographics.org">Cairo</ulink>
is a graphics library that supports vector graphics and image
compositing. Both Pango and GTK+ use cairo for much of their
drawing.
</para>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 id="building">
+1 -2
View File
@@ -22,8 +22,7 @@ find the GTK+ header files and libraries. This is done with the
</para>
<para>
The following interactive shell session demonstrates how
<literal>pkg-config</literal> is used (the actual output on
your system may be different):
<literal>pkg-config</literal> is used:
<programlisting>
$ pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/atk-1.0
-105
View File
@@ -1,105 +0,0 @@
<refentry id="gtk-directfb">
<refmeta>
<refentrytitle>Using GTK+ on DirectFB</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Using GTK+ on DirectFB</refname>
<refpurpose>
DirectFB-specific aspects of using GTK+
</refpurpose>
</refnamediv>
<refsect1>
<title>Using GTK+ on DirectFB</title>
<para>
The DirectFB port of GTK+ is an implementation of GDK (and therefore GTK+)
on top of the <ulink url="http://www.directfb.org">DirectFB</ulink>
libraries.
</para>
<para>
Like the obsolete linux-fb port of GTK+, it runs on the Linux framebuffer,
but the DirectFB libraries provide additional features like hardware graphics
acceleration, input device handling and abstraction and an integrated windowing
system.
</para>
<refsect2><title>Build requirements</title>
<para>
Beyond the usual GTK+ build requirements, the DirectFB backend (obviously) needs
the DirectFB libraries (at least 0.9.21) and Cairo compiled with DirectFB support.
</para>
</refsect2>
<!--
FIXME: it seems most of the options listed in _gdk_windowing_args
are ignored, and they need to be described by somebody who knows
what they are supposed to do...
<refsect2><title>DirectFB-specific commandline options</title>
<para>
The DirectFB GDB backend can be influenced with some additional
command line arguments.
</para>
<formalpara>
<title><systemitem>dfb-help</systemitem></title>
<para>
Display help for DirectFB-specific commandline options.
</para>
</formalpara>
<formalpara>
<title><systemitem>dfb=<replaceable>value</replaceable></systemitem></title>
<para>
Possible values: sdl, system.
</para>
</formalpara>
<formalpara>
<title><systemitem>disable-aa-fonts=<replaceable>number</replaceable></systemitem></title>
<para>
If <replaceable>number</replaceable> is 1, disable antialising for fonts.
</para>
</formalpara>
<formalpara>
<title><systemitem>argb-font=<replaceable>number</replaceable></systemitem></title>
<para>
If <replaceable>number</replaceable> is 1, enable ARGB fonts.
</para>
</formalpara>
<formalpara>
<title><systemitem>transparent-unfocused=<replaceable>number</replaceable></systemitem></title>
<para>
If <replaceable>number</replaceable> is 1, make unfocused windows transparent.
</para>
</formalpara>
<formalpara>
<title><systemitem>glyph-surface-cache=<replaceable>number</replaceable></systemitem></title>
<para>
Set the size of the glyph surface cache. The default value is 8.
</para>
</formalpara>
<formalpara>
<title><systemitem>enable-color-keyring=<replaceable>number</replaceable></systemitem></title>
<para>
If <replaceable>number</replaceable> is 1, turn on the color keyring.
</para>
</formalpara>
-->
</refsect1>
</refentry>
-7
View File
@@ -15,13 +15,6 @@ Linux framebuffer aspects of using GTK+
<refsect1>
<title>GTK+ for the Linux Framebuffer</title>
<note><para>
The linux-fb GDK target is unmaintained and may not work or even
compile. The information below may still be helpful; also there are
several patches in bugzilla which may help with making the linux-fb
code compilable.
</para></note>
<para>
The linux-fb port of GTK+, also known as GtkFB is an implementation of
GDK (and therefore GTK+) that runs on the Linux framebuffer. It runs in

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