Compare commits

..

590 Commits

Author SHA1 Message Date
Matthias Clasen
58a1af804c 2.7.0 2005-06-20 22:06:27 +00:00
Priit Laes
f824cb5a43 Translation updated by Ivar Smolin.
2005-06-21  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-06-20 21:02:09 +00:00
Christophe Merlet
9233a5133d Updated French translation. 2005-06-20 20:59:56 +00:00
Martin Willemoes Hansen
62ff187eeb Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-20 19:32:38 +00:00
Matthias Clasen
6e30650fe4 Variant of gtk_window_present which takes a timestamp. (#166379, Elijah
2005-06-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkwindow.h:
	* gtk/gtkwindow.c (gtk_window_present_with_time): Variant of
	gtk_window_present which takes a timestamp.  (#166379, Elijah Newren)
2005-06-20 18:19:34 +00:00
Matthias Clasen
ae80a9bec3 Ignore some more headers. 2005-06-20 05:59:03 +00:00
Matthias Clasen
dc9f9f982f Add a forgotten symbol 2005-06-20 05:14:46 +00:00
Matthias Clasen
8e7a7b56e0 Updates 2005-06-20 03:58:26 +00:00
Kristian Rietveld
d7cfee4b16 added a check which avoids processing updates on bin_window and scrolling
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): added a
	check which avoids processing updates on bin_window and scrolling
	if the node is already visible. (#170600, Billy Biggs).
2005-06-19 19:22:46 +00:00
Kristian Rietveld
1bdf71943f only keep the row at the same position if the full row is visible.
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): only keep the
	row at the same position if the full row is visible. (#304623,
	Jorn Baayen).
2005-06-19 18:40:35 +00:00
Kristian Rietveld
9d1a05c3b9 set dy to zero if treeview's height is smaller than the current page_size
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): set dy to zero
	if treeview's height is smaller than the current page_size (just
	like we do elsewhere).
2005-06-19 18:00:56 +00:00
Kristian Rietveld
e02fe68aeb Make mousewheel scrolling possible in typeahead mode, suggestion from
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	Make mousewheel scrolling possible in typeahead mode, suggestion
	from Reinout van Schouwen (#307898).

	* gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
	connect treeview search window to scroll_event signal,
	(gtk_tree_view_search_scroll_event): implement.
2005-06-19 17:37:07 +00:00
Kristian Rietveld
afc4b03c73 pass the event on to treeview, so it has a change of selecting a row, etc.
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_button_press_event): pass
	the event on to treeview, so it has a change of selecting a row, etc.
	(#169677, Kirk Bridger).
2005-06-19 13:42:13 +00:00
Kristian Rietveld
d4fdc6b7a9 This commit includes a fix for #169463, Stefan Kost.
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	This commit includes a fix for #169463, Stefan Kost.

	* gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_get_size):
	when cell_area is set, return cell_area width/height as width/height,
	so the focus rectangle will be drawn correctly.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): drop unneeded get
	of focus-line-width property,
	(validate_row): take focus_line_width into account.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	also take focus_line_width into account when calculating the cell_area
	y and height (before, we only took it into account when calculating
	x and width).
2005-06-19 12:44:12 +00:00
Matthias Clasen
a2ea759334 Fix a warning 2005-06-19 04:44:44 +00:00
Matthias Clasen
b6e4e4cb0c Add an ignore-hidden property with getter and setter. (#171612, Christian
2005-06-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtksizegroup.[hc]: Add an ignore-hidden property
	with getter and setter.  (#171612, Christian Neumair)
2005-06-19 04:16:28 +00:00
Matthias Clasen
e109b31b0a Make this work for inserting before/after an existing menuitem or
2005-06-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Make this
	work for inserting before/after an existing menuitem or
	toolitem.  (#155946, Christian Persch)

	* tests/testmerge.c (delayed_toggle_dynamic): Test the
	"insert after" functionality of gtk_ui_manager_add_ui.
2005-06-19 03:55:12 +00:00
Matthias Clasen
be65ec92b7 Add bug ref 2005-06-19 03:20:51 +00:00
Matthias Clasen
64bfd86b5b Allow to construct menu tool buttons.
2005-06-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.c: Allow to construct menu tool buttons.

	* demos/gtk-demo/appwindow.c: Demonstrate menu tool buttons
	constructed with GtkUIManager.
2005-06-19 03:20:07 +00:00
Matthias Clasen
58a30d5f5a Make this function public. (#64792, Havoc Pennington)
2005-06-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkimage.h:
	* gtk/gtkimage.c (gtk_image_clear): Make this function
	public.  (#64792, Havoc Pennington)
2005-06-19 02:02:09 +00:00
Kristian Rietveld
6db99a9b8f undo merging of the separate loop setting cell data with cell drawing loop
2005-06-18  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): undo merging
	of the separate loop setting cell data with cell drawing loop
	(introduced in revision 1.280), since this breaks focus handling
	wrt special cells.
2005-06-18 12:11:26 +00:00
Manish Singh
8e3ea42aba remove GDK_CURSOR and GDK_IS_CURSOR, instance checks don't work on boxed
Sat Jun 18 04:22:51 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkcursor.h: remove GDK_CURSOR and GDK_IS_CURSOR, instance
        checks don't work on boxed types.

        * gdk/x11/gdkcursor-x11.c:
        * gdk/gdkcursor.c: make return_if_fail checks != NULL instead of
        GDK_IS_CURSOR.
2005-06-18 11:25:14 +00:00
Manish Singh
2122756189 remove unused variable height_old.
Sat Jun 18 04:21:58 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeview.c (do_presize_handler): remove unused variable
        height_old.
2005-06-18 11:22:44 +00:00
Matthias Clasen
7645a361ba Typo fixes 2005-06-18 05:33:55 +00:00
Matthias Clasen
28e712df0a Fix 308111 2005-06-18 04:26:47 +00:00
Matthias Clasen
fb6ce33533 Fix nl_langinfo() use 2005-06-18 04:19:29 +00:00
Matthias Clasen
23fabedc9d Support the ICCCM urgency hint. (#61858, Havoc Pennington)
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	Support the ICCCM urgency hint.  (#61858, Havoc Pennington)

	* gtk/gtk.symbols:
	* gtk/gtkwindow.[hc]: Add a GtkWindow::urgency-hint property
	with getter and setter.

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_urgency_hint):
	Add a setter for the urgency hint.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store
	urgency hint here.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set the urgency
	hint in the WM_HINTS property when appropriate.
2005-06-17 20:19:32 +00:00
Kristian Rietveld
015b3c5671 Fix #160281, testcase from Peter Bloomfield.
2005-06-17  Kristian Rietveld  <kris@gtk.org>

	Fix #160281, testcase from Peter Bloomfield.

	* gtk/gtktreeview.c (do_presize_handler): always size request
	and update adjustments in fixed height mode,
	(gtk_tree_view_build_tree): if a fixed height is set, set this
	height on newly added nodes.
2005-06-17 19:44:53 +00:00
Tor Lillqvist
9c8f987df7 Set the actions and suggested_action fields in the GdkDragContext to
2005-06-17  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Set the actions
	and suggested_action fields in the GdkDragContext to
	GDK_ACTION_COPY. Otherwise apps that check the suggested_action
	field, like eog, won't accept dropped files.
2005-06-17 19:41:01 +00:00
Matthias Clasen
4e077183cc Define GDK_IS_CURSOR() and GDK_CURSOR().
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcursor.h: Define GDK_IS_CURSOR() and GDK_CURSOR().
2005-06-17 19:37:29 +00:00
Matthias Clasen
3d6ed0595f Improve some return_if_fail checks, and add the missing non-Xcursor
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c:
	* gdk/gdkcursor.c: Improve some return_if_fail checks,
	and add the missing non-Xcursor fallback for
	_gdk_x11_cursor_update_theme(), noticed by Jeroen
	Zwartepoorte.
2005-06-17 19:27:04 +00:00
Matthias Clasen
c06b5609d2 Document several button signals as not useful. `
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c (gtk_button_class_init): Document
	several button signals as not useful.
`
2005-06-17 18:42:49 +00:00
Matthias Clasen
7535bc04f8 Resize the popup if necessary. (#308076, Vincent Noel)
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_complete):
	Resize the popup if necessary.  (#308076, Vincent Noel)
2005-06-17 18:26:25 +00:00
Matthias Clasen
7f47f6b10a Queue a draw on the old and new focus widgets, if their defaultness
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_real_set_focus): Queue a
	draw on the old and new focus widgets, if their defaultness
	changes.  (#305607, Billy Biggs)
2005-06-17 17:36:47 +00:00
Kristian Rietveld
0771297449 make sure the row above 'above_path' is always in a validated state, so it
2005-06-17  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): make sure the row
	above 'above_path' is always in a validated state, so it does
	not mess up scrolling. (#303319, testcase from Billy Biggs).
2005-06-17 17:34:40 +00:00
Matthias Clasen
beb73ece8f Handle cursor theme changes for cached cursors which are not associated
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkcursor-x11.c: Handle cursor theme changes
	for cached cursors which are not associated with a window
	at the time of the theme change, by storing a serial
	number in each cursor, and updating the theme_serial
	counter whenever the cursor theme changes.

	* gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
	Private function to update a cursor to the current
	cursor theme if necessary.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_cursor): Call
	_gdk_x11_cursor_update_theme() here.
2005-06-17 17:26:24 +00:00
Owen Taylor
c96795ffb3 Fix #if G_BYTE_ORDER == GDK_LSB_FIRST.
2005-06-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Fix
        #if G_BYTE_ORDER == GDK_LSB_FIRST.
2005-06-17 14:17:43 +00:00
Kristian Rietveld
b060f6e12d don't try to update the top_row rowref ourselves here, but just have
2005-06-17  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): don't try to update
	the top_row rowref ourselves here, but just have _dy_to_top_row()
	do it,
	(gtk_tree_view_scroll_to_cell): handle scrolling via
	validate_visible_area() if the treeview is not visible or needs
	reallocation. (#165246, Nickolay V. Shmyrev).
2005-06-17 14:11:19 +00:00
Kristian Rietveld
51f11dd497 Fixes #307914 (Alexander Larsson), fixing some breakage caused by my
2005-06-17  Kristian Rietveld  <kris@gtk.org>

	Fixes #307914 (Alexander Larsson), fixing some breakage caused
	by my previous commit.

	* gtk/gtktreeview.c (validate_visible_area): force dy to be zero
	when it fits on a single page,
	(scroll_sync_handler): same here.
2005-06-17 11:38:22 +00:00
Rajesh Ranjan
2cc2c1781c updated by rranjan@redhat.com 2005-06-17 08:50:48 +00:00
Martin Willemoes Hansen
ab5d94b012 Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-17 07:04:59 +00:00
Rajesh Ranjan
eff27977db updated by rranjan@redhat.com 2005-06-17 06:43:55 +00:00
Adam Weinberger
1af6bdfed3 Updated Canadian English translation.
2005-06-17  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-06-17 06:10:58 +00:00
Manish Singh
be53636ec1 remove unused variable.
Thu Jun 16 15:33:42 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable.

        * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use
        g_return_val_if_fail.

        * gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y
        for all cases.

        * gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image
        takes a GtkWidget, not a GtkImage.
2005-06-16 22:35:45 +00:00
Matthias Clasen
2ee17f4875 Simplify the code and respect the show-button-images setting. (#307941,
2005-06-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (button_new): Simplify
	the code and respect the show-button-images setting.
	(#307941, Vincent Noel)
2005-06-16 16:44:08 +00:00
Matthias Clasen
17441e5e7c Update the RGBA cursor if an icon is set after the cursor has been
* gtk/gtkdnd.c: Update the RGBA cursor if an
	icon is set after the cursor has been constructed.
	Also handle repeated setting of icons correctly.
2005-06-16 16:06:54 +00:00
Matthias Clasen
8f95bb18f6 Add some more docs. (#307818, Christian Persch)
2005-06-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c (gtk_button_set_image): Add some more
	docs.  (#307818, Christian Persch)
2005-06-16 12:51:00 +00:00
Matthias Clasen
c693180a1a Forgotten file 2005-06-16 12:49:46 +00:00
Matthias Clasen
15161e3a11 Update all fields 2005-06-16 05:18:33 +00:00
Francisco Javier F. Serrador
b0e1d51756 Updated Spanish translation.
2005-06-16  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-06-15 22:33:30 +00:00
Matthias Clasen
19b9451ce7 Get red and blue in place.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
	red and blue in place.
2005-06-15 21:22:54 +00:00
Matthias Clasen
5870262ac3 Fox doc formatting, pointed out by Kjartan Maraas.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_parse_geometry): Fox doc
	formatting, pointed out by Kjartan Maraas.
2005-06-15 20:36:27 +00:00
Matthias Clasen
df517cb1d5 Add two new settings, gtk-cursor-theme-name and gtk-cursor-theme-size to
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c: Add two new settings,
	gtk-cursor-theme-name and gtk-cursor-theme-size to
	control the cursor theme.

	* gdk/x11/gdkevents-x11.c: Add two new X settings,
	Gtk/CursorThemeName and Gtk/CursorThemeSize, and map
	these to the gtk settings.

	* tests/testgtk.c (create_cursors): Add a cursor theme
	testcase.
2005-06-15 19:25:49 +00:00
Matthias Clasen
3c96358fd1 Keep a reference to the GdkCursor and add a private getter for it, so that
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.[hc]: Keep a reference to the
	GdkCursor and add a private getter for it, so that we can
	update the cursor when the cursor theme changes.

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
	New function to change the cursor theme.
2005-06-15 18:37:18 +00:00
Matthias Clasen
cd87226986 Remove a lot of pointless g_return_if_fail() non-NULL checks.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Remove a lot of pointless
	g_return_if_fail() non-NULL checks.
2005-06-15 16:59:20 +00:00
Matthias Clasen
abb3b2e708 Make make check happier 2005-06-15 06:03:54 +00:00
Matthias Clasen
0839bde18e Fix make check 2005-06-15 05:55:02 +00:00
Rajesh Ranjan
88272dc7f3 updated by rranjan@redhat.com 2005-06-15 04:34:10 +00:00
Matthias Clasen
f5bf23dafd Fix some docs 2005-06-15 04:20:11 +00:00
Matthias Clasen
eee3d97477 Fix 307689 2005-06-15 03:54:10 +00:00
Federico Mena Quintero
cd3c641ce4 Merged from gtk-2-6:
2005-06-14  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fix #302087:

	* gtk/gtkfilechooserdefault.c (list_selection_changed): Emit
	"selection-changed" and do the normal housekeeping even if we are
	in SAVE mode and there is nothing selected.  We didn't emit that
	signal if we were in SAVE mode and unselect_all() got called.
	(gtk_file_chooser_default_unselect_all): Call
	pending_select_paths_free() so that we cancel any asynchronous
	selections.
	(gtk_file_chooser_default_set_current_name): Likewise.
2005-06-15 01:03:21 +00:00
Hubert Figuiere
de6ce87069 file .cvsignore was initially added on branch gtk-2-6-macosx. 2005-06-15 01:02:55 +00:00
Federico Mena Quintero
fb323cfb0c Merged from gtk-2-6:
2005-06-14  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fixes #307640:

	* gtk/gtkfilechooserdefault.c
	(gtk_file_chooser_default_should_respond): Oops, I broke SAVE
	mode.  If the parent path is a folder, only create a subfolder if
	we are in CREATE_FOLDER mode; if we are in SAVE mode, just return
	and respond.  Also, pick up the case where the user types
	"dirname/" instead of "dirname".
	(check_save_entry): Make the return type void.  Add some return
	parameters so that we can do more thorough checking.
	(gtk_file_chooser_default_get_paths): If the file part is empty
	and we are in SAVE mode, return an empty selection.
2005-06-14 23:30:12 +00:00
Kristian Rietveld
5641d252be Patch for #163214 (reported by Tommi Komulainen) and fixes some other
2005-06-15  Kristian Rietveld  <kris@gtk.org>

	Patch for #163214 (reported by Tommi Komulainen) and fixes some
	other scrolling/validation related bugs along the why.

	* gtk/gtktreeview.c (gtk_tree_view_size_request): run
	do_validate_rows once and don't queue a size request there,
	(gtk_tree_view_size_allocate): don't update vadj value without
	reason, sync top_row/dy after the window sizes and adjustments
	are in sync again,
	(validate_visible_area): always update dy when scrolling,
	manually set top_row here after changing the vadj (don't depend
	on _adjustment_changed and top_row/dy sync to do this), since we
	now always set top_row here correctly, we can always free
	scroll_to_path at the end which avoids infinite expose loops,
	(do_validate_rows): add queue_resize boolean, remove top_row/dy
	sync here, we cannot do it safely at this place since the
	window sizes and adjustments are out of sync,
	(validate_rows), (validate_rows_handler): update call to
	do_validate_rows().
2005-06-14 22:26:04 +00:00
Matthias Clasen
933ae28567 Updates 2005-06-14 20:57:16 +00:00
Matthias Clasen
daab95c294 Add a stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_name): Add a
	stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14 20:43:20 +00:00
Matthias Clasen
920b5749b3 Use named cursors for the DND cursors, the names are "dnd-none",
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	Use named cursors for the DND cursors, the names are "dnd-none",
	"dnd-copy", "dnd-link", "dnd-move" and "dnd-ask". Also use an RGBA
	cursor instead of cursor+window when possible. This saves
	roundtrips during the drag operation, and makes translucent icons
	possible.

	* gtk/gtkdndcursors.h: New file, containing inlined pixbufs
	for the default dnd cursors.

	* gtk/gtkdnd.c (struct _GtkDragSourceInfo): Store the cursors
	used during the drag here, also store the icon pixbuf here.

	* gtk/gtkdnd.c (drag_cursors): Store the cursor names here. Also
	switch the default cursors from xbm to inlined pixbufs.

	* gtk/gtkdnd.c (gtk_drag_get_cursor): This function now takes the
	GtkDragSourceInfo as well, since it has to composite the
	drag-specific cursors. The cursors combined from the image of
	the themed cursor and the icon_pixbuf stored in the info.

	* gtk/gtkdnd.c (gtk_drag_begin_internal): Don't set the default
	icon if there is an icon_pixbuf, which will be composited into
	the cursor later.

	* gtk/gtkdnd.c (set_icon_stock_pixbuf): If appropriate, store
	the pixbuf in the info struct for later compositing into the
	cursor instead of creating an icon window.

	* gtk/gtkdnd.c (gtk_drag_drop_finished): If we used an
	RGBA cursor for the drag, and need to display the cancel
	animation, construct the icon window here.

	* gtk/gtkdnd.c (gtk_drag_source_info_destroy): Unref the
	drag-specific cursors and the icon_pixbuf when done with
	the drag.
2005-06-14 19:58:10 +00:00
Matthias Clasen
d1f2cb63d9 Use a named cursor with the name "color-picker", when available.
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcolorsel.c (make_picker_cursor): Use a named cursor
	with the name "color-picker", when available.
2005-06-14 17:16:15 +00:00
Matthias Clasen
2fad80a6bd Forgotten file 2005-06-14 16:05:52 +00:00
Matthias Clasen
6b5b269844 New functions to construct named cursors and to get the image used for a
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image)
	(gdk_cursor_new_from_name): New functions to construct named
	cursors and to get the image used for a cursor.
2005-06-14 15:10:13 +00:00
Martin Willemoes Hansen
e5dab4ac8f Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-14 09:12:06 +00:00
Hubert Figuiere
cde31863f7 file Makefile.am was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
5ed636a4c4 file gdkdisplay-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
6b3346d084 file gdkdisplay-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
2ba385cd59 file gdkdrawable-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
df3553892d file gdkevents-macosx.c was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
0c099a014d file gdkevents-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
304142d003 file gdkgc-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
678643f039 file gdkmacosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
0b31c196ce file gdkmain-macosx.c was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
4896d79de2 file gdknsview-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
d757e0ca09 file gdkpango-macosx.c was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
c880c2b371 file gdkpixmap-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
78fce4d995 file gdkprivate-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
3896a3f545 file gdkscreen-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
94fe6e8a3b file gdkscreen-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
6599ff588c file gdkwindow-macosx.h was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Hubert Figuiere
1ec60bab08 file gdkwindow-macosx.m was initially added on branch gtk-2-6-macosx. 2005-06-14 02:25:58 +00:00
Matthias Clasen
60113bedc9 Rework the way in which rerooting of the path bar is done, implementing
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.[hc]: Rework the way in which rerooting of the
	path bar is done, implementing the following principles:
	(#137289, patch by Benjamin Otte)

	1. Re-root only if $HOME is an ancestor of the current path.

	2. When re-rooting, make sure the Left arrow appears in the path
	bar, so that you can navigate up from $HOME to /.  In that case,
	make sure the Right arrow doesn't appear if the sub-hierarchy from
	$HOME to the cwd fits in the window.

	3. Make sure that hitting Alt-Up takes you always one folder up,
	even when the path bar is re-rooted.
2005-06-13 19:18:54 +00:00
Matthias Clasen
9962a15cba Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
	Try harder not to modify readonly strings. (#307541, Torsten Schoenfeld)
2005-06-13 19:09:06 +00:00
Theppitak Karoonboonyanan
7c885b9057 Don't translate placeholders, to be consistent with other packages.
2005-06-13  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Don't translate placeholders, to be consistent with other
	packages.
2005-06-13 16:43:22 +00:00
Terance Sola
49160b1b37 Updated Norwegian Bokml translation. Same.
2005-06-13  Terance Sola  <terance@yse.net>

	* nb.po: Updated Norwegian Bokml translation.
	* no.po: Same.
2005-06-13 16:02:25 +00:00
Matthias Clasen
ae1e9866d0 Free the data of the row before overwriting it. (#307490, Kjartan Maraas)
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_update_current_folder):
	Free the data of the row before overwriting it.  (#307490,
	Kjartan Maraas)
2005-06-13 13:50:49 +00:00
Kjartan Maraas
58b9aed17a Don't leak the cairo context. Closes bug #307426.
2005-06-13  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkcalendar.c: (calendar_paint_arrow): Don't
	leak the cairo context. Closes bug #307426.
2005-06-13 07:57:02 +00:00
Matthias Clasen
2e3ff48627 Add new functions.
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add new functions.
2005-06-13 05:23:41 +00:00
Matthias Clasen
4b14b2d4bd Make invisible text work a bit better (#66194, patch by Jeroen
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	Make invisible text work a bit better (#66194, patch by
	Jeroen Zwartepoorte)

	* gtk/gtk.symbols:
	* gtk/gtktextiter.[hc]: Add function to move by
	visible lines.

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal):
	Skip invisible text when moving by paragraphs.

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_visually):
	Skip invisible lines here too.
2005-06-13 05:15:10 +00:00
Matthias Clasen
f66144459c Some more details (#307384, Billy Biggs)
2005-06-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkfontsel.sgml: Some more details (#307384, Billy
	Biggs)
2005-06-13 04:23:20 +00:00
Matthias Clasen
8cdee385b9 Don't leak the format names. (#307190, Morten Welinder)
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_add_image_targets):
	Don't leak the format names.  (#307190, Morten Welinder)
2005-06-12 21:01:21 +00:00
Kjartan Maraas
5ee5b7c4b5 Plug a leak. Closes bug #307281.
2005-06-12  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk/x11/gdkasync.c: (send_event_handler): Plug
	a leak. Closes bug #307281.
2005-06-12 16:24:10 +00:00
Miloslav Trmac
272d6d3b63 Updated Czech translation.
2005-06-12  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-06-12 16:17:42 +00:00
Martin Willemoes Hansen
0194df88a3 Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-12 13:53:15 +00:00
Terance Sola
04dba161e9 Updated Norwegian translation. Updated Norwegian translation.
2005-06-12  Terance Sola  <terance@lyse.net>

	* nb.po: Updated Norwegian translation.
	* no.po: Updated Norwegian translation.
2005-06-12 13:47:05 +00:00
Theppitak Karoonboonyanan
db04099523 Updated Thai translation.
2005-06-12  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2005-06-12 10:20:41 +00:00
Matthias Clasen
605073b0b9 Allow localization of the format in which the year is displayed. (#135451,
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcalendar.c (calendar_paint_header):
	(gtk_calendar_size_request): Allow localization of the
	format in which the year is displayed.  (#135451, Paisa
	Seeluangsawat)
2005-06-12 06:59:43 +00:00
Matthias Clasen
3febaff1e4 Try to handle the situation that the borders are larger than the area we
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* pixbuf-render.c (theme_pixbuf_render): Try to
	handle the situation that the borders are larger
	than the area we are rendering.  (#169731,
	Benjamin Otte)
2005-06-12 06:04:40 +00:00
Matthias Clasen
411241fb26 Cleanup. (#169648, Fabricio Barros Cabral)
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gdk/*.h: Cleanup.  (#169648, Fabricio Barros Cabral)
2005-06-12 05:32:25 +00:00
Matthias Clasen
28bebc863a Small doc additions.
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcairo.c: Small doc additions.
2005-06-12 05:20:04 +00:00
Matthias Clasen
793591fcf0 Check start_button_mask before starting a drag. (#149058, Andreas Volz)
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row):
	Check start_button_mask before starting a drag.  (#149058,
	Andreas Volz)
2005-06-12 05:13:54 +00:00
Matthias Clasen
7c631d5cb0 Support .hidden files. (#129170, Sayamindu Dasgupta, patch by Jan Arne
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c: Support .hidden files.  (#129170,
	Sayamindu Dasgupta, patch by Jan Arne Petersen)
2005-06-12 04:48:16 +00:00
Matthias Clasen
e3bf3653ac Updates.
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates.
2005-06-12 03:38:02 +00:00
Marcel Telka
b9b369944b Updated Slovak translation.
2005-06-11  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-06-11 20:16:28 +00:00
Funda Wang
f53d23cfaf Updated Simplified Chinese translation 2005-06-11 18:08:14 +00:00
Francisco Javier F. Serrador
373ceb4adf Updated Spanish translation.
2005-06-11  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-06-11 11:53:43 +00:00
Martin Willemoes Hansen
33cd846e9a Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-11 08:52:09 +00:00
Matthias Clasen
8cc74c3911 More docs provided by Owen Taylor.
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_app_paintable): More docs
	provided by Owen Taylor.
2005-06-11 05:51:55 +00:00
Matthias Clasen
0dcce7e40c Add gtk_icon_view_get_visible_range
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add gtk_icon_view_get_visible_range
2005-06-11 05:17:17 +00:00
Matthias Clasen
50830412b0 Add a function to determine what parts of the model are visible. (#306726,
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_get_visible_range):
	Add a function to determine what parts of the model are
	visible.  (#306726, Jonathan Blandford)
2005-06-11 05:15:10 +00:00
Matthias Clasen
9d274e0e56 Treat backup files the same way as hidden files, to be closer to what
2005-06-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c (create_file_info): Treat backup
	files the same way as hidden files, to be closer to what
	Nautilus does.  (#136196, Sean Middleditch)
2005-06-11 04:38:43 +00:00
Matthias Clasen
fb023e8c09 Don't modify strings returned from gettext().
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaccellabel.c (_gtk_accel_label_class_get_accelerator_label):
	Don't modify strings returned from gettext().
2005-06-11 02:27:19 +00:00
Manish Singh
5a01db227e don't use deprecated gdk_gc_unref function.
Fri Jun 10 19:06:03 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtktextdisplay.c (render_para): don't use deprecated
        gdk_gc_unref function.
2005-06-11 02:06:56 +00:00
Matthias Clasen
43f263a031 Allow setting paragraph background. (#81045, Gustavo Carneiro, patch by
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	Allow setting paragraph background.  (#81045, Gustavo
	Carneiro, patch by Jeroen Zwartepoorte)

	* gtk/gtktextlayout.c (set_para_values): Propagate
	pg_bg_color to the display struct.
	(gtk_text_layout_free_line_display): Free it here.

	* gtk/gtktextdisplay.c (render_para): If pg_bg_color
	is set, draw a rectangle in that color behind
	the paragraph.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Add
	paragraph-background, paragraph-background-gdk and
	paragraph-background-set properties.
	(set_pg_bg_color): A setter for paragraph-background.

	* gtk/gtktextlayout.h (struct _GtkTextLineDisplay): Add
	pg_bg_color.

	* gtk/gtktexttag.h (struct _GtkTextAttributes): Add
	pg_bg_color.
	(struct _GtkTextTag): Add pg_bg_color_set.
2005-06-10 20:05:08 +00:00
Kjartan Maraas
3003d2edc4 Destroy the cairo surface when done with it. Plugs a fairly large leak in
2005-06-10  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk/gdkcairo.c: (gdk_cairo_set_source_pixbuf): Destroy the
	cairo surface when done with it. Plugs a fairly large leak in
	some cases.
	==6014== 1999824 (115640 direct, 1884184 indirect) bytes in
	826 blocks are definitely lost in loss record 25239 of 25250
	Like this from nautilus.
2005-06-10 19:53:47 +00:00
Michael Natterer
fa6f8b9401 Add gtk_action_get_accel_closure
2005-06-10  Michael Natterer  <mitch@imendio.com>

	* gtk/gtk-sections.txt: Add gtk_action_get_accel_closure
2005-06-10 19:12:32 +00:00
Michael Natterer
e4384dcadb gtk/gtk.symbols new function to get an action's accel_closure (Fixes
2005-06-10  Michael Natterer  <mitch@imendio.com>

	* gtk/gtk.symbols
	* gtk/gtkaction.[ch] (gtk_action_get_accel_closure): new function
	to get an action's accel_closure (Fixes #141750 and #148106).
2005-06-10 19:11:31 +00:00
Åsmund Skjæveland
181da436d4 Updated Norwegian Nynorsk translation.
2005-06-10  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2005-06-10 13:06:16 +00:00
Martin Willemoes Hansen
4e73c03f20 Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-10 08:21:49 +00:00
Matthias Clasen
79d82223a2 Generate N_() calls for translatable key names.
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gen-keyname-table.pl: Generate N_() calls for
	translatable key names.

	* gdk/keynames.txt: Mark some key names as translatable.

	* gdk/keyname-table.h: Regenerated.

	* gtk/gtkaccellabel.c (gtk_accel_label_class_init): Add
	some context to the msg ids for keyboard modifiers and
	key names.
	(_gtk_accel_label_class_get_accelerator_label): Try to
	translate key names.  (#300224, Christian Rose)
2005-06-10 06:41:04 +00:00
Federico Mena Quintero
ab44ea2b8c Merged from gtk-2-6:
2005-06-10  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fixes #162358:

	* gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't return
	immediately if we are in CREATE_FOLDER mode, so that we can fill
	the entry with the newly-selected folder.
	(gtk_file_chooser_default_set_property): Warn against turning on
	multiple selection for CREATE_FOLDER mode, or about setting that
	action while multiple selection is on.
	(update_chooser_entry): Change the entry's contents as well if we
	are in CREATE_FOLDER mode.  If nothing is selected, clear the
	chooser entry.
	(trap_activate_cb): Don't trap enter/space if modifiers are
	pressed.  This lets one use Ctrl-space to toggle rows in multiple
	selection mode.
	(gtk_file_chooser_default_should_respond): Clean up the if-chain
	mess of special cases by using an array to determine what to do.
	Also, for the save-entry case in CREATE_FOLDER mode, actually fix
	the bug where the file chooser would switch to an existing folder
	rather than confirming with it, and create the folder ourselves.
	(error_creating_folder_over_existing_file_dialog): New function.

	* gtk/gtkfilechooserentry.c (check_completion_callback): Only
	insert the common prefix if we are in an "open" mode.  Use a
	helper function.
	(append_common_prefix): New helper function; code moved over from
	check_completion_callback().
	(find_common_prefix): New helper function.
	(gtk_file_chooser_entry_focus): Append the common prefix if the
	user requests it explicitly.
2005-06-10 05:54:28 +00:00
Federico Mena Quintero
252e7dfa84 Pass the correct size to realloc(). Fixes
2005-06-10  Federico Mena Quintero  <federico@ximian.com>

	* xdgmime.c (xdg_mime_init_from_directory): Pass the correct size
	to realloc().  Fixes https://bugs.freedesktop.org/show_bug.cgi?id=3506.
2005-06-10 05:33:58 +00:00
Matthias Clasen
a4ed2092df Add GtkClipboardIamgeReceivedFunc
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkclipboard.sgml:
	* gtk/gtk-sections.txt: Add GtkClipboardIamgeReceivedFunc
2005-06-10 05:03:41 +00:00
Matthias Clasen
c733db4515 More doc fixes. 2005-06-10 04:57:18 +00:00
Matthias Clasen
0467de4de6 Doc fixes 2005-06-10 04:46:16 +00:00
Matthias Clasen
80bf176f06 2005-06-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_expand):
	* gtk/gtktoolbar.c (gtk_toolbar_get_show_arrow):
	* gtk/gtktextview.c (gtk_text_view_get_iter_at_position):
	* gtk/gtkstock.c (gtk_stock_set_translate_func):
	* gtk/gtkspinbutton.c (gtk_spin_button_get_adjustment):
	* gtk/gtkscrolledwindow.h:
	* gtk/gtkmenushell.c (gtk_menu_shell_get_take_focus):
2005-06-10 04:45:40 +00:00
Matthias Clasen
1a15d98cd4 Doc fixes.
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_margin):
	* gtk/gtkicontheme.c (gtk_icon_info_load_icon):
	* gtk/gtkcalendar.c (gtk_calendar_thaw): Doc fixes.
2005-06-10 04:25:33 +00:00
Matthias Clasen
3ce3cafc93 Additions.
2005-06-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkmenubar.sgml:
	* gtk/tmpl/gtkimage.sgml:
	* gtk/tmpl/gtkfontsel.sgml:
	* gtk/tmpl/gtkbbox.sgml:
	* gtk/tmpl/gtkadjustment.sgml:
	* gtk/tmpl/gtkaccelgroup.sgml:
	* gtk/tmpl/gtkaboutdialog.sgml: Additions.
2005-06-10 04:24:30 +00:00
Matthias Clasen
fdf992a7e9 Add some symbols.
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-sections.txt: Add some symbols.
2005-06-10 03:59:40 +00:00
Matthias Clasen
8292c4d374 Add a section for the Cairo functions.
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk-sections.txt:
	* gdk/tmpl/cairo_interaction.sgml:
	* gdk/gdk-docs.sgml: Add a section for the Cairo functions.
2005-06-10 03:53:45 +00:00
Matthias Clasen
0a8331150e Small markup fixes. 2005-06-10 03:35:30 +00:00
Matthias Clasen
abf069c08c Add docs. (#306212, Steve Chaplin, docs provided by Billy Biggs)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_app_paintable): Add docs.
	(#306212, Steve Chaplin, docs provided by Billy Biggs)
2005-06-10 03:17:00 +00:00
Matthias Clasen
4a6e34d3de Don't declare errno, including errno.h is enough. (#304164, Joerg
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimemagic.c: Don't declare errno, including errno.h
	is enough.  (#304164, Joerg Sonnenberger)
2005-06-09 19:54:06 +00:00
Matthias Clasen
e09c960885 Small cleanup. (#305539, Paolo Borelli)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_char_is_invisible): Small
	cleanup.  (#305539, Paolo Borelli)
2005-06-09 18:36:58 +00:00
Rodrigo Moya
8a86bcebc8 added cairo to list of $GTK_PACKAGES.
2005-06-09  Rodrigo Moya <rodrigo@novell.com>

	* configure.in: added cairo to list of $GTK_PACKAGES.
2005-06-09 17:15:13 +00:00
Matthias Clasen
13a9dd210a Update the user time on the window when a drop happens. (#169364,
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update
	the user time on the window when a drop happens.  (#169364, Alexander
	Hunziker, patch by Elijah Newren)
2005-06-09 17:13:58 +00:00
Matthias Clasen
92690fa3c2 Small markup fixes.
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Small markup fixes.
2005-06-09 16:40:42 +00:00
Matthias Clasen
226fb39fca Updates 2005-06-09 06:08:25 +00:00
Matthias Clasen
54935477ea New function to scroll to a path. (#306838, Jonathan Blandford)
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkiconview.h:
	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_path): New function
	to scroll to a path.  (#306838, Jonathan Blandford)
2005-06-09 06:07:57 +00:00
Matthias Clasen
b839a7b0c6 Check for overflow. (#306394, Morten Welinder)
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* io-pnm.c (pnm_read_next_value): Check for overflow.
	(#306394, Morten Welinder)
2005-06-08 20:57:16 +00:00
Matthias Clasen
70c0c38ff8 Scroll to the item. (#306839, Jonathan Blandford)
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_cursor): Scroll to the
	item.  (#306839, Jonathan Blandford)
2005-06-08 20:47:11 +00:00
Matthias Clasen
92cc6c4cbc Check for negative before appending the index, to avoid double error
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodel.c (gtk_tree_path_new_from_string): Check for
	negative before appending the index, to avoid double error
	message.  (#306393, Morten Welinder)
2005-06-08 20:25:21 +00:00
Matthias Clasen
d53bffc04d Don't crash if search_window is NULL. (#304914, Victor Osadci, testcase by
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	Don't crash if search_window is NULL.  (#304914, Victor Osadci,
	testcase by Olaf Vitters)
2005-06-08 20:14:03 +00:00
Matthias Clasen
e413007784 Make the file property readable. (#170674, Lorenzo Gil Sanchez)
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimage.c: Make the file property readable.
	(#170674, Lorenzo Gil Sanchez)
2005-06-08 17:38:25 +00:00
Martin Willemoes Hansen
9bdd5b9345 Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-08 09:56:17 +00:00
Priit Laes
a8911fc344 Translation updated by Ivar Smolin.
2005-06-08  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-06-08 08:54:27 +00:00
Martin Willemoes Hansen
9dde213508 Updated Danish translation.
* da.po: Updated Danish translation.
2005-06-08 08:49:19 +00:00
Matthias Clasen
5cb7f1ebaa Use g_utf8_collate_key_for_filename().
2005-06-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
	g_utf8_collate_key_for_filename().
2005-06-08 05:24:11 +00:00
Kjartan Maraas
471b638bd3 Merge leak fix from stable. Bug 306754.
2005-06-07  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilechooserbutton.c: (update_label_and_image):
	Merge leak fix from stable. Bug 306754.
2005-06-07 21:24:19 +00:00
Vincent van Adrighem
06606b5700 Translation updated by Tino Meinen.
2005-06-06  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-06-06 16:47:37 +00:00
Tor Lillqvist
cf670606aa Return NULL unless screen number is zero. We have only one screen on
2005-06-05  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkscreen-win32.c
	(_gdk_windowing_substitute_screen_number): Return NULL unless
	screen number is zero. We have only one screen on Win32.
	(gdk_screen_make_display_name): Call gdk_display_get_name() and
	return that.
2005-06-05 10:34:20 +00:00
Tor Lillqvist
b60940539e modules/engines/Makefile.am Decide whether to build the ms-windows theme
2005-06-05  Tor Lillqvist  <tml@novell.com>

	* modules/engines/Makefile.am
	* modules/input/Makefile.am: Decide whether to build the
	ms-windows theme engine based on the GDK backend, not based on
	platform. (I.e., if building for Cygwin with the X11 backend, we
	shouldn't build the ms-windows engine, but if building for Cygwin
	but with the Win32 backend, we should.) Ditto for the IME
	(Windows) input module. (#305832)
2005-06-04 22:08:50 +00:00
Tor Lillqvist
d42fa02bc3 gdk/win32/gdkcursor-win32.c gdk/win32/gdkwindow-win32.c Support
2005-06-04  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c
	* gdk/win32/gdkwindow-win32.c
	* gdk/win32/gdkprivate-win32.h: Support full-colour cursors.
	Support cursors with alpha on XP. Use code in common with the
	support for alpha icons that already was present. (#306101, Tim
	Evans)
2005-06-04 21:43:03 +00:00
Tor Lillqvist
3dde363831 Render insensitive icons in a way that more closely matches Windows.
2005-06-04  Tor Lillqvist  <tml@novell.com>

	* modules/engines/ms-windows/msw_style.c: Render insensitive icons
	in a way that more closely matches Windows. (#305986, Tim Evans).

	* modules/engines/ms-windows/Makefile.am (LDADDS): Link with
	gdk-pixbuf.
2005-06-04 20:19:36 +00:00
Dom Lachowicz
d751518bd7 re-sync with gtk-wimp's cvs repository 2005-06-03 19:54:03 +00:00
Miloslav Trmac
66ba57b637 Updated Czech translation.
2005-05-29  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-05-29 12:18:57 +00:00
Pawan Chitrakar
da926dc304 update nepali tranlsation 2005-05-29 12:04:01 +00:00
Gustavo Noronha Silva
307072355f - translation updated
* pt_BR.po:
	- translation updated
2005-05-27 18:30:22 +00:00
Adam Weinberger
8ddeab4cfb Updated Canadian English translation.
2005-05-27  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-05-27 18:24:10 +00:00
Matthias Clasen
17896bb74f Accept the 108 byte header of BMP v4. (#168799)
2005-05-27  Matthias Clasen  <mclasen@redhat.com>

	* io-bmp.c: Accept the 108 byte header of BMP v4.  (#168799)
2005-05-27 15:52:19 +00:00
Funda Wang
825224b817 Updated Simplified Chinese translation. 2005-05-27 06:35:05 +00:00
Manish Singh
d8fb6432c0 Add declarations for gtk_entry_completion_{get,set}_popup_single_match.
Thu May 26 16:43:27 2005 Manish Singh  <yosh@gimp.org>

        * gtk/gtkentrycompletion.h: Add declarations for
        gtk_entry_completion_{get,set}_popup_single_match.
2005-05-26 23:43:44 +00:00
Matthias Clasen
5efff5b160 Add new entry completion functions.
2005-05-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add new entry completion functions.
2005-05-26 20:37:28 +00:00
Matthias Clasen
6bd2df1ad5 Add a property to suppress the popup for single matches. (#154711)
2005-05-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkentrycompletion.c: Add a property to suppress the
	popup for single matches.  (#154711)

	* gtk/gtkentry.c (gtk_entry_completion_timeout): Respect it here.

	* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
	Use it here.
2005-05-26 20:36:36 +00:00
Matthias Clasen
d1137a9597 Add credit 2005-05-26 19:52:26 +00:00
Matthias Clasen
cc913d6110 Queue the redisplay after modifying the tag in the btree, otherwise we end
2005-05-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_tag): Queue the
	redisplay after modifying the tag in the btree, otherwise
	we end up showing the old tags until the next redraw comes
	around.   (#143537, Gary Kramlich)
2005-05-26 19:49:51 +00:00
Alan Horkan
33d3e54e31 *** empty log message *** 2005-05-26 19:37:29 +00:00
Matthias Clasen
dc04c470a1 Make autoscrolling work at the bottom of the screen.
2005-05-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make
	autoscrolling work at the bottom of the screen.
2005-05-26 17:26:29 +00:00
Maciej Katafiasz
d625a99817 I guess you should add changelog for your commits, right? 2005-05-26 16:39:44 +00:00
Sven Neumann
bc6c9745d8 use a less aggressive PNG compression level (bug #305340).
2005-05-26  Sven Neumann  <sven@gimp.org>

	* gtk/gtkselection.c (gtk_selection_data_set_pixbuf): use a less
	aggressive PNG compression level (bug #305340).
2005-05-26 16:20:08 +00:00
Maciej Katafiasz
bea236b9c1 Point to GtkTextView instead of GtkText. Fixes bug #305535 2005-05-26 11:56:13 +00:00
Tor Lillqvist
e7c9e7d8de If blitting from the root window, take the multi-monitor offset into
2005-05-26  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdrawable-win32.c (_gdk_win32_blit): If blitting
	from the root window, take the multi-monitor offset into
	account. (#305511)
2005-05-26 07:56:00 +00:00
Matthias Clasen
3d0adf9d4c Set the window icon by name.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/appwindow.c (do_appwindow): Set the window
	icon by name.
2005-05-25 20:01:47 +00:00
Matthias Clasen
d35931988e Add GdkPixbufSimplAnim functions.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-sections.txt: Add GdkPixbufSimplAnim
	functions.
2005-05-25 19:40:21 +00:00
Matthias Clasen
7b5cf0dbd6 No need to expose the iter subclass at all in the headers.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf.symbols:
	* gdk-pixbuf-simple-anim.[hc]: No need to expose the iter
	subclass at all in the headers.
2005-05-25 19:39:35 +00:00
Matthias Clasen
734b31563b Add new files.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.am: Add new files.

	* gdk-pixbuf.symbols: Add new api.

	* gdk-pixbuf.h: Include gdk-pixbuf-simple-anim.h here.

	* gdk-pixbuf-simple-anim.[hc]: Add a way to construct
	simple animations out of pixbufs.  (#135161, Dom Lachowicz)
2005-05-25 19:33:35 +00:00
Matthias Clasen
c02454f9cf Remove another C99ism.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c (gtk_file_folder_is_finished_loading):
	Remove another C99ism.
2005-05-25 19:13:22 +00:00
Adam Weinberger
084075c4a5 Updated Canadian English translation.
2005-05-25  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-05-25 18:08:13 +00:00
Matthias Clasen
083e509487 Draw the background of rows insensitive when the treeview is insensitive.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw the
	background of rows insensitive when the treeview is insensitive.
	(pointed out by Billy Biggs)
2005-05-25 17:19:56 +00:00
Matthias Clasen
844ab25ea4 Demonstrate image copy-and-paste and DND, and clipboard persistency.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/clipboard.c: Demonstrate image copy-and-paste
	and DND, and clipboard persistency.
2005-05-25 15:22:43 +00:00
Matthias Clasen
7b8e0b8bc8 Make sure png comes first, otherwise dnd may use bmp by default, loosing
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_add_image_targets):
	Make sure png comes first, otherwise dnd may use bmp by
	default, loosing transparency.
2005-05-25 14:02:21 +00:00
Kjartan Maraas
4834f5e03d Update Update
2005-05-25  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update
	* no.po: Update
2005-05-25 11:22:13 +00:00
Michael Natterer
e3f318b459 block the text_layout's "changed" handler when changing cursor visibility
2005-05-25  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktextview.c (blink_cb): block the text_layout's "changed"
	handler when changing cursor visibility because it would expose
	the whole paragraph where the cursor is. Instead, expose the
	cursors' areas manually. (#173047).

	(text_window_invalidate_cursors): new function which exposes the
	cursors.

	* gtk/gtkstyle.c (draw_insertion_cursor): added comment that the
	same cursor size calculation is in text_window_invalidate_cursors().
2005-05-25 10:22:37 +00:00
Matthias Clasen
39c5b780e7 Also demonstrate GtkCellRendererProgress.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/editable_cells.c (create_items_model): Also
	demonstrate GtkCellRendererProgress.
2005-05-25 06:28:30 +00:00
Matthias Clasen
0bf6af4bbe Add a demo showing combo box variations.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/Makefile.am (demos):
	* demos/gtk-demo/combobox.c: Add a demo showing combo box
	variations.
2005-05-25 06:15:19 +00:00
Matthias Clasen
036d90f14b Add a demo showing all picker widgets.
2005-05-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/Makefile.am (demos):
	* demos/gtk-demo/pickers.c: Add a demo showing all picker widgets.
2005-05-25 04:09:20 +00:00
Matthias Clasen
027cbd46a0 Fix a typo.
2005-05-24  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/iconview.c (do_iconview): Fix a typo.
2005-05-25 03:14:53 +00:00
Tor Lillqvist
60c544e649 Handle gtk-alternative-button-order (setting it to TRUE).
2005-05-24  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Handle
	gtk-alternative-button-order (setting it to TRUE).
2005-05-24 17:49:15 +00:00
Sven Neumann
3bc682d012 allow to specify the PNG compression level by passing a "compression"
2005-05-24  Sven Neumann  <sven@gimp.org>

	* io-png.c: allow to specify the PNG compression level by passing
	a "compression" parameter to the PNG save function (bug #305337).

	* gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
2005-05-24 17:09:56 +00:00
Christian Rose
e7a0b015f6 Updated Swedish translation.
2005-05-23  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2005-05-23 21:48:31 +00:00
Matthias Clasen
633a08fa4e Remove an unused variable. (#305130, Jaap A. Haitsma)
2005-05-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_init): Remove
	an unused variable.  (#305130, Jaap A. Haitsma)
2005-05-23 21:03:15 +00:00
Matthias Clasen
39d710eabe Don't grab the focus away from the file list when operating the filter
2005-05-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (filter_create): Don't grab
	the focus away from the file list when operating the filter
	combo with the pointer.  (#304844, Sven Neumann)
2005-05-23 16:45:57 +00:00
Tor Lillqvist
7f2ad4a885 Map VK_APPS to GDK_Menu. (#172383, Ivan Wong)
2005-05-23  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (handle_special): Map VK_APPS to
	GDK_Menu. (#172383, Ivan Wong)
2005-05-22 22:28:39 +00:00
Tor Lillqvist
92b97da841 Typo. 2005-05-22 21:30:15 +00:00
Tor Lillqvist
1abd7f7999 If the keysym isn't one of the special cases this function takes care of,
2005-05-23  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (handle_dead): If the keysym isn't one
	of the special cases this function takes care of, us it as
	such. This takes care of for instance the Bengali Virama, see bug
	#165723.
2005-05-22 21:23:45 +00:00
Miloslav Trmac
69d6039b7f Updated Czech translation.
2005-05-22  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-05-22 11:32:57 +00:00
Matthias Clasen
6f282c4970 Forgotten file. 2005-05-21 01:07:47 +00:00
Matthias Clasen
68e5951840 Fix a C99ism 2005-05-21 01:05:14 +00:00
Matthias Clasen
bd2316dcb6 Don't rely on C99 types. (#304924, John Ehresman)
2005-05-20  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimecache.c: Don't rely on C99
	types.  (#304924, John Ehresman)
2005-05-20 22:40:53 +00:00
Matthias Clasen
7df7efcc12 Avoid a possible buffer overrun. (#142444, Leonard Michlmayr)
2005-05-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimcontextsimple.c (check_table): Avoid a possible
	buffer overrun.  (#142444, Leonard Michlmayr)
2005-05-20 21:04:51 +00:00
Matthias Clasen
7be352f465 Remove C99-isms (#304879, Kazuki IWAMOTO)
2005-05-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystem.c: Remove C99-isms (#304879,
        Kazuki IWAMOTO)
2005-05-20 16:35:19 +00:00
Matthias Clasen
8aea07b726 Add a warning 2005-05-20 14:33:38 +00:00
Matthias Clasen
d75330dd35 Fix an example. (#304808, Ghorban M. Tavakoly)
2005-05-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/migrating-GtkAction.sgml: Fix an example.  (#304808,
	Ghorban M. Tavakoly)
2005-05-20 05:10:27 +00:00
Mohammad DAMT
48e4ce60cc Updated Indonesian translation
2005-05-19  Mohammad DAMT  <mdamt@gnome.org>

  * id.po: Updated Indonesian translation
2005-05-19 19:17:09 +00:00
Adam Weinberger
54c5de6d50 Updated Canadian English translation.
2005-05-19  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-05-19 18:41:31 +00:00
Mohammad DAMT
2b483b3ad7 Updated Indonesian translation.
2005-05-18  Mohammad DAMT  <mdamt@gnome.org>

  * id.po: Updated Indonesian translation.
2005-05-19 00:15:04 +00:00
Matthias Clasen
5bf4b2f442 Use the correct function to conver the uri to a path. (#304565, Ismael
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooser.c (gtk_file_chooser_remove_shortcut_folder_uri):
	Use the correct function to conver the uri to a path.  (#304565,
	Ismael Juma)
2005-05-18 21:00:44 +00:00
Matthias Clasen
116c3e66af Handle the Cancel button properly. (#304234, Sven Neumann)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (dialog_response_cb): Handle the
	Cancel button properly.  (#304234, Sven Neumann)
2005-05-18 20:34:30 +00:00
Mohammad DAMT
740f66023c Updated Indonesian translation
2005-05-18  Mohammad DAMT  <mdamt@gnome.org>

        * id.po: Updated Indonesian translation
2005-05-18 19:29:37 +00:00
Anders Carlsson
43af1f21b9 If the horizontal adjustment changes because of a change in the layout
2005-05-18  Anders Carlsson  <andersca@imendio.com>

	* gtk/gtktextview.c: (gtk_text_view_flush_scroll),
	(gtk_text_view_update_adjustments), (gtk_text_view_value_changed):
	* gtk/gtktextview.h:
	If the horizontal adjustment changes because of a change in the
	layout width, then do a complete redraw. This is because there
	might be right-aligned or centered text that needs to be redrawn.
2005-05-18 17:10:46 +00:00
Matthias Clasen
e9e878d1bc Try harder to set the event masks of descendent windows. (#169821, Tommi
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_add_events): Try harder to set
	the event masks of descendent windows.  (#169821, Tommi Komulainen)
2005-05-18 16:52:30 +00:00
Matthias Clasen
763452a14f Fix some errors in the handling of drop columns. (#143355, John Finlay)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_drop_column)
	(gtk_tree_view_set_column_drag_info): Fix some errors in the
	handling of drop columns.  (#143355, John Finlay)
2005-05-18 16:32:38 +00:00
Matthias Clasen
b1f056a802 Remove the no longer needed workaround.
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
	Remove the no longer needed workaround.
2005-05-18 16:22:20 +00:00
Matthias Clasen
2763b81fe3 Add a bug reference 2005-05-18 15:24:01 +00:00
Tor Lillqvist
ba7ee2270a gdk/win32/gdkevents-win32.c gdk/win32/gdkkeys-win32.c Check the
2005-05-18  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkkeys-win32.c
	* gdk/win32/gdkprivate-win32.h: Check the KF_EXTENDED bit in
	lParam of WM_KEY* messages to distinguish between left and right
	Control and Alt keys. Unfortunately, the right Shift key doesnt
	set KF_EXTENDED, so to distinguish between left and right Shift
	keys, check the scan code. (#304584)
2005-05-18 14:53:00 +00:00
Matthias Clasen
f6906b8272 Warn if length overflows. (#161520, Ian Wienand)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Warn if
	length overflows.  (#161520, Ian Wienand)
2005-05-18 14:46:14 +00:00
Matthias Clasen
e7fc60f78f Fix parameter names to make gtk-doc happy.
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoolbutton.c (gtk_tool_button_set_icon_name): Fix
	parameter names to make gtk-doc happy.
2005-05-18 14:35:53 +00:00
Matthias Clasen
6a213cbdf7 Fix the markup 2005-05-18 14:34:32 +00:00
Matthias Clasen
ab81bf2b2c Fix the default values of draw-value and value-pos to be the values we
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkscale.c (gtk_scale_class_init): Fix the default
	values of draw-value and value-pos to be the values we
	actually use in _init. (#304547, Mikael Hallendal)
2005-05-18 13:18:17 +00:00
Matthias Clasen
9fe4bffd4f Support named icons in cells by adding a icon-name property. (#165777,
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrendererpixbuf.c: Support named icons in
	cells by adding a icon-name property. (#165777, Anders
	Carlsson)
2005-05-18 06:13:42 +00:00
Matthias Clasen
67f557226f Support named icons in tool buttons by adding a icon-name property.
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtktoolbutton.h:
	* gtk/gtktoolbutton.c (gtk_tool_button_set_icon_name)
	(gtk_tool_button_get_icon_name): Support named icons in
	tool buttons by adding a icon-name property.
2005-05-18 05:38:50 +00:00
Matthias Clasen
77f3189adc New functions to support themed drag icons. (#116577, Christian Neumair)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c (gtk_drag_source_set_icon_name)
	(gtk_drag_set_icon_name): New functions to support themed
	drag icons.  (#116577, Christian Neumair)
2005-05-18 05:23:59 +00:00
Owen Taylor
df1cc88424 Update to changed cairo interface.
2005-05-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_ref_cairo_surface):
        Update to changed cairo interface.

        * gdk/x11/gdkdrawable-x11.[ch]:
        Add _gdk_x11_drawable_update_size()

        * gdk/x11/gdkwindow-x11.c (gdk_window_resize)
        (gdk_window_move_resize)
        * gdk/x11/gdkevents-x11.c (gdk_event_translate):
        Call _gdk_x11_drawable_update_size().
2005-05-17 17:35:22 +00:00
Matthias Clasen
50ba0e239f Don't blink the cursor if the text view is not editable.
2005-05-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (cursor_blinks): Don't blink the cursor
	if the text view is not editable.
2005-05-17 06:18:14 +00:00
Matthias Clasen
128ccea10b Keep the popup posted if the button is released over the cellview. This
2005-05-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Keep
	the popup posted if the button is released over the cellview.
	This matches the behaviour of other combo box implementations.
	(#171378)
2005-05-17 05:41:34 +00:00
Matthias Clasen
f1a4c08002 Adjust offsets when recursing. (#153682, Felipe Heidrich)
2005-05-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_bg_pattern): Adjust offsets
	when recursing.  (#153682, Felipe Heidrich)
2005-05-17 05:17:08 +00:00
Matthias Clasen
c87d85a5aa Don't bind GDK_Page_Up and GDK_Page_Down twice. (#168333, Hazael Maldonado
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up
	and GDK_Page_Down twice.  (#168333, Hazael Maldonado Torres)
2005-05-17 03:48:43 +00:00
Matthias Clasen
911a8a63c3 Don't blink the cursor if the entry is not editable. (#304171,Nikos
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (cursor_blinks): Don't blink the cursor if
	the entry is not editable.  (#304171,Nikos Kouremenos)
2005-05-16 21:14:05 +00:00
Matthias Clasen
382fa5c382 Make sure the action of the button and the dialog are in sync, when the
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_constructor):
	Make sure the action of the button and the dialog are in sync,
	when the dialog is provided by the app.  (#303987, David A Knight)
2005-05-16 21:07:16 +00:00
Matthias Clasen
8610171ecf Forgotten file 2005-05-16 20:04:44 +00:00
Matthias Clasen
51881768c4 Fix a typo in the docs. (#303940, Masao Mutoh)
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkpango.c (gdk_pango_renderer_get_default): Fix a typo
	in the docs.  (#303940, Masao Mutoh)
2005-05-16 19:37:34 +00:00
Matthias Clasen
ce16af5a93 More abbreviation conversion 2005-05-16 19:34:39 +00:00
Matthias Clasen
7b0e05fcca Use gtk-doc abbrevs instead of spelled out links.
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tree_widget.sgml: Use gtk-doc abbrevs instead of
	spelled out links.

	* gtk/gtk-docs.sgml: Included the processed file xml/tree_widget.sgml.

	* gtk/Makefile.am (expand_content_files): Add tree_widget.sgml.
2005-05-16 18:16:42 +00:00
Martin Willemoes Hansen
37a4e33454 Updated Danish translation.
* da.po: Updated Danish translation.
2005-05-16 13:25:22 +00:00
Matthias Clasen
01d3c73210 Be more careful when casting. (#304089, Philip Langdale)
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoggleaction.c (connect_proxy): Be more careful when
	casting.  (#304089, Philip Langdale)
2005-05-16 05:03:44 +00:00
Matthias Clasen
9cde596b73 Only shrink the label if we need to. (#169390, Felix Riemann)
2005-05-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shrink
	the label if we need to.  (#169390, Felix Riemann)
2005-05-16 04:54:35 +00:00
Pawan Chitrakar
f1cbeaff1e updated nepali translation 2005-05-16 03:51:23 +00:00
Pawan Chitrakar
558abc63ab Updated Nepali translation
2005-05-16  Pawan Chitrakar  <pawan@nplinux.org>

	* ne.po: Updated Nepali translation
2005-05-16 03:42:34 +00:00
Alexander Shopov
7bd1880984 Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2005-05-15  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2005-05-15 13:49:12 +00:00
Vincent van Adrighem
3c6d398c4a Translation updated by Tino Meinen.
2005-05-14  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-05-14 15:49:19 +00:00
Manish Singh
4849c70543 gdk/gdkdraw.c #include gdkcairo.h for gdk_cairo_create() declaration.
Sat May 14 00:07:46 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkdraw.c
        * gdk/gdkpango.c: #include gdkcairo.h for gdk_cairo_create()
        declaration.

        * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): actually
        call gdk_cairo_set_source_color() with a color.

        * gtk/gtkimage.c (gtk_image_expose): remove unused stock_id variable.

        * tests/testiconview.c (main): cast args of drag functions to the
        appropriate type.
2005-05-14 07:19:48 +00:00
Owen Taylor
c2bd238e88 Update for cairo-xlib API change.
2005-05-13  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c: Update for cairo-xlib API change.

        * gdk/x11/gdkpixmap-x11.[ch] gdk/gdk.symbols: Export
        gdk_pixmap_impl_x11_get_type(), needed in gdkdrawable-x11.c.
2005-05-14 01:04:15 +00:00
Pawan chitrakar
be9cf0418f Updated Nepali Translation
2005-05-13  Pawan chitrakar  <pawan@nplinux.org>

	* ne.po: Updated Nepali Translation
2005-05-13 14:07:30 +00:00
Kostas Papadimas
2d58661d74 Updated Greek Translation 2005-05-12 16:04:16 +00:00
Owen Taylor
aada841db8 Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
        to draw the swatch in to avoid having an extraneous window.
2005-05-12 01:12:19 +00:00
Owen Taylor
dda40ca71a Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
	to draw the swatch in to avoid having an extraneous window.

	* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
	color when !has_opacity.

2005-05-10  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
	files for Cairo convenience functionality.

	* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
	convenience functions to add GdkRectangle, GdkRegion to a cairo path.

	* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
	gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().

	* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
	gdk_drawable_create_cairo_context() to gdk_cairo_create().

	* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
	Rename gdk_pixbuf_set_as_cairo_source() to
	gdk_cairo_set_source_pixbuf().

	* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
	gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
	Adjust for renames.

	* gdk/gdk.symbols: Update.

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
	coordinate system problem that was causing the wrong portions
	to be invalidated.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
	gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
	gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
	gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
	gtk/gtkcellview.c (gtk_cell_view_expose)
	gtk/gtkdnd.c (gtk_drag_highlight_expose)
	gtk/gtkentry.c (gtk_entry_draw_text)
	gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.

	* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
	GTK+ style ... use instance-private data and standard names for
	private structure, etc. Move function docs inline.

	* gtk/gtkcalendar.[ch]: Switch to drawing everything in
	expose. Switch drawing to Cairo.

	* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
	gtk_calendar_freeze/thaw
2005-05-11 19:16:19 +00:00
Tor Lillqvist
846972ba14 Check that GDK_IS_SCREEN(screen) (like the X11 backend does), not screen
2005-05-10  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Check
	that GDK_IS_SCREEN(screen) (like the X11 backend does), not screen
	== gdk_screen_get_default(), as that might return NULL when this
	function is called.
2005-05-10 06:51:44 +00:00
Pawan Chitrakar
6aaf568c31 updated Nepali Translation
2005-05-10  Pawan Chitrakar  <pawan@nplinux.org>

	* ne.po: updated Nepali Translation
2005-05-10 06:31:05 +00:00
Matthias Clasen
0a28c9f678 Flip the padding 2005-05-10 03:44:02 +00:00
Owen Taylor
485fd85179 Fill in unused bits so they can be used for the depth-32 target case.
2005-05-09  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_convert_0888_br, gdk_rgb_convert_8880_br):
        Fill in unused bits so they can be used for the depth-32 target case.
        Rewrite so that that gives a marginal speedup rather than a
        marginal slowdown. (on x86)

        * gdk/gdkscreen.h gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkvisual-x11.c:
        Add gdk_screen_get_rgba_colormap/visual to get a visual for
        windows with an alpha channel, if one exists.

        * gdk/win32/gdkscreen-win32.c gdk/linux-fb/gdkscreen-fb.c:
        Stub out gdk_screen_get_rgba_colormap/visual.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): computation of
        "unused" wasn't right for depth == 32, since it depended on
        shifting by 32.

        * gdk/gdkrgb.c: Fill in alpha bits with 1s. (Based on patch from
        Keith Packard,
        http://mail.gnome.org/archives/gtk-devel-list/2004-June/msg00080.html)

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
        Implement again, without using Xft.

        * tests/testgtk.c: Add a test for windows with an alpha channel.
2005-05-09 22:54:10 +00:00
Matthias Clasen
e899aa852a Revert accidental commit 2005-05-09 15:03:45 +00:00
Matthias Clasen
379c61429c Fix a typo (#303473, Masao Mutoh)
2005-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/tmpl/visuals.sgml: Fix a typo (#303473, Masao Mutoh)
2005-05-09 03:53:32 +00:00
Matthias Clasen
7f37c65a7f Additions 2005-05-08 06:25:46 +00:00
Matthias Clasen
28b82792f5 Add keyname-table.h
2005-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am (IGNORE_HFILES): Add keyname-table.h

	* gdk/gdk-sections.txt: Add gdk_cairo_set_source_color,
	gdk_drawable_create_cairo_context and
	gdk_pixbuf_set_as_cairo_source, remove
	gdk_draw_rectangle_alpha_libgtk_only

	* gdk/tmpl/pixbufs.sgml:
	* gdk/tmpl/cursors.sgml: Add long descriptions.

	* gdk/tmpl/events.sgml:
	* gdk/tmpl/dnd.sgml:
	* gdk/tmpl/windows.sgml:
	* gdk/tmpl/pixmaps.sgml:
	* gdk/tmpl/x_interaction.sgml: Small additions.
2005-05-08 05:48:45 +00:00
Matthias Clasen
ba20420e9f Small documentation additions.
2005-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcolor.c (gdk_cairo_set_source_color):
	* gdk/gdkimage.h:
	* gdk/gdkdraw.c:
	* gdk/gdkcolor.h:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcolor-x11.c: Small documentation additions.
2005-05-08 05:47:52 +00:00
Matthias Clasen
2d4d7f587c Forgotten fix. 2005-05-08 05:46:45 +00:00
Matthias Clasen
b91bf99b4c Change the return type to GtkWidget*, proposed by Owen Taylor.
2005-05-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkscrolledwindow.h:
	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_get_hscrollbar):
	(gtk_scrolled_window_get_cscrollbar): Change the return
	type to GtkWidget*, proposed by Owen Taylor.
2005-05-08 03:37:43 +00:00
Matthias Clasen
adf0a7ee89 Fix a reference. (#303403, Masao Mutoh)
2005-05-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/tmpl/pango_interaction.sgml: Fix a reference.
	(#303403, Masao Mutoh)
2005-05-08 03:25:46 +00:00
Matthias Clasen
65903c3ae7 Fix typos in the docs. (#303389, Masao Mutoh)
2005-05-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_width_mm)
	(gdk_screen_get_height_mm): Fix typos in the docs.  (#303389,
	Masao Mutoh)
2005-05-08 03:18:09 +00:00
Matthias Clasen
7d25aee8a1 Fix a copy-and-paste accident 2005-05-08 03:13:37 +00:00
Owen Taylor
e60f060ea8 Get the foreground color, not the background color.
2005-05-07  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkgc.c (gc_get_foreground): Get the foreground color, not
        the background color.
2005-05-07 19:00:36 +00:00
Owen Taylor
274e49f37e Change prototype to match cairo_set_source_surface().
2005-05-07  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h (gdk_pixbuf_set_as_cairo_source):
        Change prototype to match cairo_set_source_surface().

        * gdk/gdkdraw.c gdk/gdkgc.c gdk/gdkpixbuf-render.c gdk/gdkwindow.c
        gtk/gtkhsv.c tests/testcairo.c.
2005-05-07 18:51:18 +00:00
Federico Mena Quintero
778b99a403 Merged from gtk-2-6:
2005-05-06  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	* gtk/gtkfilesystemunix.c (fill_in_mime_type): Don't fill the mime
	types if this is an AFS directory.
	(fill_in_names): If we are in an AFS directory, set the MIME type
	blindly to "x-directory/normal".
2005-05-06 21:00:01 +00:00
Matthias Clasen
1d50b80aed Always initialize child-visible to FALSE, otherwise we may end up with the
2005-05-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_insert_page_menu): Always
	initialize child-visible to FALSE, otherwise we may end up
	with the wrong page visible initially.  (#302283, Patrik Fimml)

	* gtk/gtktreeview.c (gtk_tree_view_draw_arrow): Make expanders
	appear insensitive in insensitive treeviews.
2005-05-06 19:36:41 +00:00
Miloslav Trmac
0ffbe85cc4 Updated Czech translation.
2005-05-06  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-05-06 09:04:41 +00:00
Matthias Clasen
3e77a18b4a Test DND.
2005-05-06  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Test DND.

	* gtk/gtk.symbols:
	* gtk/gtkiconview.[hc]: Add DND support similar to the DND
	support in the tree view.  (#150270)
2005-05-06 04:14:32 +00:00
Matthias Clasen
f8e922f9ec Small cleanups.
2005-05-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreednd.h:
	* gtk/gtkwidget.h: Small cleanups.
2005-05-06 03:12:33 +00:00
Matthias Clasen
d0b22eb542 Another one 2005-05-06 03:05:51 +00:00
Matthias Clasen
04f0490872 typo fix 2005-05-06 03:05:17 +00:00
Matthias Clasen
4000f118fd Fix a typo 2005-05-05 19:49:30 +00:00
Nguyen Thai Ngoc Duy
dab4163728 Fixed calendar:MY 2005-05-05 03:57:49 +00:00
Owen Taylor
fa11d08b07 Minor wording fix 2005-05-05 00:14:06 +00:00
Owen Taylor
dcedc5bcef Fix a bug in focus tracking when we move between has_pointer_focus and
2005-05-04  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.h: Fix a bug
        in focus tracking when we move between has_pointer_focus and
        has_focus_window directly. (#109246, Billy Biggs, Niko Tyni
        and others)

        * gdk/x11/gdkevents-x11.c: Also fix some extremely confusion
        that could happen in the case of no window manager + keyboard grabs,
        by moving to a more consistent model of when we pay attention
        to mode=NotifyGrab/NotifyUngrab events.

        * docs/focus_tracking.txt: Extensive writeup about how to track
        focus under X11
2005-05-05 00:12:21 +00:00
Søren Sandmann
d990d01640 Replace cairo_show_surface() uses with
Wed May  4 13:21:41 2005  Søren Sandmann  <sandmann@redhat.com>

	* tests/testcairo.c (draw): Replace cairo_show_surface() uses with
	cairo_set_source_surface()/cairo_paint();
2005-05-04 17:22:20 +00:00
Matthias Clasen
7aee89d29d Forgotten file 2005-05-04 13:51:41 +00:00
Tor Lillqvist
a622843f4d gdk/win32/gdkdrawable-win32.c (generic_draw, blit_from_pixmap) Minor fixes
2005-05-04  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdrawable-win32.c (generic_draw, blit_from_pixmap)
	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values,
	_gdk_win32_gc_new, _gdk_windowing_gc_set_clip_region,
	gdk_win32_hdc_get): Minor fixes to make Win32 backend compile
	again.
2005-05-04 11:43:44 +00:00
Adam Weinberger
f92074c925 Updated Canadian English translation.
2005-05-04  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-05-04 05:36:22 +00:00
Matthias Clasen
00dd821a5a Avoid getting the interface struct twice in the same function. (#300513,
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystem.c:
	* gtk/gtkcelleditable.c:
	* gtk/gtktreemodel.c: Avoid getting the interface struct
	twice in the same function.  (#300513, Billy Biggs)
2005-05-04 03:16:28 +00:00
Matthias Clasen
2c5634dad1 Avoid getting the interface struct twice in the same function. (#300513,
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodel.c: Avoid getting the interface struct
	twice in the same function.  (#300513, Billy Biggs)
2005-05-03 05:23:35 +00:00
Matthias Clasen
fefbd24704 Add gtk_dialog_get_response_for_widget. Add new scrolled window getters.
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add gtk_dialog_get_response_for_widget.
	Add new scrolled window getters.
2005-05-03 05:02:04 +00:00
Matthias Clasen
968f80dfab Add getters for the scrollbars. (#167181, Billy Biggs)
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkscrolledwindow.h:
	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_get_vscrollbar):
	* gtk/gtk.symbols: Add getters for the scrollbars.  (#167181,
	Billy Biggs)
2005-05-03 05:01:04 +00:00
Matthias Clasen
90f9ff75f6 *** empty log message *** 2005-05-03 04:47:13 +00:00
Matthias Clasen
c93ab959d3 Add gtk_dialog_get_response_for_widget.
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add gtk_dialog_get_response_for_widget.
2005-05-03 04:46:29 +00:00
Matthias Clasen
2430a4018b Make this function public. (#170748, Morten Welinder)
2005-05-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkdialog.h:
	* gtk/gtkdialog.c (gtk_dialog_get_response_for_widget):
	Make this function public.  (#170748, Morten Welinder)
2005-05-03 04:44:53 +00:00
Federico Mena Quintero
093b389f6a Merged from gtk-2-6:
2005-05-02  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fixes #301068:

	* gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add fields
	to store struct stat for /afs and /net, and boolean fields to say
	whether these are valid.
	(struct _GtkFileFolderUnix): Added a boolean is_network_dir field.
	(gtk_file_system_unix_get_folder): Fill in the is_network_dir
	field of the folder structure.
	(fill_in_names): If the folder is a network directory, create a
	fake struct stat for its entries.
	(fill_in_stats): Don't stat() the children of network directories.

	* gtk/gtkfilechooserdefault.c (list_mtime_data_func): If the mtime
	is 0, use "Unknown" for the cell's displayed text.
2005-05-03 01:55:33 +00:00
Owen Taylor
788bbf520a Add a draw-border style property to allow themes to draw outside the
2005-04-28  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Add a draw-border style property to allow
	themes to draw outside the widget's allocation.

	* gdk/gdkwindow.c gtk/gtkstyle.c: Remove some save/restore pairs
	that were working around the clip-leakage bug in Cairo.

	* gtk/gtkstyle.c: Use cairo_fill_preserve() rathe than
	save/fill/restore.

	* gdk/gdkgc.c gdk/gdkinternals.h: Add _gdk_gc_update_context()
	That updates a Cairo context to match a GC.

	* gdk/gdkdraw.c: Use _gdk_gc_update_context() to add support
	for tiles/stipples/clipping to gdk_draw_glyphs(),
	gdk_draw_trapezoids().

	* gdk/gdkpango.c: Use _gdk_gc_update_context() instead of internal
	implementation of stipples. Use one cairo_t across the entire
	drawing operation. Replace cairo_matrix_create() with
	stack-allocated matrices.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c: Save various aspects of the
	GC state (fill, tile, stipple, foreground, background, clip region)
	in instance-private-data for future use. Add getters.
	Get rid of _gdk_windowing_gc_get_foreground() function implemented
	by the backends.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Add
	_gdk_gc_init() to do initial setup of the GC from values;
	fixes some problems from drawable redirection.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Move
	gdk_gc_copy() and gdk_gc_set_clip_{region,rectangle}() into
	the generic code, add _gdk_windowing_gc_copy(),
	_gdk_windowing_gc_set_clip_region() to do backend specific
	stuff.

	* gdk/x11/{gdkprivate-x11.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/win32/{gdkprivate-win32.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/linux-fb/{gdkprivate-fb.h,gdkgc-fb.c.c,gdkdrawable-fb.c}:
	Don't duplicate state that now is stored by the generic code.

	* gdk/gdk.symbols Update
2005-05-02 23:29:24 +00:00
Matthias Clasen
b1cebb4c50 Add new icon view functions.
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Add new icon view functions.
2005-05-02 20:29:38 +00:00
Matthias Clasen
93a430fdf0 Test cell renderers.
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Test cell renderers.

	* gtk/gtk.symbols: Add new functions.

	* gtk/gtkiconview.[hc]: Implement GtkCellLayout and use
	cell renderers for drawing and editing. (#148144, #160242)
2005-05-02 20:28:37 +00:00
Matthias Clasen
ba91bf6d18 Return a sufficient width for cases where pango_layout_get_pixel_extents()
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_size): Return a sufficient
	width for cases where pango_layout_get_pixel_extents() returns
	a rectangle with nonzero x.
2005-05-02 17:53:52 +00:00
Matthias Clasen
a92e48434b Fix the build 2005-05-02 16:40:41 +00:00
Matthias Clasen
c5eedc0420 Doc fixups 2005-05-02 16:17:12 +00:00
Matthias Clasen
fe59413cd8 Remove nonexisting functions.
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk-sections.txt: Remove nonexisting functions.
2005-05-02 16:11:15 +00:00
Matthias Clasen
30fc5201ed Fix up the docs a bit.
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenushell.c (gtk_menu_shell_set_take_focus):
	(gtk_menu_shell_get_take_focus): Fix up the docs a bit.
2005-05-02 16:09:37 +00:00
Matthias Clasen
99a9d670fc Forgotten file 2005-05-02 14:05:41 +00:00
Matthias Clasen
22344179a4 Forgotten Changelog 2005-05-02 13:54:58 +00:00
Michael Natterer
490bbe0214 return silently if "gtk_initialized" is TRUE. Re-enables calling GTK's
2005-05-02  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmain.c (do_post_parse_initialization): return silently if
	"gtk_initialized" is TRUE. Re-enables calling GTK's init functions
	multiple times when using gtk_get_option_group(), just as one can
	call gtk_init() multiple times without doing any harm.
2005-05-02 13:41:32 +00:00
Priit Laes
1fc3cc3e79 Translation updated by Ivar Smolin.
2005-05-02  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2005-05-02 06:07:27 +00:00
Matthias Clasen
e82f8ece3a Propagate the event to unanchored children in the text window. (#302494,
2005-05-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_expose_event): Propagate
	the event to unanchored children in the text window.
	(#302494, Stephen Kennedy)
2005-05-02 03:02:17 +00:00
Tor Lillqvist
20f9c58edb Take multi-monitor offset into account. (#302525)
2005-04-30  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Take
	multi-monitor offset into account. (#302525)
2005-04-30 17:50:00 +00:00
Miloslav Trmac
acfa692931 Updated Czech translation.
2005-04-30  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-04-30 14:45:07 +00:00
Matthias Clasen
707756e4be Make the docs build. (#302230, Ali Akcaagac)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkradioaction.c: Make the docs build.  (#302230,
        Ali Akcaagac)
2005-04-30 03:49:06 +00:00
Matthias Clasen
d9322adafd Get rid of this function, instead show the bin_window when it is created.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_map): Get rid of this
	function, instead show the bin_window when it is created.
2005-04-29 20:09:56 +00:00
Matthias Clasen
6f2f51efc0 Don't grab focus to unrealized widgets. (#302240, Philip Langdale)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't
	grab focus to unrealized widgets.  (#302240, Philip Langdale)
2005-04-29 19:20:49 +00:00
Matthias Clasen
6d0627cb0d Set background upon state changes. (#301651, Billy Biggs)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
	background upon state changes.  (#301651, Billy Biggs)
	(gtk_tree_view_get_path_at_pos): Take RTL into account
	when iterating over the columns.  (#302163)
2005-04-29 18:50:03 +00:00
Matthias Clasen
2464763a22 Sync to upstream.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* Sync to upstream.
2005-04-29 18:24:38 +00:00
Matthias Clasen
eb92e0784a Set background upon state changes. (#301651, Billy Biggs)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_state_changed): Set
	background upon state changes.  (#301651, Billy Biggs)
2005-04-29 18:17:10 +00:00
Matthias Clasen
b75a8a1512 Check for nm.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Check for nm.

	* gtk/Makefile.am: Use $(NM), not nm directly. (#301299,
	Nguyen Thai Ngoc Duy)
2005-04-29 17:59:07 +00:00
Matthias Clasen
6824418b27 Refer to the correct property. (#301115, Richard Hult)
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkuimanager.sgml: Refer to the correct
	property. (#301115, Richard Hult)
2005-04-29 17:19:41 +00:00
Matthias Clasen
940f48f7cb Use the internal unselect_all function, since we need the unselection to
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_move_cursor_start_end): Use
	the internal unselect_all function, since we need the unselection
	to happen even in browse mode.  (#300995, Mathias Hasselmann)
2005-04-29 17:02:06 +00:00
Matthias Clasen
e4ac9938d3 Use g_object_notify() instead of triggering a ::notify by re-setting the
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkuimanager.c (update_node): Use g_object_notify() instead
	of triggering a ::notify by re-setting the property.  (#300982,
	Sven Neumann)

	* gtk/gtkaction.c (connect_proxy): Use gtk_action_sync_tooltip().
2005-04-29 16:31:49 +00:00
Matthias Clasen
f1583ba627 Also scroll horizontally when necessary, and keep the northwest corner of
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Also
	scroll horizontally when necessary, and keep the northwest
	corner of the item visible.  (#300913, Mathias Hasselmann)
2005-04-29 16:20:07 +00:00
Matthias Clasen
748f0aed63 Add some more tests.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/testiconview.c: Add some more tests.

	* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
	if the path does not point to a row in the model.  (#300909,
	Mathias Hasselmann)
	(gtk_icon_view_rows_reordered): Re-layout here.  (#301009,
	Mathias Hasselmann)
2005-04-29 15:24:30 +00:00
Matthias Clasen
5ce761a2e6 Don't crash if the path does not point to a row in the model. (#300909,
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash
	if the path does not point to a row in the model.  (#300909,
	Mathias Hasselmann)
2005-04-29 14:56:37 +00:00
Matthias Clasen
3f9ade6436 Remove conflict markers 2005-04-29 14:45:36 +00:00
Matthias Clasen
7d2d8182b4 Add some more attribute tests.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/testtext.c: Add some more attribute tests.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation
	of the rise property. String change, but it is more important to
	be correct than to be translated.  (#301740)
2005-04-29 14:43:50 +00:00
Gabor Kelemen
ee6e3ea040 Hungarian translation updated.
2005-04-28  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Hungarian translation updated.
2005-04-28 10:26:44 +00:00
Tommi Vainikainen
b6745ac9e9 Finnish translation merged from gtk-2-6 and updated.
2005-04-28  Tommi Vainikainen  <thv@iki.fi>

	* fi.po: Finnish translation merged from gtk-2-6 and updated.
2005-04-28 09:37:44 +00:00
Gabor Kelemen
c0909ca78c Hungarian translation updated.
2005-04-28  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Hungarian translation updated.
2005-04-27 22:46:04 +00:00
Tor Lillqvist
3b16bb011e Get volume name also on Win9x. (#301798, Daniel Atallah)
2005-04-25  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c
	(gtk_file_system_win32_volume_get_display_name): Get volume name
	also on Win9x. (#301798, Daniel Atallah)
	(canonicalize_filename): Add explicit braces to silence compiler
	warning.
2005-04-25 00:47:31 +00:00
Francisco Javier F. Serrador
e0e7056fe2 Updated Spanish translation.
2005-04-23  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-04-23 15:51:55 +00:00
Nickolay V. Shmyrev
abe9e8d1a2 Updated Russian translation 2005-04-22 20:09:27 +00:00
Tor Lillqvist
31f2c72c66 Typo. 2005-04-22 08:10:01 +00:00
Tor Lillqvist
474ddd204a Initailize gettext before use. Calling bindtextdomain() and
2005-04-22  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c: Initailize gettext before use. Calling
	bindtextdomain() and bind_textdomain_codeset() in
	do_post_parse_initialization() is too late. Put the calls in a new
	function gettext_initialization(), and call that from
	gtk_init_with_args() and gtk_parse_args(). Fixes #170948 for
	GTK+'s part, but the same problem occurs also at least in
	atk. Thanks to Robert Ögren, Daniel Atallah and Kevin Strange.
2005-04-22 07:35:37 +00:00
Ivan, Wong Yat Cheung
e41ade967e Match character height instead of cell height. Fix #301228.
2005-04-19  Ivan, Wong Yat Cheung  <email@ivanwong.info>

	* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Match
	character height instead of cell height. Fix #301228.
2005-04-21 10:39:39 +00:00
David Lodge
5bbafe80f1 Updated British English translation.
2005-04-19  David Lodge  <dave@cirt.net>

	* en_GB.po: Updated British English translation.
2005-04-19 19:20:23 +00:00
Federico Mena Quintero
d22aa7c0f5 Merged from gtk-2-6:
2005-04-18  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): Remove
	obsolete assertion that the selected row can't be a volume; this
	is handled by the "removable" column now.  Fixes #301017.
2005-04-18 17:56:57 +00:00
Owen Taylor
9725c8d752 gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c Update to
2005-04-18  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c
        * gdk/gdkcolor.c gdk/gdkwindow.c gdk/gdkpixbuf-render.c
        gdk/gdkpango.c tests/testcairo.c: Update to new Cairo API for
        setting color and opacity. (#301066, Vincent Noel)
2005-04-18 15:11:01 +00:00
Federico Mena Quintero
9bd53c8683 Merged from gtk-2-6:
2005-04-15  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	* gtk/gtkfilechooserdefault.c (pending_select_paths_process):
	Patch from Christian Neumair <chris@gnome-de.org>; only select the
	first row if we are in OPEN mode.  The only other case we were
	letting pass through was SELECT_FOLDER, but selecting the first
	row when changing folders confuses people when folders are
	actually being selected.  Fixes #171885.
2005-04-15 21:27:27 +00:00
Iaki Larraaga
72af6a552b Fixed some typos.
2005-04-13  Iaki Larraaga  <dooteo@euskalgnu.org>

        * eu.po: Fixed some typos.
2005-04-13 18:24:38 +00:00
Iaki Larraaga
ea716418ef Updated Basque translation.
2005-04-13  Iaki Larraaga  <dooteo@euskalgnu.org>

        * eu.po: Updated Basque translation.
2005-04-13 18:21:48 +00:00
Iaki Larraaga
556ff9bbb2 Updated Basque trasnlation.
2005-04-13  Iaki Larraaga  <dooteo@euskalgnu.org>

        * eu.po: Updated Basque trasnlation.
2005-04-13 17:28:08 +00:00
Matthias Clasen
37f62538b8 Revert problematic fixes. 2005-04-13 15:04:30 +00:00
Ivan, Wong Yat Cheung
47b096e223 Fix #300218:
2005-04-11  Ivan, Wong Yat Cheung  <email@ivanwong.info>

	Fix #300218:

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix
	C99ism.

	* gtk/updateiconcache.c: Guard inclusion of unistd.h and
	utime.h.
2005-04-11 18:59:05 +00:00
Josep Puigdemont i Casamajó
e53cc66755 Updated Catalan translation. 2005-04-11 11:32:50 +00:00
Alexander Shopov
47be1b5541 Updated Bulgarian translation by Vladimir Petkov <vpetkov@i-space.org>
2005-04-11  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Vladimir Petkov <vpetkov@i-space.org>
2005-04-11 06:50:59 +00:00
Josep Puigdemont i Casamajó
8e6853cad9 Updated Catalan translation. 2005-04-11 00:47:23 +00:00
Matthias Clasen
41d3805477 Add some missing files. 2005-04-10 03:00:19 +00:00
Matthias Clasen
324872e3b4 Some more fixes necessary to make building with gcc 4 work.
* gdk/x11/gdkinput-xfree.c:
	* gdk/x11/gdkinput-none.c:
	* gdk/gtk.symbols: Some more fixes necessary to
	make building with gcc 4 work.
2005-04-10 01:01:18 +00:00
Matthias Clasen
136ec5c222 Add 16x16 versions of the zoom icons and of GTK_STOCK_INDEX. Some of the
Add 16x16 versions of the zoom icons and of
	GTK_STOCK_INDEX. Some of the images were taken from
	the hicolor icon theme, and were originally created
	by Jakub Steiner and Tuomas Kuosmanen. 	(#167515,
	Vincent Noel)

	* gtk/stock-icons/stock_index_16.png:
	* gtk/stock-icons/stock_zoom_1_16.png:
	* gtk/stock-icons/stock_zoom_fit_16.png:
	* gtk/stock-icons/stock_zoom_in_16.png:
	* gtk/stock-icons/stock_zoom_out_16.png: New images.

	* gtk/stock-icons/Makefile.am: Add the new images.
2005-04-09 23:48:50 +00:00
Matthias Clasen
d5a142d6d7 Add some 16x16 icons 2005-04-09 23:46:58 +00:00
Matthias Clasen
a75e27c0a4 Don't display too many broken images. (#169870, Roman Kagan, patch by Ivan
2005-04-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimage.c (gtk_image_calc_size, gtk_image_expose):
	Don't display too many broken images.  (#169870, Roman
	Kagan, patch by Ivan Wong)

	* gtk/gtkwidget.c (gtk_widget_unparent): Remove debugging
	output.  (#300013, Tommi Komulainen)

	* io-bmp.c (gdk_pixbuf__bmp_image_save_to_callback):
	Don't overflow the stack.  (Jakub Jelinek, Arjan van de Ven)
2005-04-09 21:57:04 +00:00
Miloslav Trmac
62fee90c16 Updated Czech translation.
2005-04-09  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-04-09 16:58:39 +00:00
Matthias Clasen
66649cc028 If a stock_id is unknown, display the missing image. (#169870, Steven
2005-04-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimage.c (gtk_image_expose, gtk_image_calc_size):
	If a stock_id is unknown, display the missing image. (#169870,
	Steven Walter)
2005-04-09 02:51:53 +00:00
Matthias Clasen
7cbd85cda2 Use the same function as in updateiconcache.c. (spotted by Morten
2005-04-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconcache.c (icon_name_hash): Use the same function
	as in updateiconcache.c.  (spotted by Morten Welinder)
2005-04-09 02:12:34 +00:00
Matthias Clasen
7e832a73ce Make this work when called from gtk_combo_box_destroy(). (#172999,
2005-04-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Make this
	work when called from gtk_combo_box_destroy().  (#172999,
	Christian Persch)
2005-04-08 22:07:35 +00:00
Matthias Clasen
7d6f9b81ee Use cache->buffer, not cache.
2005-04-08  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimecache.c (cache_magic_matchlet_compare_to_data)
	(cache_magic_matchlet_compare): Use cache->buffer, not
	cache.
2005-04-08 21:01:21 +00:00
Matthias Clasen
4df90d3150 No debugging output, please. 2005-04-08 20:37:51 +00:00
Adam Weinberger
533e3544fc Updated Canadian English translation.
2005-04-08  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-04-08 19:48:40 +00:00
Carl Worth
3d9f1d157a Simplify matrix manipulation now that cairo exposes the cairo_matrix_t
* gdk/gdkpango.c: (emboss_context): Simplify matrix manipulation
        now that cairo exposes the cairo_matrix_t structure.

        * gdk/gdkpixbuf-render.c: (gdk_pixbuf_set_as_cairo_source): Track
        cairo API change in signedness of data argument.
2005-04-08 17:21:09 +00:00
Matthias Clasen
3962c1166f Fix double-click to autosize treeview columns. This was probably broken
2005-04-08  Matthias Clasen  <mclasen@redhat.com>

	Fix double-click to autosize treeview columns. This was
	probably broken since 2.2 ! (#169675)

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Leave the
	"user-resized" state of the column on a double-click to
	autosize.
	(gtk_tree_view_button_press, gtk_tree_view_motion_resize_column):
	Enter the "user-resized" state of the column only if a drag
	actually changes the column width, not on any click.
2005-04-08 12:53:09 +00:00
Gareth Owen
cdf0814612 Updated British English translation 2005-04-08 01:34:42 +00:00
Matthias Clasen
624a9cdb1f Allow setting background images on menus. (#169532, Benjamin Otte)
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_paint): Allow setting background
	images on menus.  (#169532, Benjamin Otte)
2005-04-07 19:56:57 +00:00
Matthias Clasen
cb49f6e2d0 Document that GtkButtonBox ignores the homogeneous property. (#171412,
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkbbox.sgml: Document that GtkButtonBox ignores
	the homogeneous property.  (#171412, Morten Welinder)
2005-04-07 19:39:10 +00:00
Matthias Clasen
af8b86b8a1 Avoid unaligned access. (#172947)
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c (write_card16, write_card32): Avoid
	unaligned access.  (#172947)

	* gtk/gtkfilechooserdefault.c (file_list_build_popup_menu):
	Consistently use the term "Bookmarks" in the UI.  (#166906,
	Sebastian Bacher)
2005-04-07 19:10:11 +00:00
Matthias Clasen
dd893da822 Some fixes from Morten Welinder (#172947):
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	Some fixes from Morten Welinder (#172947):

	* gtk/updateiconcache.c (icon_name_hash): Make this compiler-
	and platform-independent.
	(is_cache_up_to_date): Don't compare mtimes is a stat call failed.
	(build_cache): Error out if a stat fails.
2005-04-07 18:46:19 +00:00
Matthias Clasen
58019209ed Add a paragraph about shortcut terminology. (#166906, Sebastien Bacher)
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkfilechooser.sgml: Add a paragraph about
	shortcut terminology.  (#166906, Sebastien Bacher)
2005-04-07 16:55:00 +00:00
Matthias Clasen
7e69556fa7 Make the docs of GKT_SELECTION_MULTIPLE more accurate by making them more
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkenums.sgml: Make the docs of GKT_SELECTION_MULTIPLE
	more accurate by making them more vague.  (#167088,
	Ken Siersma)
2005-04-07 14:39:28 +00:00
Kwok-Koon Cheung
43586196bc Updated traditional Chinese translation from GNOME HK Team
* zh_TW.po: Updated traditional Chinese translation from GNOME HK Team
2005-04-07 14:22:34 +00:00
Matthias Clasen
a9cdbf0fb5 Add a hint about hiding expanders.
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_expander_column): Add
	a hint about hiding expanders.
2005-04-07 13:36:48 +00:00
Matthias Clasen
29f9dbfc35 Add a sentence about toggling. (#159382, Worik Stanton)
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkradiobutton.sgml: Add a sentence about
	toggling.  (#159382, Worik Stanton)
2005-04-07 13:04:27 +00:00
Matthias Clasen
558ae6ac98 Return TRUE if the cache is newer than the directory. (#172852, Jacob
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/updateiconcache.c (is_cache_up_to_date): Return
	TRUE if the cache is newer than the directory.  (#172852,
	Jacob Kroon)
2005-04-07 12:41:40 +00:00
Stepan Kasal
de2d6b97c9 a typo 2005-04-07 07:43:58 +00:00
Matthias Clasen
5a4d4680ae Replace an explicit pkg-config by $PKG_CONFIG. (#168074, Hans-Wolfgang
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Replace an explicit pkg-config by
	$PKG_CONFIG.  (#168074, Hans-Wolfgang Loidl)
2005-04-07 06:15:12 +00:00
Matthias Clasen
ac0d780ce5 Commit the right ChangeLog 2005-04-07 05:45:35 +00:00
Matthias Clasen
43cdce02c7 Initialize the colormap to zero. (#171762, David Costanzo)
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* io-bmp.c (DecodeColormap): Initialize the colormap to
	zero.  (#171762, David Costanzo)
2005-04-07 05:44:41 +00:00
Matthias Clasen
96c602cc0e Ignore regions which fall completely outside the line. (#165862, Felipe
2005-04-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region):
	Ignore regions which fall completely outside the line.
	(#165862, Felipe Heidrich)
2005-04-07 05:39:18 +00:00
Matthias Clasen
25c468dfbb Pass the target list to the underlying dnd implementation, otherwise we
2005-04-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_enable_model_drag_source)
	(gtk_tree_view_enable_model_drag_dest): Pass the target list
	to the underlying dnd implementation, otherwise we miss the
	target info in the drag-data-received signal.  (#164085, Jorn
	Baayen)
2005-04-07 03:55:13 +00:00
Matthias Clasen
d1dd40d9ae Document -1 as possible value.
2005-04-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_search_column): Document
	-1 as possible value.
2005-04-07 02:41:27 +00:00
Matthias Clasen
88eb09d633 Avoid a few unnecessary calls to gdk_window_get_pointer(). (#168015, Billy
2005-04-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_motion_resize_column)
	(gtk_tree_view_bin_expose): Avoid a few unnecessary calls
	to gdk_window_get_pointer(). (#168015, Billy Biggs)
2005-04-06 16:47:01 +00:00
Matthias Clasen
6bc5df518a Make it compile 2005-04-06 13:49:28 +00:00
Matthias Clasen
8eae254920 Remove Makefile.in.in 2005-04-06 13:08:01 +00:00
Matthias Clasen
4d74d5e0cd Don't modify scanner->value, copy it first. (#165693, Tommi Komulainen)
2005-04-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrc.c (gtk_rc_parse_style): Don't modify scanner->value,
	copy it first.  (#165693, Tommi Komulainen)
2005-04-06 12:45:55 +00:00
Maxim Dziumanenko
1e8326d418 Updated Ukrainian translation.
2005-04-06  Maxim Dziumanenko <mvd@mylinux.com.ua>

	* Updated Ukrainian translation.
2005-04-06 12:17:09 +00:00
Matthias Clasen
c825c71a66 Implement grab_focus for GtkComboBox and GtkComboBoxEntry. (#171912,
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_grab_focus):
	* gtk/gtkcombobox.c (gtk_combo_box_grab_focus): Implement
	grab_focus for GtkComboBox and GtkComboBoxEntry.  (#171912,
	Gustavo Carneiro)
2005-04-06 04:01:19 +00:00
Matthias Clasen
a6259bbd4d Store icon caches along with the mtimes of the toplevel directories. The
* gtk/gtkicontheme.c: Store icon caches along with the
	mtimes of the toplevel directories. The previous
	mechanism of a hashtable-per-theme caused duplicate icon
	caches for the same toplevel directory to be created.
	(#170030)
2005-04-06 03:34:38 +00:00
Matthias Clasen
bcfe29ec12 Fix a typo in a warning.
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_build_level):
	Fix a typo in a warning.
2005-04-05 23:05:53 +00:00
Manish Singh
e20434093a add xdgmimecache.[ch].
Tue Apr  5 16:00:04 2005  Manish Singh  <yosh@gimp.org>

        * Makefile.am: add xdgmimecache.[ch].
2005-04-05 23:00:53 +00:00
Matthias Clasen
d1f5b0cf2a Protect the license and credits buttons from being affected by
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Protect
	the license and credits buttons from being affected by
	gtk_widget_show_all().  (#172724)
2005-04-05 22:37:02 +00:00
Hendrik Richter
3fab628d29 Updated German translation.
2005-04-05  Hendrik Richter  <hendi@gnome-de.org>

	* de.po: Updated German translation.
2005-04-05 18:36:32 +00:00
Adam Weinberger
2285608fd4 Updated Canadian English translation.
2005-04-05  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-04-05 18:10:51 +00:00
Matthias Clasen
bdb14ae648 Keep a reference to the item. (#167920, Hazael Maldonado Torres)
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenushell.c (gtk_menu_shell_activate_item): Keep a
	reference to the item.  (#167920, Hazael Maldonado Torres)
2005-04-05 13:52:32 +00:00
Matthias Clasen
3372325195 Add some more docs on interactive search.
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_search_column): Add some
	more docs on interactive search.
2005-04-05 12:52:17 +00:00
Matthias Clasen
7e0efdc102 Mention enter and leave events. (#167546, Billy Biggs)
2005-04-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtktooltips.sgml: Mention enter and leave
	events.  (#167546, Billy Biggs)
2005-04-05 12:25:18 +00:00
Tor Lillqvist
64f6d8cd7f Handle 16 colour display mode. For some reason, in this mode
2005-04-05  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Handle 16 colour
	display mode. For some reason, in this mode GetDeviceCaps(BITSPIXEL)
	returns 1 (but GetDeviceCaps(NUMCOLORS)	does return 16). (#143415)
2005-04-05 01:46:59 +00:00
Tor Lillqvist
8b388cd365 Don't force 24bpp GdkVisual on 32bpp displays. (#140706)
2005-04-05  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkvisual-win32.c (_gdk_visual_init): Don't force
	24bpp GdkVisual on 32bpp displays. (#140706)
2005-04-05 00:42:24 +00:00
Matthias Clasen
f30b816cc6 Add bug ref 2005-04-05 00:14:27 +00:00
Jonathan Blandford
77bc53053b change to use gtk_tree_view_real_expand_row() instead of doing this by
Mon Apr  4 19:13:23 2005  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_expand_all): change to use
        gtk_tree_view_real_expand_row() instead of doing this by hand.
2005-04-04 23:41:19 +00:00
Johan Dahlin
6675c29a7d Add GtkTextBuffer::text (#172631)
* gtk/gtktextbuffer.c: (gtk_text_buffer_class_init),
    (gtk_text_buffer_set_property), (gtk_text_buffer_get_property),
    (gtk_text_buffer_set_text): Add GtkTextBuffer::text (#172631)
2005-04-04 23:29:53 +00:00
Matthias Clasen
415750b253 Forgotten file 2005-04-04 21:57:39 +00:00
Manish Singh
006fcb4abe cast combo->priv->entry to GTK_ENTRY()
Mon Apr  4 14:33:55 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text):
        cast combo->priv->entry to GTK_ENTRY()

        * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
        cast completion->priv->tree_view to GTK_TREE_VIEW()
2005-04-04 21:35:46 +00:00
Matthias Clasen
70d788c71e Some trivial doc fixes.
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbuffer.c: Some trivial doc fixes.
2005-04-04 21:15:41 +00:00
Matthias Clasen
db787e72c6 Improve the wording of the doc comment. (#172422, Vincent Untz)
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_redraw_on_allocate): Improve
	the wording of the doc comment.  (#172422, Vincent Untz)
2005-04-04 21:06:08 +00:00
Owen Taylor
f15a260ce0 Covert expander drawing to Cairo. Also always draw the entire triangle
2005-04-04  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c (gtk_default_draw_expander): Covert expander
        drawing to Cairo. Also always draw the entire triangle instead
        of just drawing the center for prelight. (Fixes inconsistent
        drawing in GtkTreeView.)
2005-04-04 20:51:24 +00:00
Johan Dahlin
3a51a0bc89 Remove symbols accidentally added. Add boolean property popup_set_width
2005-04-04  Johan Dahlin  <johan@gnome.org>

        * gtk/gtk.symbols: Remove symbols accidentally added.
        * gtk/gtkentryprivate.h: Add boolean property popup_set_width
        * gtk/gtktoggletoolbutton.c: (gtk_toggle_tool_button_class_init):
        Use object_class instead of gobject_class
2005-04-04 20:37:42 +00:00
Adam Weinberger
f2f1c755a8 Updated Canadian English translation.
2005-04-04  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-04-04 20:32:01 +00:00
Vincent van Adrighem
53c1a78ee5 Translation updated by Tino Meinen.
2005-04-04  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2005-04-04 19:58:02 +00:00
Søren Sandmann
44404f2dc8 Translate x, y into widget coordinates instead of root coordinates. Patch
Mon Apr  4 12:14:35 2005  Søren Sandmann  <sandmann@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_handle_scrolling): Translate x, y into
	widget coordinates instead of root coordinates. Patch from Jorn
	Baayen. (#172236)
2005-04-04 16:20:28 +00:00
Matthias Clasen
d4b808080f Add a tooltips property.
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktoolbar.c: Add a tooltips property.
2005-04-04 14:20:55 +00:00
Matthias Clasen
1adc8cb75d Forgotten files 2005-04-04 13:21:50 +00:00
Matthias Clasen
b64bc34caf Add docs.
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_class_init):
	* gtk/gtkruler.c (gtk_ruler_class_init): Add docs.

	* gtk/gtktoggletoolbutton.c: Add an active property.
2005-04-04 06:28:07 +00:00
Matthias Clasen
c4e31ace4d Allow completion popups to be wider than the entry. (#131916, Ross Burton)
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	Allow completion popups to be wider than the entry. (#131916,
	Ross Burton)

	* gtk/gtkentrycompletion.[hc]: Add a boolean popup-set-width property.

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Don't force the popup to have the same width as the entry if
	popup-set-width is FALSE.

	* gtk/gtk.symbols: Add new functions.
2005-04-04 05:15:32 +00:00
Matthias Clasen
36388a1fbf Use gtk_accel_map_change_entry(), so that reusing the same action name
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
	Use gtk_accel_map_change_entry(), so that reusing the same
	action name works.  (#170727, Paolo Borelli)
2005-04-04 04:36:04 +00:00
Tor Lillqvist
0b2ac32cf5 New debugging function, to log a clipboard format name symbolically.
2005-04-04  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkmain.c (_gdk_win32_cf_to_string): New debugging
	function, to log a clipboard format name symbolically.
	(_gdk_win32_data_to_string): Also new, to log random data bytes.

	Implement delayed rendering on Win32, specifically for transfering
	images through the clipboard from GTK+ apps to other
	apps (#168173, implementation by Ivan Wong):

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Handle WM_RENDERFORMAT.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: Add _format_atom_table,
	_delayed_rendering_data and _image_bmp.

	* gdk/win32/gdkmain-win32.c: Initialize _image_bmp.

	* gdk/win32/gdkproperty-win32.c (gdk_property_change):
	Accept formats other than GDK_TARGET_STRING or _utf8_string, and
	assume they are handled through delayed rendering.

	* gdk/win32/gdkselection-win32.c (gdk_selection_convert):
	Return all available formats (including those registered by GTK+
	apps) on request_targets.
	(gdk_selection_property_get): We should append a zero byte like
	X11 does.
	(gdk_win32_selection_add_targets): New function, for
	gtkselection's use. Win32 requires that the clipboard owner
	registers all valid formats even if the owner wants delayed
	rendering.
	(_gdk_win32_selection_convert_to_dib): New function. Convert
	images to DIB using gdk-pixbuf.

	* gdk/win32/gdkwin32.h: Declare gdk_win32_selection_add_targets().

	* gtk/gtkselection.c (gtk_selection_add_target,
	gtk_selection_add_targets): Call gdk_win32_selection_add_targets()
	to register target formats.

	* gdk/gdk.symbols: Add gdk_win32_selection_add_targets().
2005-04-04 00:12:26 +00:00
Raphael Higino
ba433af9fb Updated pt_BR translation 2005-04-03 22:59:47 +00:00
Hans Breuer
0ba6aed77e [merged from gtk-2-6 branch] let dash_offset shift the start of the line
2005-04-03  Hans Breuer  <hans@breuer.org>

	[merged from gtk-2-6 branch]
	* gdk/win32/gdkdrawable-win32.c : let dash_offset shift the start of
	the line pattern not the start of the line. Fixes bug #171641.

	* gtk/makefile.msc.in : follow .symbols changes

	* gdk/win32/gdkwindow-win32.c : declare and resolve GetAncestor()
	dynamically. (It is not available in _WIN_VER <= 0x0400)

	* gdk/win32/makefile.msc : removed gdkpango-win32.obj

	* gtk/gtkhsv.c gtk/gtkstyle.c : use G_PI instead of M_PI

	[also applied to gtk-2-6 branch]
	* gdk/makefile.msc gdk-pixbuf/makefile.msc : handle gdk*alias.def

	* gdk/makefile.msc.in : add gtkmnemonichash.obj

	* test/testgtk.c(set_parent_signal) : use g_message instead of
	g_print to keep the 'testgtk --bench=all' output clean
2005-04-03 21:03:08 +00:00
Adam Weinberger
4a6d631cc6 Updated Canadian English translation.
2005-04-03  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-04-03 18:10:46 +00:00
Matthias Clasen
74335e8825 Add a "metric" property.
2005-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkruler.c: Add a "metric" property.
2005-04-03 07:31:58 +00:00
Matthias Clasen
0908bbcd7f Add a "group" property like the one found in radio buttons.
2005-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkradiomenuitem.c: Add a "group" property like
	the one found in radio buttons.

	* gtk/gtkradiobutton.c (gtk_radio_button_class_init): Fix
	a typo in the docs.
	(gtk_radio_button_set_group): Add change notification.
2005-04-03 07:11:09 +00:00
Matthias Clasen
7dbafd4398 Move documentation inline, document if add_target functions append or
2005-04-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkselection.c: Move documentation inline, document
	if add_target functions append or prepend.  (#172350,
	Jon-Kare Hellan)
2005-04-01 21:20:58 +00:00
Matthias Clasen
b82af5ce89 Make gtk_combo_box_get_active_text do the right thing for GtkComboBoxEntry
2005-04-01  Matthias Clasen  <mclasen@redhat.com>

	Make gtk_combo_box_get_active_text do the right thing for
	GtkComboBoxEntry (#171373, Robert Staudinger)

	* gtk/gtkcombobox.h: Add a get_active_text vfunc.

	* gtk/gtkcombobox.c (gtk_combo_box_real_get_active_text): And
	implement it here.

	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_get_active_text):
	Implement get_active_text by always returning the content of
	the entry.
2005-04-01 20:53:04 +00:00
Adam Weinberger
6160b3ba8f Updated Canadian English translation.
2005-03-31  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-03-31 21:48:57 +00:00
Michael Natterer
2e24a08061 added gtk_menu_set/get_take_focus().
2005-03-31  Michael Natterer  <mitch@gimp.org>

	* gtk/gtk-sections.txt: added gtk_menu_set/get_take_focus().

	* gtk/tmpl/gtkmenushell.sgml: regenerated.
2005-03-31 17:04:27 +00:00
Sven Neumann
5fc338544b Merged from gtk-2-6:
2005-03-31  Sven Neumann  <sven@gimp.org>

	Merged from gtk-2-6:

	* gtk/gtkbutton.c
	* gtk/gtkiconview.c: fixed gtk-doc comments.
2005-03-31 17:04:25 +00:00
Michael Natterer
9f553ec6d1 added gtk/gtkmenushell.c
2005-03-31  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: added gtk/gtkmenushell.c
2005-03-31 17:02:49 +00:00
Michael Natterer
91cb92c018 Allow to pop up menus without grabbing the keyboard. Useful for stuff like
2005-03-31  Michael Natterer  <mitch@gimp.org>

	Allow to pop up menus without grabbing the keyboard. Useful for
	stuff like virtual keyboards. Fixes bug #159890

	* gtk/gtk.symbols
	* gtk/gtkmenushell.[ch]: added boolean property "take-focus"
	and public API gtk_menu_shell_set/get_take_focus().

	* gtk/gtkmenu.c (gtk_menu_popup)
	(popup_grab_on_window): don't grab the keyboard if take_focus
	is FALSE.

	* gtk/gtkmenuitem.c (_gtk_menu_item_popup_submen): propagate the
	parent menu_shell's take_focus property to the submenu which is
	about to be popped up.
2005-03-31 17:02:19 +00:00
Miloslav Trmac
420878b21e Updated Czech translation.
2005-03-31  Miloslav Trmac  <mitr@volny.cz>

	* cs.po: Updated Czech translation.
2005-03-31 09:10:49 +00:00
Steven Michael Murphy
5b60b84e89 Added new entries to Kinyarwanda (rw) po file, from bigger compendium.
Added new entries to Kinyarwanda (rw) po file, from bigger compendium.
2005-03-31 04:44:03 +00:00
Steven Michael Murphy
bedc2e79af Rolling in more translations (fuzzy&exact) from a bigger compendium.
Rolling in more translations (fuzzy&exact) from a bigger compendium.
2005-03-31 04:41:36 +00:00
Steven Michael Murphy
44e35d178a Rolling in more exact & fuzzy translations from a bigger compendium.
Rolling in more exact & fuzzy translations from a bigger compendium.
2005-03-31 04:39:08 +00:00
Estêvão Samuel Procópio
db48c4a88c Updated Brazilian Portuguese Translation. 2005-03-30 22:33:22 +00:00
Federico Mena Quintero
e1fc6b423d Merged from gtk-2-6:
2005-03-30  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fix #170755:

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
	if the row which changed is the same as the row being edited.
2005-03-30 21:48:10 +00:00
Estêvão Samuel Procópio
78c230c06c Updating Brazilian Portuguese translation. 2005-03-30 20:09:39 +00:00
Matthias Clasen
2aeadf5e68 Avoid bus errors due to unaligned access. (#168173, Morten Welinder, Ivan
2005-03-30  Matthias Clasen  <mclasen@redhat.com>

	* io-bmp.c: Avoid bus errors due to unaligned access. (#168173,
	Morten Welinder, Ivan Wong)
2005-03-30 19:34:37 +00:00
Matthias Clasen
15ea081b5f Make enable_search control only typeahead, not C-f. (#170435, Sven
2005-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
	Make enable_search control only typeahead, not C-f.  (#170435,
	Sven Neumann)
	(gtk_tree_view_start_interactive_search): Pass keybinding == TRUE.
2005-03-30 18:20:59 +00:00
Matthias Clasen
bf5561d2f6 Include cairo.h
2005-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkpixbuf.h: Include cairo.h
2005-03-30 17:40:39 +00:00
Matthias Clasen
dd58d23390 Don't accept n_targets == -1. (clipboard_unset): unref the old_data, not
2005-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_set_can_store):
	Don't accept n_targets == -1.
	(clipboard_unset): unref the old_data, not the
	user_data which we have just cleared.  (#172038, Sven
	Neumann)
2005-03-30 17:37:42 +00:00
Matthias Clasen
118003400a Forgotten Changelog 2005-03-30 17:10:00 +00:00
Matthias Clasen
adef99d4c2 Don't segfault if somebody tries to popup an unrealized combo box.
2005-03-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_popup): Don't
	segfault if somebody tries to popup an unrealized
	combo box.  (#172031, Felipe Heidrich)
2005-03-30 17:09:13 +00:00
Tor Lillqvist
681afb7b6a Fix event filter handling. If an event filter (global, client message
2005-03-30  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix event
	filter handling. If an event filter (global, client message
	filter, of window-specific) returns GDK_FILTER_CONTINUE,
	continue as if nothing happened. If it returns
	GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE, return TRUE from
	gdk_event_translate() which means that DefWindowProc() will
	not be called.
	(gdk_event_translate): Fix client message handling. Append a
	GDK_CLIENT_EVENT unless there is a filter that matches and returns
	something other than GDK_FILTER_CONTINUE. (#135552)
2005-03-30 08:25:45 +00:00
Tor Lillqvist
3618011a5a The state field should represent the state before the event, like on X11.
2005-03-30  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (build_pointer_event_state): The
	state field should represent the state before the event, like on
	X11. (#169753)
2005-03-30 08:07:45 +00:00
Kwok-Koon Cheung
b4a04f55d8 Updated traditional Chinese translation from GNOME HK Team
* zh_TW.po: Updated traditional Chinese translation from GNOME HK Team
2005-03-30 03:47:46 +00:00
Matthias Clasen
2d9b7d9587 Document the need to refilter if parameters of the visibility function
2005-03-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_visible_func):
	Document the need to refilter if parameters of the visibility function
	change.  (#169516, Olivier Sessink)
2005-03-29 06:04:18 +00:00
Matthias Clasen
2aa05e973e Fix the update areas for incremental loading of compressed tgas. (#171883,
2005-03-29  Matthias Clasen  <mclasen@redhat.com>

	* io-tga.c (parse_rle_data): Fix the update areas for incremental
	loading of compressed tgas.  (#171883, David Costanzo)
2005-03-29 05:21:26 +00:00
Søren Sandmann
8e5713f3e0 Don't invalidate areas that are covered by mapped input-output child
Mon Mar 28 15:13:42 2005  Søren Sandmann  <sandmann@redhat.com>

	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Don't
	invalidate areas that are covered by mapped input-output child
	windows. Bug 141380.
2005-03-28 20:28:43 +00:00
Matthias Clasen
0e832d57fc Sync to latest upstream, including fixes for matching against multiple
2005-03-28  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimeglob.c: Sync to latest upstream,
        including fixes for matching against multiple
        extensions (eg .tar.gz) and for suffix
        patterns which don't start with a dot.
2005-03-28 19:32:07 +00:00
Jeroen Zwartepoorte
2b874b2438 Make the preview label ellipsize so the dialog layout stays constant.
2005-03-28  Jeroen Zwartepoorte  <jeroen.zwartepoorte@gmail.com>

	* gtk/gtkfilechooserdefault.c: (update_preview_widget_visibility): Make
	the preview label ellipsize so the dialog layout stays constant.
	(#171398)
2005-03-28 17:18:00 +00:00
Matthias Clasen
c1eb6133d4 Don't pop up the context menu of the search entry if it is not visible.
2005-03-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): Don't pop up
	the context menu of the search entry if it is not visible.
	(#169534, Billy Biggs)
2005-03-28 06:03:42 +00:00
Matthias Clasen
eb96e5c861 Use the correct update regions for compressed bmps. (#150664, Owen Taylor,
2005-03-27  Matthias Clasen  <mclasen@redhat.com>

	* io-bmp.c (DoCompressed): Use the correct update regions for
	compressed bmps.  (#150664, Owen Taylor, test images provided
	by David Costanzo)
2005-03-28 04:16:10 +00:00
Manish Singh
fcde8479cc reject 0-sized buffers as corrupt header data. Fixes bug #171707.
Sun Mar 27 19:59:52 2005  Manish Singh  <yosh@gimp.org>

        * io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
        data. Fixes bug #171707.
2005-03-28 04:01:25 +00:00
Raphael Higino
4d48403bc6 Updated pt_BR translation 2005-03-27 21:30:52 +00:00
Tor Lillqvist
793699d64f Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated after all, and in fact
2005-03-27  Tor Lillqvist  <tml@novell.com>

	* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
	after all, and in fact necessary with HEAD libtool.
2005-03-27 19:20:51 +00:00
Francisco Javier F. Serrador
a4e6d69b90 Updated Spanish translation.
2005-03-27  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-03-26 23:02:41 +00:00
Francisco Javier F. Serrador
b717bcda64 Updated Spanish translation.
2005-03-26  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>

	* es.po: Updated Spanish translation.
2005-03-26 15:48:43 +00:00
Adam Weinberger
8c091c2348 Updated Canadian English translation.
2005-03-26  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2005-03-26 07:25:49 +00:00
Matthias Clasen
4c28ce0877 Use canonical names for g_object_notify() as well.
2005-03-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c:
	* gdk/gdkdisplaymanager.c:
	Use canonical names for g_object_notify() as well.
2005-03-26 05:49:15 +00:00
Tor Lillqvist
6323876b41 Include the -mms-bitfields flag in GTK_EXTRA_CFLAGS on Win32, so that it
2005-03-24  Tor Lillqvist  <tml@novell.com>

	* configure.in (GTK_EXTRA_CFLAGS): Include the -mms-bitfields flag
	in GTK_EXTRA_CFLAGS on Win32, so that it gets included in the
	gtk+-2.0.pc file and automatically used by dependents. MSVC users
	who use pkg-config will have to manually edit it out from
	gtk+-2.0.pc, sorry. Maybe pkg-config should be enhanced to support
	some kind of conditionals in .pc files?
2005-03-24 15:14:12 +00:00
Matthias Clasen
340cf63e28 Remove a call whose result was unused and leaked. (#170776, Kjartan
2005-03-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (update_combo_box): Remove
	a call whose result was unused and leaked.  (#170776,
	Kjartan Maraas)
2005-03-23 14:07:21 +00:00
Matthias Clasen
c43673f17f Some cleanups to the GtkDialog code: (#170746, Morten Welinder) Simplify,
2005-03-23  Matthias Clasen  <mclasen@redhat.com>

	Some cleanups to the GtkDialog code:  (#170746,
	Morten Welinder)
	* gtk/gtkdialog.c (action_widget_activated): Simplify,
	use _gtk_dialog_get_response_for_widget.
	(gtk_dialog_add_action_widget): Use the correct signal
	id for non-buttons.
	(gtk_dialog_set_response_sensitive):
	(gtk_dialog_set_default_response): Use get_response_data.
	(gtk_dialog_run): Don't disconnect the signals if the
	dialog was destroyed while running.
2005-03-23 14:03:43 +00:00
Manish Singh
edc3b13575 Use g_return_if_fail, not g_return_val_if_fail.
Tue Mar 22 14:16:31 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label):
        Use g_return_if_fail, not g_return_val_if_fail.
2005-03-22 22:17:16 +00:00
Matthias Clasen
dce8bffc7d Implement bookmark renaming (#136216, Sean Middleditch)
2005-03-22  Matthias Clasen  <mclasen@redhat.com>

	Implement bookmark renaming  (#136216, Sean Middleditch)

	* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Add
	get_bookmark_label and set_bookmark_label vfuncs.

	* gtk/gtkfilesystem.h:
	* gtk/gtkfilesystem.c (gtk_file_system_set_bookmark_label):
	(gtk_file_system_get_bookmark_label): Wrappers for the
	vfuncs.

	* gtk/gtk.symbols: Add new exported symbols.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_set_bookmark_label):
	(gtk_file_system_unix_get_bookmark_label): Implementations
	for the Unix backend.

	* gtk/gtkfilechooserdefault.c: Add a context menu to
	the bookmarks pane, and allow to rename bookmarks.
2005-03-22 20:23:19 +00:00
Matthias Clasen
81ffe54056 Stop scrolling when the widget is unmapped. (#168791, Ryan Lortie)
2005-03-22  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.c (gtk_path_bar_unmap):
	* gtk/gtkspinbutton.c (gtk_spin_button_unmap):
	* gtk/gtknotebook.c (gtk_notebook_unmap):
	* gtk/gtkrange.c (gtk_range_unmap): Stop scrolling when
	the widget is unmapped.  (#168791, Ryan Lortie)
2005-03-22 17:36:41 +00:00
Matthias Clasen
d9204a3329 Forgotten commit. 2005-03-22 17:06:03 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
	GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
	their G_ counterparts, but also mark the name, nick
	and blurb as static.

	* gtk/*.c: Mark param spec strings as static, using
	the new macros.
2005-03-22 02:14:55 +00:00
Matthias Clasen
8d752a5587 Fix a typo 2005-03-21 15:34:36 +00:00
Matthias Clasen
306cc2ed71 Fix typo 2005-03-21 06:05:18 +00:00
Matthias Clasen
633dd9937b Fix a typo 2005-03-21 06:04:01 +00:00
Matthias Clasen
b6c29a5f1a : Mark param spec strings as static. 2005-03-21 06:02:43 +00:00
Matthias Clasen
0660947018 Mark param spec strings as static.
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkpango.c (gdk_pango_renderer_class_init):
	* gdk/gdkdisplaymanager.c (gdk_display_manager_class_init): Mark
	param spec strings as static.
2005-03-21 05:17:10 +00:00
Matthias Clasen
7e77ea9943 Mark param spec strings as static.
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf.c (gdk_pixbuf_class_init): Mark param spec strings
	as static.
2005-03-21 05:07:20 +00:00
Manish Singh
42bf543898 Shut up CVS 2005-03-21 02:42:16 +00:00
Tor Lillqvist
a2f426f36f Silence gcc warnings (unused variables, unhandled enum value in switch).
2005-03-21  Tor Lillqvist  <tml@novell.com>

	* modules/engines/ms-windows/*.c: Silence gcc warnings (unused
	variables, unhandled enum value in switch). Use g_object_unref()
	instead of deprecated gdk_gc_unref() and gdk_drawable_unref().

	* modules/engines/ms-windows/xp_theme.c (xp_theme_map_gtk_state):
	Add missing "case" keyword.

	* modules/engines/ms-windows/Makefile.am: Link with -lgdi32
	explicitly.
2005-03-20 23:10:14 +00:00
Tor Lillqvist
b459ef889c Return the Terminal Services session number, window station name (always
2005-03-20  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdisplay-win32.c (gdk_display_get_name): Return the
	Terminal Services session number, window station name (always
	"WinSta0" in interactive processes), and desktop name (typically
	"Default"), concatenated with backslash separators.
	(gdk_display_open): Accept only NULL or the string
	gdk_display_get_name() returns as display name.
2005-03-20 21:39:55 +00:00
Manish Singh
31bfcc1a1d cast away the constness in the call to free().
Sat Mar 19 23:52:33 2005  Manish Singh  <yosh@gimp.org>

        * xdgmimeglob.c (_xdg_glob_hash_insert_text): cast away the constness
        in the call to free().
2005-03-20 07:53:16 +00:00
Matthias Clasen
231cb64471 Don't leak node->mime_type if we are reusing an existing node. (#170774,
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimeglob.c (_xdg_glob_hash_insert_text): Don't
	leak node->mime_type if we are reusing an existing
	node.  (#170774, Kjartan Maraas)
2005-03-20 07:10:14 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Soeren Sandmann
b39b0bfc04 Make right-clicks not pop up the menu.
Fri Mar 18 23:59:49 2005  Soeren Sandmann  <sandmann@redhat.com>

	* gtk/gtkmenutoolbutton.c (arrow_button_button_press_event_cb):
	Make right-clicks not pop up the menu.
2005-03-19 06:31:42 +00:00
Owen Taylor
b8663e868f Call cairo_surface_finish()
2005-03-18  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_finish):
        Call cairo_surface_finish()

        * gdk/gdkinternals.c gdk/x11/gdkdrawable-x11.c: Remoev
        _gdk_windowing_set_surface_device_offset().
2005-03-18 23:51:31 +00:00
Tor Lillqvist
e4515f4dba On WM_MOUSEMOVE, don't check if this process owns the active window. This
2005-03-18  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_MOUSEMOVE, don't check if this process owns the active
	window. This makes cross-application widget embedding work better.
	On WM_MOVE, don't bother checking for window visibility.

	* gdk/win32/gdkim-win32.c: Remove bogus empty doc comment. Remove
	unused variables. Add some casts to silence gcc.
2005-03-18 10:21:51 +00:00
Owen Taylor
368f15ca59 Use cairo_set_device_offset().
2005-02-24  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c: Use cairo_set_device_offset().

	* gdk/win32/gdkdrawable-win32.[ch] gdk/win32/gdkwindow-win32.c
	gdk/win32/gdkpixmap-win32.c:
	Add_gdk_win32_drawable_acquire/release_dc() to get a DC for the
	drawable. Add _gdk_drawable_win32_finish() to clean up resources
	when a drawable is destroyed.

	* gdk/win32/gdkgc-win32.c gdk/win32/gdkdrawable-win32.c
	(blit_from_pixmap) gdk/win32/gdkprivate-win32.h : Use
	acquire/release_dc when getting a DC to use with a GC or for
	blitting from a pixmap.

	* gdk/win32/gdkdrawable-win32.[ch]: Implement ref_cairo_surface()

	* gdk/win32/gdkpango-win32.c gdk/win32/gdkdrawable-win32.c Makefile.am:
	Remove gdk_screen_get_pango_context(), draw_glyph[_transformed]
	implementations.

	* gdk/win32/gdkdrawable-win32.c: Remove
	gdk_draw_rectangle_alpha_libgtk_only()
2005-03-18 01:23:23 +00:00
Owen Taylor
d1bc66a20c Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple
2005-03-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set
        EXTEND_REPEAT on the stipple pattern.
2005-03-17 20:53:34 +00:00
Matthias Clasen
e3737e59fe Fix formatting in example in the docs. (#170611, Jianfei Wang)
2005-03-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.c (gtk_label_set_markup): Fix formatting
	in example in the docs.  (#170611, Jianfei Wang)
2005-03-17 19:32:45 +00:00
Matthias Clasen
b3570de983 Clamp adjustment values on resize. (#170567, Tomislav Jonjic)
2005-03-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_size_allocate): Clamp
	adjustment values on resize.  (#170567, Tomislav Jonjic)
2005-03-17 18:37:35 +00:00
Matthias Clasen
c4aa487d72 Don't crash if there is no cache. (#170652, Diego Gonzalez)
2005-03-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (theme_lookup_icon): Don't crash
	if there is no cache.  (#170652, Diego Gonzalez)
2005-03-17 18:13:46 +00:00
Matthias Clasen
86009fba38 Make inline completion insert the prefix at the right spot. (#170146, Doug
2005-03-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_real_insert_prefix):
	Make inline completion insert the prefix at the
	right spot.  (#170146, Doug Quale)
2005-03-17 18:09:24 +00:00
Tor Lillqvist
691bea134f gdk_key is a typedef, not a struct tag.
2005-03-17  Tor Lillqvist  <tml@novell.com>

	* gdk/gdkkeynames.c: gdk_key is a typedef, not a struct tag.
2005-03-17 12:05:16 +00:00
Adam Weinberger
6ffbc07492 Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-03-17 05:31:12 +00:00
Matthias Clasen
7049dbf12f Typo fix in the docs.
2005-03-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprogressbar.c (gtk_progress_bar_get_ellipsize):
	Typo fix in the docs.

	* gtk/gtkmenutoolbutton.c (gtk_menu_tool_button_set_arrow_tooltip):
	Typo fix in the docs.

	* gtk/gtkiconview.c (gtk_icon_view_get_columns)
	(gtk_icon_view_set_columns, gtk_icon_view_set_item_width)
	(gtk_icon_view_get_item_width, gtk_icon_view_set_spacing)
	(gtk_icon_view_get_spacing, gtk_icon_view_set_row_spacing)
	(gtk_icon_view_set_column_spacing, gtk_icon_view_get_row_spacing)
	(gtk_icon_view_get_column_spacing, gtk_icon_view_set_margin)
	(gtk_icon_view_get_margin): Add docs.

	* gtk/gtkcellview.c (gtk_cell_view_get_displayed_row):
	Add docs.
2005-03-17 03:23:23 +00:00
Owen Taylor
09d7eafb15 Switch set_cairo_target() virtual function to ref_cairo_surface()
2005-03-15  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
	gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
	ref_cairo_surface()

	* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
	function to create_cairo_context()

	* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.

	* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
	not just the pixel.

	* tests/testcairo.c: Update for create_cairo_context()

	* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
	Reimplement in terms of Cairo, bypass the vtable entries.

	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
	gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
	gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
	implementation of draw_trapezoids / draw_glyphs[_transformed].

	* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo

	* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
	gdk_pango_context_get_for_screen() into the backend independent code.

	* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
	for drawing images.

	* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
	gdk_draw_rectangle_alpha_libgtk_only.

	* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
	gdk_pixbuf_set_as_cairo_source()

	* gdk/gdk.symbols: Update

	* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
	gtk/gtk[hv]ruler.c: Convert to Cairo rendering.

	* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
	gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
	radio button style for now to get something more scalable.

	*  gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
	antialiasing/dpi settings.
2005-03-17 01:54:40 +00:00
Matthias Clasen
eebd4f1c4b Also demonstrate GtkCellRenderer::editing-started and separators.
2005-03-16  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/editable_cells.c: Also demonstrate
	GtkCellRenderer::editing-started and separators.
2005-03-16 07:16:29 +00:00
Manish Singh
f0ce2b12a2 Shut up CVS 2005-03-16 04:36:05 +00:00
Manish Singh
9e7f4ff465 #include gdkaliasdef.c here too.
Tue Mar 15 20:34:33 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkinput-xfree.c: #include gdkaliasdef.c here too.
2005-03-16 04:35:33 +00:00
Matthias Clasen
2a2d769d42 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gdk/gdk.symbols: Group symbols by header and source file.
	* gdk/makegdkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegdkalias.pl -def
	* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
	file.
	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
	headers, include gdkaliasdef.c at the bottom.
2005-03-16 03:17:27 +00:00
Tor Lillqvist
34bfd71279 gdk/win32/gdkprivate-win32.h Drop global variable _gdk_root_window, just
2005-03-16  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/*.c: Drop global variable _gdk_root_window, just call
	GetDesktopWindow(). Rename the GdkWindow* _gdk_parent_root to
	_gdk_root.

	* gdk/win32/gdkwindow-win32.h (GdkWindowImplWin32): Add
	toplevel_window_type field.

	* gdk/win32/gdkwindow-win32.c: As there is only one root
	window in GDK on Win32, we can compare directly to _gdk_root
	instead of checking the window type.
	(gdk_window_reparent): When reparenting a child of the desktop
	clear out the window decorations. Correspondingly, when
	reparenting to the desktop, add decorations. As in the X11
	backend, save the window type of a toplevel window when
	reparenting, in case it is reparented back to toplevel.
2005-03-16 02:21:14 +00:00
Tor Lillqvist
df9768cf3a Print debugging output only if asked for, not always.
2005-03-16  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkdisplay-win32.c (_win32_on_clipboard_change): Print
	debugging output only if asked for, not always.

	* gdk/win32/*.c: Use the %+d%+d format for coordinate pairs in
	debugging printout instead of +%d+%d. Misc other additions and
	cosmetic improvements to debugging printouts. Use API_CALL() and
	GDI_CALL() macros in more places.

	* gdk/win32/gdkwindow-win32.c (gdk_window_move, gdk_window_resize,
	gdk_window_move_resize): To detect child windows, check whether
	the real parent is not the desktop window, instead of relying on
	the GDK window type being GDK_WINDOW_CHILD. Foreign GtkPlug
	windows have a GDK window type GDK_WINDOW_FOREIGN, but are still
	de facto child windows.
2005-03-16 01:38:57 +00:00
Matthias Clasen
1b2584a8ac Add an example for manually setting up a group of actions.
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkradioaction.c (gtk_radio_action_get_group): Add an
	example for manually setting up a group of actions.
2005-03-15 16:33:43 +00:00
Matthias Clasen
0e86016442 Document that inline completion requires text-column to be set.
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
	Document that inline completion requires text-column to be set.
	(gtk_entry_completion_compute_prefix): Return NULL if text-column
	is not set.

	* gtk/gtkentry.c (check_completion_callback): Call
	gtk_entry_completion_complete() before inserting the prefix,
	otherwise the prefix may depend on (random) state of the
	filter model.
2005-03-15 15:00:11 +00:00
Anders Carlsson
3fc42d7ab9 Update spec.
2005-03-15  Anders Carlsson  <andersca@imendio.com>

	* docs/iconcache.txt:
	Update spec.

	* gtk/gtkiconcache.c: (find_image_offset),
	(_gtk_icon_cache_get_icon_flags), (_gtk_icon_cache_add_icons),
	(_gtk_icon_cache_get_icon), (_gtk_icon_cache_get_icon_data):
	* gtk/gtkiconcache.h:
	Update to be able to fetch pixbuf data and icon metadata.

	* gtk/gtkicontheme.c: (theme_lookup_icon), (gtk_icon_info_free),
	(icon_info_ensure_scale_and_pixbuf):
	Use new cache functions.

	* gtk/updateiconcache.c: (foreach_remove_func), (load_icon_data),
	(maybe_cache_image_data), (scan_directory), (write_pixdata),
	(get_image_meta_data_size), (get_image_pixel_data_size),
	(get_image_data_size), (get_single_node_size), (get_bucket_size),
	(write_bucket), (main):
	Update to write pixbuf data as well as information from .icon
	files.
2005-03-15 13:18:25 +00:00
Tor Lillqvist
7c12edeb93 New debugging function. As GetKeyNameText() returns a localized key name
2005-03-15  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkmain-win32.c (_gdk_win32_key_to_string): New
	debugging function. As GetKeyNameText() returns a localized key
	name we need to convert it to UTF-8.

	* gdk/win32/gdkprivate-win32.h: Declare it.

	* gdk/win32/gdkevents-win32.c: Use it.

	* gdk/win32/gdkwindow-win32.c (gdk_window_new_internal): Fix
	handling of children of foreign windows. They should be child
	windows from Windows's perspective, even if they are toplevel GDK
	windows.
2005-03-15 02:07:08 +00:00
Matthias Clasen
eef20f2c83 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-14  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdk-pixbuf-alias.h:

	* gdk-pixbuf.symbols: Group symbols by header and source file.
	* /makegdkpixbufalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegdkpixbufalias.pl -def
	* Makefile.am (gdk-pixbuf-aliasdef.c): Add a rule to generate
	this file.
	* *.c: Include gdk-pixbuf-alias.h after the other headers,
	include gdk-pixbuf-aliasdef.c at the bottom.
2005-03-14 19:37:00 +00:00
Ivan, Wong Yat Cheung
706ff83a7d A further fix for big window support. Now also the test in testgtk works.
2005-03-13  Ivan, Wong Yat Cheung  <email@ivanwong.info>

	* gdk/win32/gdkgeometry-win32.c (gdk_window_scroll): A further fix
	for big window support. Now also the test in testgtk works.
2005-03-12 22:09:54 +00:00
Matthias Clasen
b24c2d21b2 Make it compile 2005-03-12 04:21:42 +00:00
Matthias Clasen
9adb145bb6 Don't crash on style changes. (#169334, Yury Puzis)
2005-03-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaboutdialog.c (add_credits_page): Don't crash on
	style changes.  (#169334, Yury Puzis)
2005-03-12 04:00:12 +00:00
Matthias Clasen
7ecf872b9a Fix the doc comments. (#169967, Masao Mutoh)
2005-03-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (gtk_icon_theme_set_custom_theme): Fix
	the doc comments.  (#169967, Masao Mutoh)
2005-03-12 03:38:31 +00:00
Ivan, Wong Yat Cheung
ad24594d10 Big window fix for Win32. Big windows are still emulated within 16-bit
2005-03-12  Ivan, Wong Yat Cheung  <email@ivanwong.info>

	Big window fix for Win32. Big windows are still emulated within
	16-bit coordinate limits, though. Big windows now work on NT-based
	Windows. (#169989)

	* gdk/win32/gdkgc-win32.c (_gdk_win32_gdkregion_to_hrgn): Use
	32-bit coordinates.

	* gdk/win32/gdkgeometry-win32.c: Largely rewrite.

	* gdk/win32/gdkwindow-win32.c: Minor related changes.
2005-03-11 23:50:21 +00:00
Matthias Clasen
a8a1f7b99a Fix a doc typo. (#169873, Johan Dahlin)
2005-03-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_insert_with_valuesv):
	Fix a doc typo.  (#169873, Johan Dahlin)
2005-03-11 04:32:01 +00:00
Matthias Clasen
602d233229 Don't try to focus the default_widget if there is none. (#169881, Thomas
2005-03-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdialog.c (gtk_dialog_map): Don't
	try to focus the default_widget if there is
	none.  (#169881, Thomas Leonard)
2005-03-11 04:28:13 +00:00
Tor Lillqvist
f40bcdcfc5 gdk-pixbuf-core.h gdk-pixbuf-io.c Implement DLL ABI stablility for
2005-03-10  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf-core.h
	* gdk-pixbuf-io.c
	* gdk-pixbuf.symbols: Implement DLL ABI stablility for
	gdk_pixbuf_save() and gdk_pixbuf_savev(). (#167973)
2005-03-10 19:13:19 +00:00
Manish Singh
77265413d9 Remove inadvertent gail references, require Pango 1.9.0
Wed Mar  9 19:20:44 2005  Manish Singh  <yosh@gimp.org>

        * configure.in: Remove inadvertent gail references, require
        Pango 1.9.0
2005-03-10 03:21:28 +00:00
Matthias Clasen
60970ae68c Bump GLib requirement 2005-03-09 19:39:50 +00:00
Matthias Clasen
60416c88e2 Fix a C99ism. (#169741, Morten Welinder)
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Fix
	a C99ism.  (#169741, Morten Welinder)
2005-03-09 18:20:04 +00:00
Matthias Clasen
8d279c6d77 Typo fixes. (#169728, Morten Welinder, Owen Taylor)
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkwidget.sgml: Typo fixes. 	(#169728,
	Morten Welinder, Owen Taylor)
2005-03-09 17:47:32 +00:00
Matthias Clasen
4c9bcf2843 Fix a typo in the docs. (#169729, Morten Welinder)
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_add_mnemonic_label): Fix a typo
	in the docs.  (#169729, Morten Welinder)
2005-03-09 17:41:31 +00:00
Matthias Clasen
2b0370f987 Fix a typo.
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimage.c (gtk_image_class_init): Fix a typo.
2005-03-09 16:19:12 +00:00
Matthias Clasen
32492c4be4 Queue a resize when the model is unset. (#169528, Tomislav Jonjic)
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_set_model): Queue a resize
	when the model is unset.  (#169528, Tomislav Jonjic)
2005-03-09 16:09:22 +00:00
Matthias Clasen
f01ab587f5 More of the same.
2005-03-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkviewport.c (gtk_viewport_class_init):
	* gtk/gtkuimanager.c (gtk_ui_manager_class_init):
	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_class_init):
	* gtk/gtktipsquery.c (gtk_tips_query_class_init):
	* gtk/gtktext.c (gtk_text_class_init):
	* gtk/gtkstatusbar.c (gtk_statusbar_class_init):
	* gtk/gtkspinbutton.c (gtk_spin_button_class_init):
	* gtk/gtktoggleaction.c (gtk_toggle_action_class_init):
	* gtk/gtkoptionmenu.c (gtk_option_menu_class_init):
	* gtk/gtkoldeditable.c (gtk_old_editable_class_init):
	* gtk/gtkmessagedialog.c (gtk_message_dialog_class_init):
	* gtk/gtktoolbutton.c (gtk_tool_button_class_init):
	* gtk/gtktoolitem.c (gtk_tool_item_class_init):
	* gtk/gtkimage.c (gtk_image_class_init):
	* gtk/gtkruler.c (gtk_ruler_class_init):
	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init):
	* gtk/gtkprogress.c (gtk_progress_class_init):
	* gtk/gtkmenu.c (gtk_menu_class_init):
	* gtk/gtkscale.c (gtk_scale_class_init):
	* gtk/gtkpaned.c (gtk_paned_class_init):
	* gtk/gtkhandlebox.c (gtk_handle_box_class_init):
	* gtk/gtkfontbutton.c (gtk_font_button_class_init):
	* gtk/gtkfontsel.c (gtk_font_selection_class_init):
	* gtk/gtkfilesel.c (gtk_file_selection_class_init):
	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
	* gtk/gtkcurve.c (gtk_curve_class_init):
	* gtk/gtkcombo.c (gtk_combo_class_init):
	* gtk/gtkcombobox.c (gtk_combo_box_class_init):
	* gtk/gtkcolorbutton.c (gtk_color_button_class_init):
	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init):
	* gtk/gtkmenuitem.c (gtk_menu_item_class_init):
	* gtk/gtkcheckbutton.c (gtk_check_button_class_init):
	* gtk/gtktogglebutton.c (gtk_toggle_button_class_init):
	* gtk/gtkcellview.c (gtk_cell_view_class_init):
	* gtk/gtktoolbar.c (gtk_toolbar_class_init):
	* gtk/gtkmenubar.c (gtk_menu_bar_class_init):
	* gtk/gtkclist.c (gtk_clist_class_init):
	* gtk/gtkctree.c (gtk_ctree_class_init):
	* gtk/gtkcolorsel.c (gtk_color_selection_class_init):
	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_class_init):
	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init):
	* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_class_init):
	* gtk/gtkcalendar.c (gtk_calendar_class_init):
	* gtk/gtkbbox.c (gtk_button_box_class_init):
	* gtk/gtktable.c (gtk_table_class_init):
	* gtk/gtkaspectframe.c (gtk_aspect_frame_class_init):
	* gtk/gtkframe.c (gtk_frame_class_init):
	* gtk/gtkaction.c (gtk_action_class_init):
	* gtk/gtkaccellabel.c (gtk_accel_label_class_init):
	* gtk/gtkaboutdialog.c (gtk_about_dialog_class_init):
	* gtk/gtkdialog.c (gtk_dialog_class_init): More of the same.
2005-03-09 06:15:39 +00:00
Matthias Clasen
52711c24e8 More canonical property names. 2005-03-09 06:15:13 +00:00
Matthias Clasen
263bce4445 x
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init):
	* gtk/gtkrange.c (gtk_range_class_init):
	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
	* gtk/gtktexttag.c (gtk_text_tag_class_init):
	* gtk/gtktextview.c (gtk_text_view_class_init):
	* gtk/gtkscrollbar.c (gtk_scrollbar_class_init):
	* gtk/gtknotebook.c (gtk_notebook_class_init):
	* gtk/gtkentry.c (gtk_entry_class_init):
	* gtk/gtkexpander.c (gtk_expander_class_init):
	* gtk/gtkarrow.c (gtk_arrow_class_init):
	* gtk/gtkalignment.c (gtk_alignment_class_init):
	* gtk/gtkbutton.c (gtk_button_class_init):
	* gtk/gtklabel.c (gtk_label_class_init):
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init):
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): x
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init):
	* gtk/gtktreeview.c (gtk_tree_view_class_init):
	* gtk/gtkbox.c (gtk_box_class_init):
	* gtk/gtkwindow.c (gtk_window_class_init, gtk_window_class_init):
	* gtk/gtkcontainer.c (gtk_container_class_init):
	* gtk/gtkwidget.c (gtk_widget_class_init):
	* gtk/gtkobject.c (gtk_object_class_init): Use canonical names
	when registering param specs.
2005-03-09 04:04:40 +00:00
Matthias Clasen
c8ce95ab52 Use canonical form of the name when registering properties.
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf.c (gdk_pixbuf_class_init): Use canonical
	form of the name when registering properties.
2005-03-09 02:49:27 +00:00
Matthias Clasen
b81da13000 Use GtkCellRendererCombo (#169607, Mark McLoughlin)
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/editable_cells.c: Use GtkCellRendererCombo
	(#169607, Mark McLoughlin)
2005-03-08 16:10:28 +00:00
Martin Willemoes Hansen
b6804b7219 Updated Danish translation.
* da.po: Updated Danish translation.
2005-03-08 10:19:10 +00:00
Matthias Clasen
7b0d4522ed Add the new attributes to the .symbols files. 2005-03-08 06:10:31 +00:00
Matthias Clasen
c8830f2504 Use G_GNUC_NULL_TERMINATED where appropriate. (#165682, Marc Meissner)
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.h:
	* gtk/gtktreeview.h:
	* gtk/gtktreeviewcolumn.h:
	* gtk/gtktextbuffer.h:
	* gtk/gtkobject.h:
	* gtk/gtkfilechooserdialog.h:
	* gtk/gtkdialog.h:
	* gtk/gtkcontainer.h:
	* gtk/gtkcelllayout.h:
	* gtk/gtkaboutdialog.h: Use G_GNUC_NULL_TERMINATED where
	appropriate.  (#165682, Marc Meissner)
2005-03-08 05:52:55 +00:00
Matthias Clasen
3c8b5b490c Convert the gdk keyval-keyname tables to a big string + offsets. (#168901)
2005-03-07  Matthias Clasen  <mclasen@redhat.com>

	Convert the gdk keyval-keyname tables to a big string
	+ offsets. (#168901)

	* gdk/gen-keyname-table.pl: Perl script inspired by
	pango/tools/gen-color-table.pl to create the
	gdk_keys_by_keyval and gdk_keys_by_name tables as lists
	of offsets pointing into a big const string.

	* gdk/keynames.txt: List of keyval-keyname pairs.
	* gdk/keyname-table.h: Generated tables.

	* gdk/gdkkeynames.c: Include keyname-table.h and don't
	generate the inverse table at runtime.
2005-03-08 04:35:29 +00:00
Matthias Clasen
f0175e1ff6 Use a generated table of offsets into a big const string to avoid
2005-03-07  Matthias Clasen  <mclasen@redhat.com>

	* io-xpm.c: Use a generated table of offsets
	into a big const string to avoid relocations
	in the rgb color table. (#168901, Tommi Komulainen)

	* gen-color-table.pl: Script to generate the table,
	copied from Owen Taylors script by the same name
	in Pango.

	* xpm-color-table.h: The generated table.
2005-03-08 03:59:45 +00:00
Matthias Clasen
d1134c4908 Document ownership of filters. (#169101, Sebastian Rittau)
2005-03-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooser.c (gtk_file_chooser_add_filter): Document
	ownership of filters.  (#169101, Sebastian Rittau)
2005-03-07 22:09:13 +00:00
Matthias Clasen
40b2753db5 Document which parameters may be NULL. (#166855, Frank Naumann)
2005-03-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstyle.c: Document which parameters may be NULL.
	(#166855, Frank Naumann)
2005-03-07 22:02:43 +00:00
Dan Damian
c86e6b335b Updated Romanian translation by Mişu Moldovan <dumol@go.ro>.
* ro.po: Updated Romanian translation by         Mişu Moldovan <dumol@go.ro>.
2005-03-06 12:45:37 +00:00
Dan Damian
d81e99b09b Updated Romanian translation by Mişu Moldovan <dumol@go.ro>.
* ro.po: Updated Romanian translation by         Mişu Moldovan <dumol@go.ro>.
2005-03-05 16:05:52 +00:00
Adam Weinberger
e86a51b83f Updated Canadian English translation.
* en_CA.po: Updated Canadian English translation.
2005-03-04 22:40:31 +00:00
Raphael Higino
74bfd391e9 Updated pt_BR translation 2005-03-04 16:29:50 +00:00
Jordi Mallach
bf5a63da8a Updated Catalan translation. 2005-03-04 09:13:03 +00:00
Manish Singh
bc170a5436 URL escape the '+' in gtk+ in the bugzilla URL.
Thu Mar  3 16:59:44 2005  Manish Singh  <yosh@gimp.org>

        * configure.in: URL escape the '+' in gtk+ in the bugzilla URL.
2005-03-04 01:01:01 +00:00
Matthias Clasen
e6716d2336 Don't leak the values here. (#169047, Philip Langdale)
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property):
	* gtk/gtkrc.c (gtk_rc_parse_assignment): Don't leak
	the values here.  (#169047, Philip Langdale)
2005-03-03 14:15:14 +00:00
Matthias Clasen
f5869e6a87 Check the number of scanned items. (#168906, Morten Welinder)
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	* io-xpm.c (pixbuf_create_from_xpm): Check the number
	of scanned items.  (#168906, Morten Welinder)
2005-03-03 14:02:59 +00:00
Matthias Clasen
a3cee3d83a Don't warn if a stock icon cannot be found. (#168830, Sven Neumann)
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	Don't warn if a stock icon cannot be found.  (#168830,
	Sven Neumann)
2005-03-03 13:57:00 +00:00
Matthias Clasen
1f6a65d375 Make the gif loader handle oom when loading animations. (#168857, Tommi
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	Make the gif loader handle oom when loading
	animations.  (#168857, Tommi Komulainen)

	* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
	Handle oom by returning NULL.

	* io-gif.c (gif_get_lzw): Return an error if composite
	returns NULL.
2005-03-03 13:29:01 +00:00
Matthias Clasen
d74feca09e Avoid warnings if gtk_widget_reparent() is called at unusual times.
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_reparent_subwindows):
	Avoid warnings if gtk_widget_reparent() is called at
	unusual times.  (#168966, Christian Persch)
2005-03-03 06:40:53 +00:00
Raphael Higino
aad5057b51 Updated pt_BR translation 2005-03-02 19:39:23 +00:00
Manish Singh
de1e169e44 Cast to avoid const warnings on data structure seeding.
Tue Mar  1 14:04:08 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkproperty-x11.c (virtual_atom_check_init): Cast to avoid
        const warnings on data structure seeding.
2005-03-01 22:25:42 +00:00
Manish Singh
5fed4b4afd revert previous change, maintain ABI.
Tue Mar  1 13:53:56 2005  Manish Singh  <yosh@gimp.org>

        * gtk/xdgmime/xdgmime.[ch]: revert previous change, maintain ABI.
2005-03-01 22:00:03 +00:00
Matthias Clasen
af58a0dbd8 Fix prelighting. (#157392, Vincent Noel, patch by Christian Persch)
* gtk/gtkmenutoolbutton.c (button_state_changed_cb):
	Fix prelighting.  (#157392, Vincent Noel, patch by
	Christian Persch)
2005-03-01 16:07:04 +00:00
Matthias Clasen
86db923391 Make icon data caching work again. (#168851, Alexander Larsson)
2005-03-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkicontheme.c (theme_lookup_icon): Make
	icon data caching work again.  (#168851, Alexander Larsson)
2005-03-01 14:59:04 +00:00
Matthias Clasen
6834bb9597 Revert the previous change, since it breaks bin compat.
2005-03-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf/gdk-pixbuf.c:
	* gdk-pixbuf/gdk-pixbuf-features.h.in:
	Revert the previous change, since it breaks
	bin compat.
2005-03-01 14:57:20 +00:00
Matthias Clasen
4fcaa4e1da Forgotten file 2005-03-01 06:43:55 +00:00
Matthias Clasen
6da29b43a6 gdk/gdkkeyuni.c gdk/gdkpixbuf-drawable.c gdk/gdkrgb.c gdk/x11/gdkdnd-x11.c
2005-03-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkkeyuni.c
	* gdk/gdkpixbuf-drawable.c
	* gdk/gdkrgb.c
	* gdk/x11/gdkdnd-x11.c
	* gdk/x11/gdkevents-x11.c
	* gdk/x11/gdkproperty-x11.c
	* gdk/x11/gdkvisual-x11.c
	* gdk-pixbuf/gdk-pixbuf.c
	* gtk/gtkaction.c
	* gtk/gtkbindings.c
	* gtk/gtkcolorbutton.c
	* gtk/gtkcombo.c
	* gtk/gtkcontainer.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkfilesel.c
	* gtk/gtkgamma.c
	* gtk/gtkiconview.c
	* gtk/gtkinputdialog.c
	* gtk/gtkitemfactory.c
	* gtk/gtkmenu.c
	* gtk/gtktextview.c
	* gtk/gtktooltips.c
	* gtk/gtktreedatalist.c
	* gtk/gtkuimanager.c
	* gtk/tree_minus.xpm
	* gtk/tree_plus.xpm
	* gtk/xdgmime/xdgmime.c
	* gtk/xdgmime/xdgmime.h:
	Move constant data to .rodata.
2005-03-01 06:25:55 +00:00
Matthias Clasen
d16ad30f40 Add necessary protection 2005-02-28 18:09:37 +00:00
Matthias Clasen
6a6b50c241 Add .note.GNU-stack sections to Mark these as not requiring an executable
2005-02-28  Matthias Clasen  <mclasen@redhat.com>

	* pixops/*.S: Add .note.GNU-stack sections to Mark these as not
	requiring an executable stack.
2005-02-28 18:01:53 +00:00
Matthias Clasen
6294736800 Fix stack vs heap confusion. (#168690, Torsten Schoenfeld)
2005-02-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtktreemodel.sgml: Fix stack vs heap
	confusion.  (#168690, Torsten Schoenfeld)
2005-02-28 04:51:56 +00:00
Matthias Clasen
2c24a9f374 Improve the handling of buttons as action proxys. (#165534, Milosz
2005-02-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaction.c (connect_proxy): Improve the handling
	of buttons as action proxys.  (#165534, Milosz Derezynski)
2005-02-28 04:43:22 +00:00
Matthias Clasen
0a206df7e9 Fix a typo. (#168646, Vincent Untz)
2005-02-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.c (gtk_label_size_request): Fix a typo.
	(#168646, Vincent Untz)
2005-02-28 04:33:42 +00:00
Matthias Clasen
c78b24e7d3 Unset "focus-on-click" for the save folder combo. (#168688, Sven Neumann)
2005-02-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (save_folder_combo_create):
	Unset "focus-on-click" for the save folder combo.  (#168688,
	Sven Neumann)
2005-02-28 04:25:20 +00:00
Matthias Clasen
d47d149aa6 Remove a C++ comment. (#168531, Paul Cornett)
2005-02-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/testpixbuf.c (main): Remove a C++ comment.  (#168531,
	Paul Cornett)
2005-02-25 19:28:48 +00:00
Matthias Clasen
af12141d2d Don't leak a path here. (#168443, Morten Welinder)
2005-02-25  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Don't leak a
	path here.  (#168443, Morten Welinder)
2005-02-25 19:14:18 +00:00
Robert Ögren
81c1b1dade Implement better handling of Wintab tablet context overlap on Win32.
2005-02-24  Robert Ögren  <gtk@roboros.com>

	Implement better handling of Wintab tablet context overlap on
	Win32. (#167298)

	* gdk/win32/gdkinput-win32.c (_gdk_input_set_tablet_active): New
	function that brings any tablet contexts to the top of the overlap
	order.
	* gdk/win32/gdkinput-win32.h: Declare _gdk_input_set_tablet_active ()
	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Call _gdk_input_set_tablet_active when a window is activated (on
	WM_ACTIVATE)
2005-02-25 00:12:32 +00:00
Matthias Clasen
59d658187c Don't leak parent_path. (#168435, Morten Welinder)
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path):
	Don't leak parent_path.  (#168435, Morten Welinder)
2005-02-24 20:28:26 +00:00
Søren Sandmann
72c3b58732 Add
Thu Feb 24 14:20:16 2005  Søren Sandmann  <sandmann@redhat.com>

	* gtk/gtkstyle.c: Add

	g_return_if_fail (style->depth == gdk_drawable_get_depth(window));

	all over the place.
2005-02-24 19:34:02 +00:00
Matthias Clasen
d9264f1365 Consistently use gtk_tree_row_reference_valid().
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Consistently use gtk_tree_row_reference_valid().
	(gtk_combo_box_model_row_deleted): Update the displayed row in
	the cell_view.  (#167842, Gustavo Carneiro)
2005-02-24 17:57:07 +00:00
Matthias Clasen
20b67bc6ad Fix #167259, reported by Christian Persch:
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

        Fix #167259, reported by  Christian Persch:

	* gtk/gtkwidget.c (gtk_widget_unparent): Unmap the reparented
	widget, even if we avoid the unrealizing.
	(gtk_widget_reparent_subwindows): Make reparenting work for
	!NO_WINDOW widgets which have other windows which are siblings
	of widget->window (as e.g. GtkSpinButton).
2005-02-24 16:37:14 +00:00
Matthias Clasen
9eb636fe12 Don't emit a warning if a parent node is filtered out. (#164726, Olivier
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_changed):
	Don't emit a warning if a parent node is filtered out. (#164726,
	Olivier Sessink)
2005-02-24 14:42:26 +00:00
Matthias Clasen
09239601fd Revert the last change, since gtk_widget_set_style_internal() already
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.c (gtk_label_style_set): Revert the last
	change, since gtk_widget_set_style_internal() already
	queues a resize.
2005-02-24 13:39:47 +00:00
Matthias Clasen
14fefb8617 Queue a resize, since fonts may have changed. (#164128, Phil Blundell)
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.c (gtk_label_style_set): Queue a resize, since
	fonts may have changed.  (#164128, Phil Blundell)
2005-02-24 04:49:37 +00:00
Matthias Clasen
534d584ba6 Document BMP saving support.
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* gdk-pixbuf-io.c: Document BMP saving support.

	* io-bmp.c: Support saving as BMP. (168173, Ivan Wong)
2005-02-24 04:41:35 +00:00
Matthias Clasen
c06df5a44c Fix a typo. (#168173, Ivan Wong)
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* io-ico.c: Fix a typo.  (#168173, Ivan Wong)
2005-02-24 04:27:48 +00:00
Matthias Clasen
f3339d7a05 Move initialization code from _new to _init. (#168249, Murray Cumming)
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkaboutdialog.c (gtk_about_dialog_init)
	(gtk_about_dialog_new): Move initialization code from _new to
	_init.  (#168249, Murray Cumming)
2005-02-24 03:46:25 +00:00
Jonathan Blandford
20113848dd Patch from jorn@nl.linux.org (Jorn Baayen) to notice changes to
Wed Feb 23 17:34:01 2005  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_node_queue_redraw): Patch from
        jorn@nl.linux.org (Jorn Baayen) to notice changes to fixed-height
        widgets.
2005-02-23 22:38:49 +00:00
Tor Lillqvist
2fd6edba8d Workaround for bug in MapVirtualKey(VK_DIVIDE, 0) in some Windows
2005-02-23  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Workaround for bug in
	MapVirtualKey(VK_DIVIDE, 0) in some Windows versions. (#142998)
2005-02-23 22:06:38 +00:00
Manish Singh
79f9f13355 #include <config.h>
Tue Feb 22 13:49:09 2005  Manish Singh  <yosh@gimp.org>

        * gtk/updateiconcache.c: #include <config.h>
2005-02-22 21:49:42 +00:00
Federico Mena Quintero
9b3fb6c3bb Merged from gtk-2-6:
2005-02-22  Federico Mena Quintero  <federico@ximian.com>

	Merged from gtk-2-6:

	Fix #164940, patch by Ben Maurer and Tommi Komulainen.

	* gdk/gdkrgb.c (gdk_rgb_convert_565_d): Constify the "dmp" variable.
	(gdk_rgb_convert_565_d): Likewise.
	(DM_565): Made a static const precomputed array to avoid
	allocating it at runtime.
	(gdk_rgb_preprocess_dm_565): #ifdef out.
2005-02-22 19:30:20 +00:00
Matthias Clasen
bacee14097 Fix links to freedesktop.org specs in the documentation.
2005-02-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c:
	* gtk/gtkclipboard.c: Fix links to freedesktop.org specs
	in the documentation.
2005-02-21 04:24:48 +00:00
Matthias Clasen
5a7cb2374a Set have_render_with_trapezoids to GDK_YES when we have a new enough
2005-02-20  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids):
	Set have_render_with_trapezoids to GDK_YES when we have
	a new enough Render extension.  (#167965,Billy Biggs)
2005-02-21 04:09:18 +00:00
Matthias Clasen
a1670a154a Use the timestamp of the last user interaction when focusing the window.
2005-02-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwindow.c (gtk_window_present): Use the timestamp of
	the last user interaction when focusing the window.  (#166379,
	Elijah Newren)
2005-02-21 03:38:31 +00:00
Manish Singh
6a19b7b894 make sure expand is initialized, cast to GTK_SEPARATOR_TOOL_ITEM.
Thu Feb 17 14:58:16 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkuimanager.c (start_element_handler): make sure expand
        is initialized, cast to GTK_SEPARATOR_TOOL_ITEM.
2005-02-17 22:59:47 +00:00
Manish Singh
a7e43ebfaf Pass gtk_widget_get_toplevel() a GTK_WIDGET.
Thu Feb 17 14:52:57 2005  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcombobox.c: Pass gtk_widget_get_toplevel() a GTK_WIDGET.
2005-02-17 22:54:37 +00:00
Manish Singh
8de5530e55 Shut up cvs 2005-02-17 22:54:10 +00:00
Jordi Mallach
fbbeab7c06 Updated Catalan translation by Xavier Conde Rueda <xaviconde@eresmas.com>. 2005-02-17 10:13:45 +00:00
Jordi Mallach
e23cdf7954 Updated Catalan translation. 2005-02-17 10:09:45 +00:00
Matthias Clasen
f109780159 Add some information about the icon cache format (since I can't locate it
2005-02-16  Matthias Clasen  <mclasen@redhat.com>

	* docs/iconcache.txt: Add some information about the
	icon cache format (since I can't locate it at freedesktop.org)
2005-02-17 03:33:11 +00:00
Raphael Higino
1369a567cd Updated pt_BR translation 2005-02-16 17:03:28 +00:00
Matthias Clasen
a0c5253c26 Fixes for #143829, Tommi Komulainen, Christian Persch:
2005-02-16  Matthias Clasen  <mclasen@redhat.com>

	Fixes for #143829, Tommi Komulainen, Christian Persch:

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the
	typeselect_flush_timeout when destroying the widgets
	it is operating on.
	(gtk_tree_view_ensure_interactive_directory): Add the
	popup to the window group of the toplevel it belongs to.

	* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget)
	(gtk_combo_box_popup): Do the same here.
2005-02-16 16:37:24 +00:00
Adi Attar
71f5aa3f2a Updated Xhosa translation.
2005-02-16  Adi Attar  <aattar@cvs.gnome.org>

	* xh.po: Updated Xhosa translation.
2005-02-16 15:25:56 +00:00
Matthias Clasen
0531a161f7 Add some more info. (#167356, Hubert Sokolowski)
2005-02-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkcalendar.sgml: Add some more
	info.  (#167356, Hubert Sokolowski)
2005-02-16 03:50:06 +00:00
Matthias Clasen
5fcc15abbe Don't read over the end of the buffer if '#' appears at the very end.
2005-02-15  Matthias Clasen  <mclasen@redhat.com>

	* io-pnm.c (pnm_skip_whitespace): Don't read over the end of
	the buffer if '#' appears at the very end.  (#167141, Doug Morgan)
2005-02-16 03:38:22 +00:00
Marcel Telka
11ea4f5123 Updated Slovak translation.
2005-02-15  Marcel Telka  <marcel@telka.sk>

	* sk.po: Updated Slovak translation.
2005-02-15 19:53:56 +00:00
Matthias Clasen
e2be8a6add Kill --enable-ansi (#164394)
2005-02-14  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Kill --enable-ansi  (#164394)
2005-02-15 03:25:09 +00:00
Roozbeh Pournader
1cddb964f2 Updated Persian translation.
2005-02-14  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* fa.po: Updated Persian translation.
2005-02-14 15:14:43 +00:00
Raphael Higino
f9e0589658 Fixing some mistakes in last commit 2005-02-11 18:42:51 +00:00
Matthias Clasen
f5739c8e0e Stop scrolling when the pathbar goes away. (#167094, Rodney Dawes)
2005-02-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkpathbar.c (gtk_path_bar_finalize): Stop scrolling
	when the pathbar goes away.  (#167094, Rodney Dawes)
	(change_icon_theme): Use GTK_ICON_SIZE_MENU here as
	well  (Vincent Noel)
2005-02-11 17:30:33 +00:00
Matthias Clasen
9f338821f9 Fix a reference. Sorry about that, Vincent & Vincent 2005-02-11 14:25:13 +00:00
Danilo Šegan
cae3a541c9 Updated Serbian translation. 2005-02-11 12:53:54 +00:00
Danilo Šegan
96fcd790f0 Updated Serbian translations. 2005-02-11 12:25:39 +00:00
Matthias Clasen
812e0cfdb7 Support vertical menubars (#166632):
2005-02-11  Matthias Clasen  <mclasen@redhat.com>

	Support vertical menubars  (#166632):

	* gtk/gtkenums.h (GtkPackDirection): New enumeration for pack
	directions, with values for left-to-right, right-to-left,
	top-to-bottom and bottom-to-top.

	* gtk/gtk.symbols:
	* gtk/gtkmenubar.h:
	* gtk/gtkmenubar.c: Add two properties, pack-direction and
	child-pack-direction, which specify how children and
	grandchildren of a menubar are packed, with getters and setters.

	* gtk/gtkmenubar.c (gtk_menu_bar_set_property):
	(gtk_menu_bar_get_property): Implement set_property and get_property.

	* gtk/gtkmenubar.c (gtk_menu_bar_size_request):
	(gtk_menu_bar_size_allocate): Take pack direction into account.

	* gtk/gtkmenubar.c (gtk_menu_bar_move_current): Implement
	move_current here move all the menubar-specific direction
	tweaking from the generic menushell implementation here.

	* gtk/gtkmenu.c (gtk_menu_move_current): Move  menu-specific
	direction tweaking from the generic menushell implementation here.

	* gtk/gtkmenuitem.c (gtk_menu_item_size_request):
	(gtk_menu_bar_size_allocate): Take pack direction into account.

	* gtk/gtkimagemenuitem.c (gtk_image_menu_item_size_request)
	(gtk_image_menu_item_size_allocate):
	(gtk_image_menu_item_toggle_size_request): Take child pack
	direction into account and pack the image vertically if
	necessary.

	* gtk/gtkmenushell.c (gtk_menu_shell_real_select_item):
	Set the submenu direction to left-right for menuitems in
	vertical menubars.
	(gtk_real_menu_shell_move_current): Simplify by moving
	direction tweaking to menu- and menubar-specific
	implementations. Take pack direction into account when
	doing fallbacks.

	* tests/testmenubars.c: Test menubars in various packing
	direction combinations.

	* tests/Makefile.am (noinst_PROGRAMS): Add testmenubars.
2005-02-11 07:15:11 +00:00
Matthias Clasen
1c10200c25 Complete the fix for #165770, Vincent Untz:
2005-02-11  Matthias Clasen  <mclasen@redhat.com>

	Complete the fix for #165770, Vincent Untz:

	* gtk/gtkfilechooserbutton.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()).
	(gtk_file_chooser_button_init):
	(change_icon_theme): Use GTK_ICON_SIZE_MENU instead of
	GTK_ICON_SIZE_SMALL_TOOLBAR.
2005-02-11 06:17:16 +00:00
Raphael Higino
8b02fa1fca Updated pt_BR translation 2005-02-10 20:21:45 +00:00
936 changed files with 216386 additions and 153681 deletions

21
AUTHORS
View File

@@ -30,3 +30,24 @@ 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, TK+ 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

2709
ChangeLog

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -18,8 +18,8 @@ GTK+ requires the following packages:
Simple install procedure
========================
% gzip -cd gtk+-2.6.1.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.6.1 # change to the toplevel directory
% gzip -cd gtk+-2.7.0.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.7.0 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
[ Become root if necessary ]

141
NEWS
View File

@@ -1,3 +1,144 @@
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)
Overview of Changes from GTK+ 2.6.0 to GTK+ 2.6.1
=================================================
* GtkFileChooser

2
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 2.6.1. GTK+ is a multi-platform toolkit for
This is GTK+ version 2.7.0. 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.

View File

@@ -31,13 +31,13 @@ m4_define([gtk_api_version], [2.0])
m4_define([gtk_binary_version], [2.4.0])
# required versions of other packages
m4_define([glib_required_version], [2.6.0])
m4_define([pango_required_version], [1.8.0])
m4_define([glib_required_version], [2.7.0])
m4_define([pango_required_version], [1.9.0])
m4_define([atk_required_version], [1.0.1])
AC_INIT([gtk+], [gtk_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
[gtk+])
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
@@ -145,12 +145,14 @@ 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
@@ -188,10 +190,6 @@ 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]])],,
@@ -1087,7 +1085,7 @@ if test "x$gdktarget" = "xx11"; then
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"
x_libs="`$PKG_CONFIG --libs xft` -lX11 $X_EXTRA_LIBS"
fi
## Strip the .la files
@@ -1499,12 +1497,16 @@ else
LIBS="$gtk_save_LIBS"
fi
GTK_PACKAGES=atk
GTK_PACKAGES="atk cairo"
GTK_EXTRA_LIBS=
GTK_EXTRA_CFLAGS=
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)
@@ -1541,7 +1543,7 @@ fi
# Checks for gtk-doc and docbook-tools
##################################################
GTK_DOC_CHECK([1.0])
GTK_DOC_CHECK([1.4])
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)

View File

@@ -1,3 +1,7 @@
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.0 ===
2005-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.1 ===

View File

@@ -10,6 +10,7 @@ demos = \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
dialog.c \
drawingarea.c \
editable_cells.c \
@@ -21,6 +22,7 @@ demos = \
list_store.c \
menus.c \
panes.c \
pickers.c \
pixbufs.c \
rotated_text.c \
sizegroup.c \

View File

@@ -1,6 +1,6 @@
/* 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>
@@ -144,9 +144,32 @@ 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 */
@@ -155,9 +178,9 @@ static GtkActionEntry entries[] = {
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Open", GTK_STOCK_OPEN, /* name, stock id */
"_Open","<control>O", /* label, accelerator */
"Open a file", /* tooltip */
{ "File1", NULL, /* name, stock id */
"File1", NULL, /* label, accelerator */
"Open first file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
@@ -258,8 +281,12 @@ static const gchar *ui_info =
" <menuitem action='About'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'/>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'>"
" <menu action='OpenMenu'>"
" <menuitem action='File1'/>"
" </menu>"
" </toolitem>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
" <toolitem action='Logo'/>"
@@ -394,6 +421,7 @@ do_appwindow (GtkWidget *do_widget)
GtkWidget *bar;
GtkTextBuffer *buffer;
GtkActionGroup *action_group;
GtkAction *open_action;
GtkUIManager *merge;
GError *error = NULL;
@@ -406,6 +434,7 @@ 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",
@@ -420,6 +449,13 @@ 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);

View File

@@ -1,7 +1,12 @@
/* Clipboard
*
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
* 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.
*/
#include <gtk/gtk.h>
@@ -11,7 +16,7 @@ static GtkWidget *window = NULL;
void
copy_button_clicked (GtkWidget *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
@@ -20,7 +25,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);
@@ -28,8 +33,8 @@ copy_button_clicked (GtkWidget *button,
void
paste_received (GtkClipboard *clipboard,
const gchar *text,
gpointer user_data)
const gchar *text,
gpointer user_data)
{
GtkWidget *entry;
@@ -41,7 +46,7 @@ paste_received (GtkClipboard *clipboard,
void
paste_button_clicked (GtkWidget *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
@@ -50,13 +55,139 @@ 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);
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;
}
GtkWidget *
@@ -67,8 +198,13 @@ 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);
@@ -90,7 +226,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);
@@ -107,8 +243,70 @@ 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))

371
demos/gtk-demo/combobox.c Normal file
View File

@@ -0,0 +1,371 @@
/* 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;
}

View File

@@ -2,8 +2,12 @@
*
* 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.
* the GtkListStore example first. It also shows how to use the
* GtkCellRenderer::editing-started signal to do custom setup of the
* editable widget.
*
* The cell renderers used in this demo are GtkCellRendererText,
* GtkCellRendererCombo and GtkCellRendererProgress.
*/
#include <gtk/gtk.h>
@@ -14,18 +18,24 @@ static GtkWidget *window = NULL;
typedef struct
{
gint number;
gchar *product;
gboolean editable;
gint number;
gchar *product;
gint yummy;
}
Item;
enum
{
COLUMN_NUMBER,
COLUMN_PRODUCT,
COLUMN_EDITABLE,
NUM_COLUMNS
COLUMN_ITEM_NUMBER,
COLUMN_ITEM_PRODUCT,
COLUMN_ITEM_YUMMY,
NUM_ITEM_COLUMNS
};
enum
{
COLUMN_NUMBER_TEXT,
NUM_NUMBER_COLUMNS
};
static GArray *articles = NULL;
@@ -39,32 +49,32 @@ add_items (void)
foo.number = 3;
foo.product = g_strdup ("bottles of coke");
foo.editable = TRUE;
foo.yummy = 20;
g_array_append_vals (articles, &foo, 1);
foo.number = 5;
foo.product = g_strdup ("packages of noodles");
foo.editable = TRUE;
foo.yummy = 50;
g_array_append_vals (articles, &foo, 1);
foo.number = 2;
foo.product = g_strdup ("packages of chocolate chip cookies");
foo.editable = TRUE;
foo.yummy = 90;
g_array_append_vals (articles, &foo, 1);
foo.number = 1;
foo.product = g_strdup ("can vanilla ice cream");
foo.editable = TRUE;
foo.yummy = 60;
g_array_append_vals (articles, &foo, 1);
foo.number = 6;
foo.product = g_strdup ("eggs");
foo.editable = TRUE;
foo.yummy = 10;
g_array_append_vals (articles, &foo, 1);
}
static GtkTreeModel *
create_model (void)
create_items_model (void)
{
gint i = 0;
GtkListStore *model;
@@ -76,8 +86,8 @@ create_model (void)
add_items ();
/* create list store */
model = gtk_list_store_new (NUM_COLUMNS, G_TYPE_INT, G_TYPE_STRING,
G_TYPE_BOOLEAN);
model = gtk_list_store_new (NUM_ITEM_COLUMNS, G_TYPE_INT, G_TYPE_STRING,
G_TYPE_INT, G_TYPE_BOOLEAN);
/* add items */
for (i = 0; i < articles->len; i++)
@@ -85,18 +95,46 @@ create_model (void)
gtk_list_store_append (model, &iter);
gtk_list_store_set (model, &iter,
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);
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);
}
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] = { '0' + i, '\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)
{
@@ -108,15 +146,15 @@ add_item (GtkWidget *button, gpointer data)
foo.number = 0;
foo.product = g_strdup ("Description here");
foo.editable = TRUE;
foo.yummy = 50;
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_NUMBER, foo.number,
COLUMN_PRODUCT, foo.product,
COLUMN_EDITABLE, foo.editable,
-1);
COLUMN_ITEM_NUMBER, foo.number,
COLUMN_ITEM_PRODUCT, foo.product,
COLUMN_ITEM_YUMMY, foo.yummy,
-1);
}
static void
@@ -142,11 +180,37 @@ 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);
@@ -158,31 +222,31 @@ cell_edited (GtkCellRendererText *cell,
switch (column)
{
case COLUMN_NUMBER:
case COLUMN_ITEM_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_PRODUCT:
case COLUMN_ITEM_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;
@@ -192,34 +256,55 @@ cell_edited (GtkCellRendererText *cell,
}
static void
add_columns (GtkTreeView *treeview)
add_columns (GtkTreeView *treeview,
GtkTreeModel *items_model,
GtkTreeModel *numbers_model)
{
GtkCellRenderer *renderer;
GtkTreeModel *model = gtk_tree_view_get_model (treeview);
/* number column */
renderer = gtk_cell_renderer_text_new ();
renderer = gtk_cell_renderer_combo_new ();
g_object_set (renderer,
"model", numbers_model,
"text-column", COLUMN_NUMBER_TEXT,
"has-entry", FALSE,
"editable", TRUE,
NULL);
g_signal_connect (renderer, "edited",
G_CALLBACK (cell_edited), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_NUMBER);
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));
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Number", renderer,
"text", COLUMN_NUMBER,
"editable", COLUMN_EDITABLE,
NULL);
-1, "Number", renderer,
"text", COLUMN_ITEM_NUMBER,
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), model);
g_object_set_data (G_OBJECT (renderer), "column", (gint *)COLUMN_PRODUCT);
G_CALLBACK (cell_edited), items_model);
g_object_set_data (G_OBJECT (renderer), "column", GINT_TO_POINTER (COLUMN_ITEM_PRODUCT));
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Product", renderer,
"text", COLUMN_PRODUCT,
"editable", COLUMN_EDITABLE,
NULL);
-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);
}
GtkWidget *
@@ -232,43 +317,47 @@ do_editable_cells (GtkWidget *do_widget)
GtkWidget *sw;
GtkWidget *treeview;
GtkWidget *button;
GtkTreeModel *model;
GtkTreeModel *items_model;
GtkTreeModel *numbers_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 model */
model = create_model ();
/* create models */
items_model = create_items_model ();
numbers_model = create_numbers_model ();
/* create tree view */
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
treeview = gtk_tree_view_new_with_model (items_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));
add_columns (GTK_TREE_VIEW (treeview), items_model, numbers_model);
g_object_unref (numbers_model);
g_object_unref (items_model);
gtk_container_add (GTK_CONTAINER (sw), treeview);
@@ -278,12 +367,12 @@ do_editable_cells (GtkWidget *do_widget)
button = gtk_button_new_with_label ("Add item");
g_signal_connect (button, "clicked",
G_CALLBACK (add_item), model);
G_CALLBACK (add_item), items_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);

View File

@@ -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 correspont to the text
/* We now set which model columns that correspond to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);

73
demos/gtk-demo/pickers.c Normal file
View File

@@ -0,0 +1,73 @@
/* 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;
}

392
demos/testgtk/main.c Normal file
View File

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

View File

@@ -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
docs/focus_tracking.txt Normal file
View File

@@ -0,0 +1,161 @@
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
docs/iconcache.txt Normal file
View File

@@ -0,0 +1,163 @@
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.

View File

@@ -1,3 +1,233 @@
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.0 ===
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_window_present_with_time
2005-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am: Ignore some more headers.
* gtk/gtk-sections.txt: Updates.
2005-06-18 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkuimanager.sgml: Document that
toolitem elements may have menu subelements.
* gtk/gtk-sections.txt: Updates
2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt:
* gdk/gdk-sections.txt: Add urgency hint API.
2005-06-14 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-sections.txt: Add new functions.
2005-06-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions.
* gtk/tmpl/gtkfontsel.sgml: Some more details (#307384, Billy
Biggs)
2005-06-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_icon_view_get_visible_range
2005-06-10 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: Add gtk_action_get_accel_closure
2005-06-10 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkclipboard.sgml:
* gtk/gtk-sections.txt: Add GtkClipboardIamgeReceivedFunc
* gtk/tmpl/gtkpaned.sgml:
* gtk/tmpl/gtkmenu.sgml:
* gtk/tmpl/gtkmenubar.sgml:
* gtk/tmpl/gtkimage.sgml:
* gtk/tmpl/gtkfontsel.sgml:
* gtk/tmpl/gtkbbox.sgml:
* gtk/tmpl/gtkadjustment.sgml:
* gtk/tmpl/gtkaccelgroup.sgml:
* gtk/tmpl/gtkaboutdialog.sgml: Additions.
2005-06-09 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add some symbols.
* gdk/gdk-sections.txt:
* gdk/tmpl/cairo_interaction.sgml:
* gdk/gdk-docs.sgml: Add a section for the Cairo functions.
* gtk/gtk-sections.txt: Add new icon view function.
2005-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new entry completion functions.
2005-05-25 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add GdkPixbufSimplAnim
functions.
2005-05-20 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkAction.sgml: Fix an example. (#304808,
Ghorban M. Tavakoly)
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/properties.sgml: Updates.
* gtk/migrating-checklist.sgml: Add a section about named
icons.
* gtk/gtk-sections.txt: Add new functions.
2005-05-16 Matthias Clasen <mclasen@redhat.com>
* gtk/tree_widget.sgml: Use gtk-doc abbrevs instead of
spelled out links.
* gtk/gtk-docs.sgml: Included the processed file xml/tree_widget.sgml.
* gtk/Makefile.am (expand_content_files): Add tree_widget.sgml.
2005-05-08 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/visuals.sgml: Fix a typo (#303473, Masao Mutoh)
* gdk-pixbuf/tmpl/inline.sgml:
* gdk-pixbuf/tmpl/file-saving.sgml: Add long descriptions.
* gdk-pixbuf/tmpl/module_interface.sgml: Small additions.
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add a missing function.
* gdk-pixbuf/Makefile.am (IGNORE_HFILES): Add xpm-color-table.h
* gdk/Makefile.am (IGNORE_HFILES): Add keyname-table.h
* gdk/gdk-sections.txt: Add gdk_cairo_set_source_color,
gdk_drawable_create_cairo_context and
gdk_pixbuf_set_as_cairo_source, remove
gdk_draw_rectangle_alpha_libgtk_only
* gdk/tmpl/pixbufs.sgml:
* gdk/tmpl/cursors.sgml: Add long descriptions.
* gdk/tmpl/events.sgml:
* gdk/tmpl/dnd.sgml:
* gdk/tmpl/windows.sgml:
* gdk/tmpl/pixmaps.sgml:
* gdk/tmpl/x_interaction.sgml: Small additions.
2005-05-07 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/pango_interaction.sgml: Fix a reference.
(#303403, Masao Mutoh)
2005-05-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new icon view API.
2005-05-05 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkmenutoolbutton.sgml: Trivial fix (#303168,
Masao Mutoh)
2005-05-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_dialog_get_response_for_widget.
Add new scrolled window getters.
2005-05-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new icon view functions.
* gtk/tmpl/gtkselection.sgml: Remove inlined docs.
* gtk/gtk-sections.txt: Remove nonexisting functions.
2005-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkuimanager.sgml: Refer to the correct
property. (#301115, Richard Hult)
2005-04-07 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkbbox.sgml: Document that GtkButtonBox ignores
the homogeneous property. (#171412, Morten Welinder)
* gtk/tmpl/gtkfilechooser.sgml: Add a paragraph about
shortcut terminology. (#166906, Sebastien Bacher)
* gtk/tmpl/gtkenums.sgml: Make the docs of GKT_SELECTION_MULTIPLE
more accurate by making them more vague. (#167088,
Ken Siersma)
* gtk/question_index.sgml: Add a question about hiding
tree view expanders.
* gtk/tmpl/gtkradiobutton.sgml: Add a sentence about
toggling. (#159382, Worik Stanton)
2005-04-05 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktooltips.sgml: Mention enter and leave
events. (#167546, Billy Biggs)
2005-04-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions.
2005-04-01 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkselection.sgml: Move docs inline.
2005-03-31 Michael Natterer <mitch@gimp.org>
* gtk/gtk-sections.txt: added gtk_menu_set/get_take_focus().
* gtk/tmpl/gtkmenushell.sgml: regenerated.
2005-03-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_button_[sg]et_image
2005-03-09 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkwidget.sgml: Typo fixes. (#169728,
Morten Welinder, Owen Taylor)
2005-02-27 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreeselection.sgml:
* gtk/tmpl/gtktreeview.sgml:
* gtk/tmpl/gtktreeviewcolumn.sgml: Fix typos
in see also lists. (# 168698, Torsten Schoenfeld)
* gtk/tmpl/gtktreemodel.sgml: Fix stack vs heap
confusion. (#168690, Torsten Schoenfeld)
2005-02-15 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkcalendar.sgml: Add some more
info. (#167356, Hubert Sokolowski)
2005-02-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkPackDirection and
related functions.
2005-02-08 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkuimanager.sgml: Mention the expanding

View File

@@ -28,6 +28,7 @@ IGNORE_HFILES= \
gdk-pixbuf-private.h \
io-gif-animation.h \
io-ani-animation.h \
xpm-color-table.h \
test-images.h
INCLUDES = \

View File

@@ -114,6 +114,8 @@ gdk_pixbuf_fill
<FILE>animation</FILE>
GdkPixbufAnimation
GdkPixbufAnimationIter
GdkPixbufAnimation
GdkPixbufAnimationIter
gdk_pixbuf_animation_new_from_file
gdk_pixbuf_animation_ref
gdk_pixbuf_animation_unref
@@ -127,6 +129,11 @@ 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
@@ -135,11 +142,22 @@ 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
GdkPixbufSimpleAnimClass
<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
</SECTION>
<SECTION>
@@ -250,6 +268,7 @@ 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

View File

@@ -20,16 +20,30 @@ Animated images.
#GdkPixbufLoader
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
This object describes an animation.
</para>
<para>
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
A #GdkPixbufAnimationIter provides the necessary functionality to
display an animation. See gdk_pixbuf_animation_get_iter().
</para>
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
</para>
@@ -143,3 +157,29 @@ display an animation. See gdk_pixbuf_animation_get_iter().
@Returns:
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_new ##### -->
<para>
</para>
@width:
@height:
@rate:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_add_frame ##### -->
<para>
</para>
@animation:
@pixbuf:

View File

@@ -43,6 +43,9 @@ Creating a pixbuf from image data that is already in memory.
gdk_pixbuf_finalize().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new ##### -->
<para>

View File

@@ -25,6 +25,9 @@ Loading a pixbuf from a file.
#GdkPixbufLoader.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new_from_file ##### -->
<para>

View File

@@ -6,7 +6,11 @@ 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 ##### -->
@@ -14,6 +18,9 @@ Saving a pixbuf to a file.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_savev ##### -->
<para>

View File

@@ -69,6 +69,9 @@ 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

View File

@@ -23,6 +23,9 @@ Getting parts of an X drawable's image data into a pixbuf.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_get_from_drawable ##### -->
<para>

View File

@@ -20,6 +20,9 @@ Initializing the &gdk-pixbuf; Xlib library.
XlibRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_init ##### -->
<para>

View File

@@ -21,6 +21,9 @@ Rendering a pixbuf to an X drawable.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_render_threshold_alpha ##### -->
<para>

View File

@@ -17,6 +17,9 @@ Rendering RGB buffers to X drawables.
GdkRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT XlibRgbCmap ##### -->
<para>
FIXME: Describe this.
@@ -62,6 +65,15 @@ displays.
@prefDepth:
<!-- ##### FUNCTION xlib_rgb_xpixel_from_rgb ##### -->
<para>
</para>
@rgb:
@Returns:
<!-- ##### FUNCTION xlib_rgb_gc_set_foreground ##### -->
<para>

View File

@@ -90,6 +90,9 @@ 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;

View File

@@ -16,6 +16,9 @@ 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.

View File

@@ -5,15 +5,23 @@ Inline data
Functions for inlined pixbuf handling.
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<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>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixdata ##### -->
<para>

View File

@@ -65,6 +65,9 @@ They are not covered by the same stability guarantees as the regular
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
<para>
@@ -337,7 +340,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:
@save_to_callback: saves a #GdkPixbuf by calling the given #GdkPixbufSaveFunc.
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>

View File

@@ -45,6 +45,9 @@ Functions for reference counting and memory management on pixbufs.
#GdkPixbuf, gdk_pixbuf_new_from_data().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>

View File

@@ -71,6 +71,9 @@ 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

View File

@@ -17,6 +17,9 @@ Utility and miscellaneous convenience functions.
#GdkPixbuf
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_add_alpha ##### -->
<para>

View File

@@ -28,6 +28,7 @@ IGNORE_HFILES= \
gdkprivate.h \
gdkpoly-generic.h \
gdkregion-generic.h \
keyname-table.h \
linux-fb \
nanox \
win32 \

View File

@@ -15,6 +15,7 @@
<!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">
@@ -81,7 +82,7 @@
&gdk-Input-Devices;
&gdk-Pango-Interaction;
&gdk-Cairo-Interaction;
&gdk-X-Window-System-Interaction;
</reference>

View File

@@ -197,6 +197,8 @@ 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_get_root_window
gdk_screen_get_display
gdk_screen_get_number
@@ -496,7 +498,6 @@ GDK_IS_DRAWABLE_CLASS
<SUBSECTION Private>
GdkDrawableClass
gdk_draw_bitmap
gdk_draw_rectangle_alpha_libgtk_only
</SECTION>
<SECTION>
@@ -704,6 +705,7 @@ gdk_window_set_modal_hint
gdk_window_set_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
@@ -861,6 +863,16 @@ 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_rectangle
gdk_cairo_region
</SECTION>
<SECTION>
<TITLE>Points, Rectangles and Regions</TITLE>
<FILE>regions</FILE>
@@ -1123,8 +1135,10 @@ 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
@@ -1249,6 +1263,7 @@ 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

View File

@@ -0,0 +1,66 @@
<!-- ##### SECTION Title ##### -->
Cairo Interaction
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</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_rectangle ##### -->
<para>
</para>
@cr:
@rectangle:
<!-- ##### FUNCTION gdk_cairo_region ##### -->
<para>
</para>
@cr:
@region:

View File

@@ -43,6 +43,9 @@ gdk_color_change() will probably become aliases.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkColor ##### -->
<para>
The #GdkColor structure is used to describe an
@@ -62,7 +65,6 @@ 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

View File

@@ -6,7 +6,21 @@ 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 ##### -->
@@ -14,13 +28,15 @@ Standard and pixmap cursors
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkCursor ##### -->
<para>
A <type>GdkCursor</type> structure represents a cursor.
</para>
@type:
@ref_count:
@type: the #GdkCursorType of the cursor
<!-- ##### ENUM GdkCursorType ##### -->
<para>
@@ -104,9 +120,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:
@GDK_LAST_CURSOR: last cursor type
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
gdk_cursor_new_from_pixmap().
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
<!-- ##### FUNCTION gdk_cursor_new ##### -->
<para>
@@ -142,6 +158,16 @@ The standard cursors available.
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_from_name ##### -->
<para>
</para>
@display:
@name:
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_for_display ##### -->
<para>
@@ -161,6 +187,15 @@ The standard cursors available.
@Returns:
<!-- ##### FUNCTION gdk_cursor_get_image ##### -->
<para>
</para>
@cursor:
@Returns:
<!-- ##### FUNCTION gdk_cursor_ref ##### -->
<para>

View File

@@ -22,6 +22,9 @@ the GTK+ documentation for more information.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
<para>
</para>
@@ -194,7 +197,7 @@ Used in #GdkDragContext to indicate what the destination
should do with the dropped data.
</para>
@GDK_ACTION_DEFAULT:
@GDK_ACTION_DEFAULT: Means nothing, and should not be used.
@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.

View File

@@ -31,6 +31,9 @@ gtk_widget_create_pango_layout().
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDrawable ##### -->
<para>
An opaque structure representing an object that can be

View File

@@ -20,6 +20,9 @@ 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,

View File

@@ -27,6 +27,9 @@ The structs used for each type of event.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### ENUM GdkEventType ##### -->
<para>
Specifies the type of the event.
@@ -81,9 +84,10 @@ 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:
@GDK_WINDOW_STATE:
@GDK_SETTING:
@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_OWNER_CHANGE: the owner of a selection has changed. This event type
was added in 2.6

View File

@@ -261,6 +261,9 @@ here).
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkFont ##### -->
<para>
The <structname>GdkFont</structname> structure represents a font or fontset. It

View File

@@ -30,6 +30,9 @@ be set by the latter method.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkGC ##### -->
<para>
The #GdkGC structure represents a graphics context.

View File

@@ -895,6 +895,16 @@ 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>

View File

@@ -28,6 +28,9 @@ 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

View File

@@ -16,6 +16,9 @@ changes.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDisplayManager ##### -->
<para>
The <structname>GdkDisplayManager</structname> struct has no interesting

View File

@@ -22,6 +22,9 @@ 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
@@ -100,6 +103,24 @@ 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_get_root_window ##### -->
<para>

View File

@@ -15,6 +15,9 @@ utility functions.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_init ##### -->
<para>
Initializes the GDK library and connects to the X server.

View File

@@ -55,6 +55,9 @@ displays.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkImage ##### -->
<para>
The #GdkImage struct contains information on the image and the pixel data.
@@ -72,7 +75,6 @@ The #GdkImage struct contains information on the image and the pixel data.
@bits_per_pixel:
@mem: the pixel data.
@colormap:
@windowing_data:
<!-- ##### FUNCTION gdk_image_new ##### -->
<para>

View File

@@ -31,6 +31,9 @@ callbacks.</para></listitem>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_input_add_full ##### -->
<para>
Establish a callback when a condition becomes true on

View File

@@ -89,6 +89,9 @@ and <structfield>ytilt</structfield>.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDevice ##### -->
<para>
A <structname>GdkDevice</structname> structure contains

View File

@@ -80,6 +80,9 @@ 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

View File

@@ -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_context(), or
you'll usually want to use gtk_widget_get_pango_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,6 +129,9 @@ g_object_unref (gc);
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPangoRenderer ##### -->
<para>

View File

@@ -6,7 +6,9 @@ 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 ##### -->
@@ -14,6 +16,9 @@ Functions for rendering pixbufs on drawables
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
<para>

View File

@@ -18,6 +18,9 @@ pixel can be either on or off).
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkPixmap ##### -->
<para>
An opaque structure representing an offscreen drawable.

View File

@@ -42,6 +42,9 @@ 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
@@ -252,15 +255,14 @@ and %GDK_NONE will be stored in @actual_property_type.
</para>
<note>
<para>
The <function>XGetWindowProperty()</function>
function that gdk_property_get()
uses has a very confusing and complicated set of semantics.
The XGetWindowProperty() 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
<function>XGetWindowProperty()</function>
directly until a replacement function for gdk_property_get()
XGetWindowProperty() directly until a replacement function for
gdk_property_get()
is provided.
</para>
</note>
@@ -273,18 +275,24 @@ 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 delete. (in bytes, but
the actual retrieved length will be the next
integer multiple multiple of four greater than
this!)
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).
@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 format of the data.
@actual_length: location to store the length of the retrieved
data, in bytes.
@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.
@data: location to store a pointer to the data. The retrieved
data should be freed with g_free() when you are finished
using it.

View File

@@ -33,6 +33,9 @@ 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.

View File

@@ -115,6 +115,9 @@ colors.</para></listitem>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_rgb_init ##### -->
<para>
This function no longer does anything at all. It's completely useless

View File

@@ -47,6 +47,9 @@ to the X Inter-client Communication Conventions Manual
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### TYPEDEF GdkSelection ##### -->
<para>
The #GdkSelection enumeration contains predefined

View File

@@ -241,6 +241,9 @@ 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+

View File

@@ -51,6 +51,9 @@ then %GDK_VISUAL_STATIC_GRAY.
#GdkImage, #GdkColormap, #GdkRGB
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkVisual ##### -->
<para>
The <type>GdkVisual</type> structure contains information about
@@ -129,7 +132,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_TRUE_COLOR, but the components are mapped via a
components as for %GDK_VISUAL_TRUE_COLOR, but the components are mapped via a
color table into the final output table instead of being converted directly.
<!-- ##### ENUM GdkByteOrder ##### -->

View File

@@ -18,6 +18,9 @@ For example, each #GtkButton has a #GdkWindow associated with it.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkWindow ##### -->
<para>
An opaque structure representing an onscreen drawable.
@@ -273,7 +276,7 @@ corresponding flag in #GdkWindowAttributesType.
Deprecated equivalent of g_object_ref()
</para>
@Returns:
@Returns: the window
<!-- ##### MACRO gdk_window_unref ##### -->
@@ -1034,6 +1037,15 @@ 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>
@@ -1075,7 +1087,7 @@ Deprecated equivalent of gdk_drawable_get_size().
Deprecated equivalent of gdk_drawable_get_visual().
</para>
@Returns:
@Returns: the #GdkVisual of the window
<!-- ##### MACRO gdk_window_get_colormap ##### -->

View File

@@ -14,6 +14,9 @@ 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.
@@ -59,10 +62,8 @@ Returns the X window belonging to a #GdkWindow.
Returns the display of a #GdkPixmap.
</para>
@pix:
@pix: a #GdkPixmap.
@Returns: an Xlib <type>Display*</type>.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
<!-- ##### MACRO GDK_PIXMAP_XID ##### -->
@@ -70,10 +71,8 @@ Returns the display of a #GdkPixmap.
Returns the X pixmap belonging to a #GdkPixmap.
</para>
@pix:
@pix: a #GdkPixmap.
@Returns: the Xlib <type>XPixmap</type> of @win.
<!-- # Unused Parameters # -->
@win: a #GdkPixmap.
<!-- ##### MACRO GDK_DISPLAY_XDISPLAY ##### -->
@@ -520,6 +519,16 @@ Since: 2.2
@display:
<!-- ##### FUNCTION gdk_x11_display_set_cursor_theme ##### -->
<para>
</para>
@display:
@theme:
@size:
<!-- ##### FUNCTION gdk_x11_register_standard_event_type ##### -->
<para>

View File

@@ -27,6 +27,7 @@ IGNORE_HFILES= \
fnmatch.h \
gdk-pixbuf-loader.h \
gtkdebug.h \
gtkdndcursors.h \
gtkentryprivate.h \
gtkfilechooserdefault.h \
gtkfilechooserembed.h \
@@ -38,6 +39,7 @@ IGNORE_HFILES= \
gtkfilesystemunix.h \
gtkfilesystemwin32.h \
gtkhsv.h \
gtkiconcache.h \
gtkiconthemeparser.h \
gtkimmodule.h \
gtkintl.h \
@@ -46,6 +48,7 @@ IGNORE_HFILES= \
gtkpathbar.h \
gtkprivate.h \
gtkrbtree.h \
gtksequence.h \
gtktreedatalist.h \
gtktreeprivate.h \
gtktextbtree.h \
@@ -57,11 +60,11 @@ IGNORE_HFILES= \
gtktexttagprivate.h \
gtktexttypes.h \
gtktextutil.h \
gtktoggleactionprivate.h \
gtktypebuiltins.h \
gtkxembed.h \
xdgmime \
xembed.h \
gtktoggleactionprivate.h
xembed.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
@@ -110,6 +113,19 @@ 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 \
tree_widget.sgml \
text_widget.sgml \
question_index.sgml
# Images to copy into HTML directory
HTML_IMAGES = \
$(top_srcdir)/gtk/stock-icons/stock_about_24.png \

View File

@@ -22,7 +22,8 @@ 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:
<literal>pkg-config</literal> is used (the actual output on
your system may be different):
<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

View File

@@ -24,7 +24,7 @@
<para>
A <glossterm linkend="container">container</glossterm> that
can hold at most one child widget. The base class for bins is
<link linkend="GtkBin">GtkBin</link>.
#GtkBin.
</para>
<glossseealso>
<glossterm linkend="container">container</glossterm>
@@ -48,10 +48,9 @@
<glossdef>
<para>
GTK+ contains several widgets which display data in columns,
e.g. the <link linkend="GtkTreeView">GtkTreeView</link>.
e.g. the #GtkTreeView.
These <glossterm linkend="view-column">view columns</glossterm> in
the tree view are represented by
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>
the tree view are represented by #GtkTreeViewColumn
objects inside GTK+. They should not be confused with
<glossterm linkend="model-column">model columns</glossterm> which
are used to organize the data in tree models.
@@ -69,14 +68,11 @@
<emphasis>parent</emphasis> of the <emphasis>child</emphasis>
widgets. Some containers don't draw anything on their own,
but rather just organize their children's <glossterm
linkend="geometry">geometry</glossterm>; for example, <link
linkend="GtkVBox">GtkVBox</link> lays out its children
vertically without painting anything on its own. Other
containers include decorative elements; for example, <link
linkend="GtkFrame">GtkFrame</link> contains the frame's child
and a label in addition to the shaded frame it draws. The
base class for containers is <link
linkend="GtkContainer">GtkContainer</link>.
linkend="geometry">geometry</glossterm>; for example, #GtkVBox lays out
its children vertically without painting anything on its own. Other
containers include decorative elements; for example, #GtkFrame contains
the frame's child and a label in addition to the shaded frame it draws.
The base class for containers is #GtkContainer.
</para>
<glossseealso>
<glossterm linkend="container">widget</glossterm>
@@ -94,8 +90,7 @@
of a keyboard, a pointing device and one or more
<glossterm linkend="screen">screens</glossterm>.
Applications open a display to show windows and interact with the user.
In GDK, a display is represented by a
<link linkend="GdkDisplay">GdkDisplay</link>.
In GDK, a display is represented by a #GdkDisplay.
</para>
</glossdef>
</glossentry>
@@ -130,15 +125,13 @@
actually shows the GdkWindows it created when it was
<glossterm linkend="realization">realized</glossterm>. When a
widget is mapped, it must turn on its
<constant>GTK_MAPPED</constant> <link
linkend="GtkWidgetFlags">flag</link>.
%GTK_MAPPED <link linkend="GtkWidgetFlags">flag</link>.
</para>
<para>
Note that due to the asynchronous nature of the X window
system, a widget's window may not appear on the screen
immediatly after one calls <link
linkend="gdk-window-show"><function>gdk_window_show()</function></link>:
immediatly after one calls gdk_window_show():
you must wait for the corresponding map <glossterm
linkend="event">event</glossterm> to be received. You can do
this with the <link
@@ -155,7 +148,7 @@
A column in a tree model, holding data of a certain type.
The types which can be stored in the columns of a model
have to be specified when the model is constructed, see
e.g. <link linkend="gtk-list-store-new">gtk_list_store_new()</link>.
e.g. gtk_list_store_new().
</para>
<glossseealso>
<glossterm linkend="view-column">view column</glossterm>
@@ -170,17 +163,13 @@
These widgets follow the well-known model-view pattern, which separates
the data (the model) to be displayed from the component which does the
actual visualization (the view). Examples of this pattern in GTK+ are
the <link linkend="GtkTreeView">GtkTreeView</link>/<link linkend="GtkTreeModel">GtkTreeModel</link>
and
<link linkend="GtkTextView">GtkTextView</link>/<link linkend="GtkTextBuffer">GtkTextBuffer</link>
the #GtkTreeView/#GtkTreeModel and #GtkTextView/#GtkTextBuffer
</para>
<para>
One important advantage of this pattern is that it is possible to
display the same model in multiple views; another one that the
separation of the model allows a great deal of flexibility, as
demonstrated by e.g.
<link linkend="GtkTreeModelSort">GtkTreeModelSort</link> or
<link linkend="GtkTreeModelFilter">GtkTreeModelFilter</link>.
demonstrated by e.g. #GtkTreeModelSort or #GtkTreeModelFilter.
</para>
</glossdef>
</glossentry>
@@ -192,11 +181,8 @@
A widget that does not have a GdkWindow of its own on which to
draw its contents, but rather shares its <glossterm
linkend="parent">parent's</glossterm>. Such a widget has the
<constant>GTK_NO_WINDOW</constant> <link
linkend="GtkWidgetFlags">flag</link> set, and can be tested
with the <link
linkend="gtk-widget-no-window:caps"><function>GTK_WIDGET_NO_WINDOW()</function></link>
macro.
%GTK_NO_WINDOW <link linkend="GtkWidgetFlags">flag</link> set, and
can be tested with the GTK_WIDGET_NO_WINDOW() macro.
</para>
</glossdef>
</glossentry>
@@ -224,17 +210,14 @@
also attach a <glossterm linkend="style">style</glossterm> to
it. A widget becomes unrealized by destroying its associated
GdkWindow. When a widget is realized, it must turn on its
<constant>GTK_REALIZED</constant> <link
linkend="GtkWidgetFlags">flag</link>.
%GTK_REALIZED <link linkend="GtkWidgetFlags">flag</link>.
</para>
<para>
Widgets that don't own the GdkWindow on which they draw are
called <glossterm linkend="no-window">no-window
widgets</glossterm>. This can be tested with the <link
linkend="gtk-widget-no-window:caps"><function>GTK_WIDGET_NO_WINDOW()</function></link>
macro. Normally, these widgets draw on their parent's
GdkWindow.
called <glossterm linkend="no-window">no-window widgets</glossterm>.
This can be tested with the GTK_WIDGET_NO_WINDOW() macro. Normally,
these widgets draw on their parent's GdkWindow.
</para>
<para>
@@ -276,8 +259,7 @@
Each screen can stretch across multiple physical monitors.
</para>
<para>
In GDK, screens are represented by
<link linkend="GdkScreen">GdkScreen</link> objects.
In GDK, screens are represented by #GdkScreen objects.
</para>
</glossdef>
</glossentry>
@@ -298,9 +280,8 @@
<glossdef>
<para>
A <glossterm linkend="widget">widget</glossterm> that does not
require a <glossterm linkend="parent">parent</glossterm>
container. The only toplevel widgets in GTK+ are <link
linkend="GtkWindow">GtkWindow</link> and widgets derived from it.
require a <glossterm linkend="parent">parent</glossterm> container.
The only toplevel widgets in GTK+ are #GtkWindow and widgets derived from it.
</para>
<glossseealso>
<glossterm linkend="container">container</glossterm>
@@ -323,7 +304,7 @@
<glossdef>
<para>
A displayed column in a tree view, represented by a
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> object.
#GtkTreeViewColumn object.
</para>
<glossseealso>
<glossterm linkend="model-column">model column</glossterm>
@@ -362,8 +343,7 @@
linkend="geometry">geometry</glossterm> of the widgets: every
widget thus has a parent except those widgets which are
<glossterm linkend="toplevel">toplevels</glossterm>. The base
class for widgets is <link
linkend="GtkWidget">GtkWidget</link>.
class for widgets is #GtkWidget.
</para>
<glossseealso>
<glossterm linkend="container">container</glossterm>

View File

@@ -175,8 +175,8 @@
<!ENTITY visual-index SYSTEM "visual_index.xml">
<!ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml">
<!ENTITY gtk-TextWidget SYSTEM "text_widget.sgml">
<!ENTITY gtk-TreeWidget SYSTEM "tree_widget.sgml">
<!ENTITY gtk-TextWidget SYSTEM "xml/text_widget.sgml">
<!ENTITY gtk-TreeWidget SYSTEM "xml/tree_widget.sgml">
<!ENTITY gtk-Compiling SYSTEM "compiling.sgml">
<!ENTITY gtk-Building SYSTEM "building.sgml">
<!ENTITY gtk-Running SYSTEM "running.sgml">
@@ -184,20 +184,20 @@
<!ENTITY gtk-Windows SYSTEM "windows.sgml">
<!ENTITY gtk-Framebuffer SYSTEM "framebuffer.sgml">
<!ENTITY gtk-X11 SYSTEM "x11.sgml">
<!ENTITY gtk-Questions SYSTEM "question_index.sgml">
<!ENTITY gtk-Questions SYSTEM "xml/question_index.sgml">
<!ENTITY gtk-Changes-1-2 SYSTEM "changes-1.2.sgml">
<!ENTITY gtk-Changes-2-0 SYSTEM "changes-2.0.sgml">
<!ENTITY gtk-migrating-checklist SYSTEM "migrating-checklist.sgml">
<!ENTITY gtk-migrating-GtkFileChooser SYSTEM "migrating-GtkFileChooser.sgml">
<!ENTITY gtk-migrating-GtkAction SYSTEM "migrating-GtkAction.sgml">
<!ENTITY gtk-migrating-GtkComboBox SYSTEM "migrating-GtkComboBox.sgml">
<!ENTITY gtk-migrating-GtkIconView SYSTEM "migrating-GtkIconView.sgml">
<!ENTITY gtk-migrating-GtkAboutDialog SYSTEM "migrating-GtkAboutDialog.sgml">
<!ENTITY gtk-migrating-GtkColorButton SYSTEM "migrating-GtkColorButton.sgml">
<!ENTITY gtk-migrating-checklist SYSTEM "xml/migrating-checklist.sgml">
<!ENTITY gtk-migrating-GtkFileChooser SYSTEM "xml/migrating-GtkFileChooser.sgml">
<!ENTITY gtk-migrating-GtkAction SYSTEM "xml/migrating-GtkAction.sgml">
<!ENTITY gtk-migrating-GtkComboBox SYSTEM "xml/migrating-GtkComboBox.sgml">
<!ENTITY gtk-migrating-GtkIconView SYSTEM "xml/migrating-GtkIconView.sgml">
<!ENTITY gtk-migrating-GtkAboutDialog SYSTEM "xml/migrating-GtkAboutDialog.sgml">
<!ENTITY gtk-migrating-GtkColorButton SYSTEM "xml/migrating-GtkColorButton.sgml">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY gtk-query-immodules SYSTEM "gtk-query-immodules-2.0.xml">
<!ENTITY gtk-update-icon-cache SYSTEM "gtk-update-icon-cache.xml">
<!ENTITY gtk-glossary SYSTEM "glossary.xml">
<!ENTITY gtk-glossary SYSTEM "xml/glossary.xml">
]>
<book id="index">
<bookinfo>

View File

@@ -185,6 +185,7 @@ gtk_action_block_activate_from
gtk_action_unblock_activate_from
gtk_action_get_accel_path
gtk_action_set_accel_path
gtk_action_get_accel_closure
gtk_action_set_accel_group
<SUBSECTION Standard>
GTK_TYPE_ACTION
@@ -408,6 +409,8 @@ gtk_button_set_focus_on_click
gtk_button_get_focus_on_click
gtk_button_set_alignment
gtk_button_get_alignment
gtk_button_set_image
gtk_button_get_image
<SUBSECTION Standard>
GTK_BUTTON
@@ -971,6 +974,7 @@ gtk_dialog_get_has_separator
gtk_dialog_set_default_response
gtk_dialog_set_has_separator
gtk_dialog_set_response_sensitive
gtk_dialog_get_response_for_widget
<SUBSECTION>
gtk_alternative_dialog_button_order
gtk_dialog_set_alternative_button_order
@@ -1117,6 +1121,10 @@ gtk_entry_completion_set_inline_completion
gtk_entry_completion_get_inline_completion
gtk_entry_completion_set_popup_completion
gtk_entry_completion_get_popup_completion
gtk_entry_completion_set_popup_set_width
gtk_entry_completion_get_popup_set_width
gtk_entry_completion_set_popup_single_match
gtk_entry_completion_get_popup_single_match
<SUBSECTION Standard>
GTK_TYPE_ENTRY_COMPLETION
GTK_ENTRY_COMPLETION
@@ -1638,6 +1646,9 @@ gtk_icon_view_get_markup_column
gtk_icon_view_set_pixbuf_column
gtk_icon_view_get_pixbuf_column
gtk_icon_view_get_path_at_pos
gtk_icon_view_get_item_at_pos
gtk_icon_view_set_cursor
gtk_icon_view_get_cursor
gtk_icon_view_selected_foreach
gtk_icon_view_set_selection_mode
gtk_icon_view_get_selection_mode
@@ -1662,6 +1673,20 @@ gtk_icon_view_get_selected_items
gtk_icon_view_select_all
gtk_icon_view_unselect_all
gtk_icon_view_item_activated
gtk_icon_view_scroll_to_path
gtk_icon_view_get_visible_range
<SUBSECTION Dnd>
gtk_icon_view_enable_model_drag_source
gtk_icon_view_enable_model_drag_dest
gtk_icon_view_unset_model_drag_source
gtk_icon_view_unset_model_drag_dest
gtk_icon_view_set_reorderable
gtk_icon_view_get_reorderable
gtk_icon_view_set_drag_dest_item
gtk_icon_view_get_drag_dest_item
gtk_icon_view_get_dest_item_at_pos
gtk_icon_view_create_drag_icon
<SUBSECTION Standard>
GTK_ICON_VIEW_CLASS
GTK_IS_ICON_VIEW
@@ -1702,6 +1727,7 @@ gtk_image_set_from_pixmap
gtk_image_set_from_stock
gtk_image_set_from_animation
gtk_image_set_from_icon_name
gtk_image_clear
gtk_image_new
gtk_image_set
gtk_image_get
@@ -2100,6 +2126,11 @@ gtk_menu_bar_new
gtk_menu_bar_append
gtk_menu_bar_prepend
gtk_menu_bar_insert
GtkPackDirection
gtk_menu_bar_set_pack_direction
gtk_menu_bar_get_pack_direction
gtk_menu_bar_set_child_pack_direction
gtk_menu_bar_get_child_pack_direction
<SUBSECTION Standard>
GTK_MENU_BAR
GTK_IS_MENU_BAR
@@ -2189,6 +2220,8 @@ gtk_menu_shell_select_first
gtk_menu_shell_deselect
gtk_menu_shell_activate_item
gtk_menu_shell_cancel
gtk_menu_shell_set_take_focus
gtk_menu_shell_get_take_focus
GtkMenuDirectionType
<SUBSECTION Standard>
GTK_MENU_SHELL
@@ -2695,6 +2728,8 @@ GtkScrolledWindow
gtk_scrolled_window_new
gtk_scrolled_window_get_hadjustment
gtk_scrolled_window_get_vadjustment
gtk_scrolled_window_get_hscrollbar
gtk_scrolled_window_get_vscrollbar
gtk_scrolled_window_set_policy
gtk_scrolled_window_add_with_viewport
gtk_scrolled_window_set_placement
@@ -2786,6 +2821,8 @@ GtkSizeGroupMode
gtk_size_group_new
gtk_size_group_set_mode
gtk_size_group_get_mode
gtk_size_group_set_ignore_hidden
gtk_size_group_get_ignore_hidden
gtk_size_group_add_widget
gtk_size_group_remove_widget
<SUBSECTION Standard>
@@ -3113,6 +3150,10 @@ gtk_text_iter_forward_visible_cursor_position
gtk_text_iter_backward_visible_cursor_position
gtk_text_iter_forward_visible_cursor_positions
gtk_text_iter_backward_visible_cursor_positions
gtk_text_iter_forward_visible_line
gtk_text_iter_backward_visible_line
gtk_text_iter_forward_visible_lines
gtk_text_iter_backward_visible_lines
gtk_text_iter_set_offset
gtk_text_iter_set_line
gtk_text_iter_set_line_offset
@@ -3501,6 +3542,8 @@ gtk_tool_button_set_use_underline
gtk_tool_button_get_use_underline
gtk_tool_button_set_stock_id
gtk_tool_button_get_stock_id
gtk_tool_button_set_icon_name
gtk_tool_button_get_icon_name
gtk_tool_button_set_icon_widget
gtk_tool_button_get_icon_widget
gtk_tool_button_set_label_widget
@@ -4095,8 +4138,6 @@ gtk_cell_view_new
gtk_cell_view_new_with_text
gtk_cell_view_new_with_markup
gtk_cell_view_new_with_pixbuf
gtk_cell_view_set_value
gtk_cell_view_set_values
gtk_cell_view_set_model
gtk_cell_view_set_displayed_row
gtk_cell_view_get_displayed_row
@@ -4672,6 +4713,7 @@ gtk_window_get_focus
gtk_window_set_focus
gtk_window_set_default
gtk_window_present
gtk_window_present_with_time
gtk_window_iconify
gtk_window_deiconify
gtk_window_stick
@@ -4692,6 +4734,7 @@ gtk_window_set_role
gtk_window_set_type_hint
gtk_window_set_skip_taskbar_hint
gtk_window_set_skip_pager_hint
gtk_window_set_urgency_hint
gtk_window_set_accept_focus
gtk_window_set_focus_on_map
gtk_window_get_decorated
@@ -4713,6 +4756,7 @@ gtk_window_get_transient_for
gtk_window_get_type_hint
gtk_window_get_skip_taskbar_hint
gtk_window_get_skip_pager_hint
gtk_window_get_urgency_hint
gtk_window_get_accept_focus
gtk_window_get_focus_on_map
gtk_window_move
@@ -5073,6 +5117,7 @@ gtk_selection_data_get_type
GtkClipboard
GtkClipboardReceivedFunc
GtkClipboardTextReceivedFunc
GtkClipboardImageReceivedFunc
GtkClipboardTargetsReceivedFunc
GtkClipboardGetFunc
GtkClipboardClearFunc
@@ -5132,6 +5177,7 @@ gtk_drag_set_icon_widget
gtk_drag_set_icon_pixmap
gtk_drag_set_icon_pixbuf
gtk_drag_set_icon_stock
gtk_drag_set_icon_name
gtk_drag_set_icon_default
gtk_drag_set_default_icon
gtk_drag_check_threshold
@@ -5139,6 +5185,7 @@ gtk_drag_source_set
gtk_drag_source_set_icon
gtk_drag_source_set_icon_pixbuf
gtk_drag_source_set_icon_stock
gtk_drag_source_set_icon_name
gtk_drag_source_unset
gtk_drag_source_set_target_list
gtk_drag_source_get_target_list

View File

@@ -3,15 +3,13 @@
<title>Migrating from GnomeAbout to GtkAboutDialog</title>
<para>
Since version 2.6, GTK+ provides the <link
linkend="GtkIconView">GtkAboutDialog</link> widget as a replacement for
Since version 2.6, GTK+ provides the #GtkAboutDialog widget as a replacement for
the <structname>GnomeAbout</structname> dialog in the libgnomeui library.
</para>
<para>
<link linkend="GtkIconView">GtkAboutDialog</link> supports all features
found in <structname>GnomeAbout</structname>. The
<structname>GtkAboutDialog</structname> API is bigger, since it follows
#GtkAboutDialog supports all features found in <structname>GnomeAbout</structname>.
The <structname>GtkAboutDialog</structname> API is bigger, since it follows
the GTK+ policy to have getters and setters for all widget properties,
but it isn't much more complex than <structname>GnomeAbout</structname>.
</para>
@@ -56,9 +54,9 @@
NULL);
g_object_unref (pixbuf);
</programlisting></informalexample>
If the <link linkend="g-object-new"><function>g_object_new()</function></link> construction scares you,
you can also use <link linkend="g-object-new"><function>gtk_about_dialog_new()</function></link> to
construct the dialog and then use the setters for the individual properties.
If the g_object_new() construction scares you, you can also use
gtk_about_dialog_new() to construct the dialog and then use the setters for
the individual properties.
</para>
<para>
@@ -82,9 +80,8 @@
</para></listitem>
<listitem><para>
If your credits contain email addresses or URLs, you can turn them
into clickable links using
<link linkend="gtk-about-dialog-set-email-hook"><function>gtk_about_dialog_set_email_hook()</function></link> and
<link linkend="gtk-about-dialog-set-url-hook"><function>gtk_about_dialog_set_url_hook()</function></link>.
into clickable links using gtk_about_dialog_set_email_hook() and
gtk_about_dialog_set_url_hook().
</para></listitem>
</itemizedlist>
</para>

View File

@@ -15,40 +15,35 @@
<para>
Prior to GTK+ 2.4, there were several APIs in use to create menus
and toolbars. GTK+ itself included <link
linkend="GtkItemFactory">GtkItemFactory</link>, which was
and toolbars. GTK+ itself included #GtkItemFactory, which was
historically used in the GIMP; libgnomeui provided the gnome-ui
set of macros; libbonoboui provided a complex mechanism to do menu
merging across embedded components. GTK+ 2.4 includes a system
for creating menus and toolbars, with merging of items, based
around the <link linkend="GtkAction">GtkAction</link> mechanism.
around the #GtkAction mechanism.
</para>
<section id="actions-and-action-groups">
<title>Actions and Action Groups</title>
<para>
A <link linkend="GtkAction">GtkAction</link> represents an
operation that the user can perform from the menus and toolbars
of an application. It is similar to "verbs" in other menu
systems. A <link linkend="GtkAction">GtkAction</link> has a
name, which is its identifier, and it can have several widgets
that represent it in the user interface. For example, an action
for <symbol>EditCopy</symbol> can have a menu item as well as a
toolbar button associated to it. If there is nothing selected
A #GtkAction represents an operation that the user can perform from
the menus and toolbars of an application. It is similar to "verbs"
in other menu systems. A #GtkAction has a name, which is its identifier,
and it can have several widgets that represent it in the user interface.
For example, an action for <symbol>EditCopy</symbol> can have a menu item
as well as a toolbar button associated to it. If there is nothing selected
in the document, the application can simply de-sensitize the
<symbol>EditCopy</symbol> action; this will cause both the menu
item and the toolbar button to be de-sensitized automatically.
Similarly, whenever the user selects the menu item or the
toolbar button associated to the <symbol>EditCopy</symbol>
action, the corresponding <link
linkend="GtkAction">GtkAction</link> object will emit an
action, the corresponding #GtkAction object will emit an
"activate" signal.
</para>
<para>
<link linkend="GtkActionGroup">GtkActionGroup</link> is simply a
group of <link linkend="GtkAction">GtkAction</link> objects. An
#GtkActionGroup is simply a group of #GtkAction objects. An
application may want to have several groups: one for global
actions such as "new document", "about", and "exit"; then one
group for each open document with actions specific to the
@@ -72,22 +67,20 @@
<title>User Interface Manager Object</title>
<para>
<link linkend="GtkUIManager">GtkUIManager</link> is an object
that can construct menu and toolbar widgets from an XML
description. These widgets are in turn associated to
#GtkUIManager is an object that can construct menu and toolbar widgets
from an XML description. These widgets are in turn associated to
corresponding actions and action groups.
</para>
<para>
<link linkend="GtkUIManager">GtkUIManager</link> supports
merging of menus and toolbars for applications that have
multiple components, each with separate sets of commands. For
example, a word processor that can embed images may want to have
#GtkUIManager supports merging of menus and toolbars for applications
that have multiple components, each with separate sets of commands.
For example, a word processor that can embed images may want to have
toolbar buttons for Bold and Italic when the cursor is on a text
block, but Crop and Brightness/Contrast buttons when the cursor
is on an image. These actions, which change depending on the
state of the application, can be merged and de-merged from a
<link linkend="GtkUIManager">GtkUIManager</link> as appropriate.
#GtkUIManager as appropriate.
</para>
</section>
@@ -102,8 +95,7 @@
array of <structname>GnomeUIInfo</structname> structures, which
contain information for menu or toolbar items such as their
label, icon, and accelerator key. Then, one calls
<function>gnome_app_fill_menu()</function> or
<function>gnome_app_fill_toolbar()</function>, or one of the
gnome_app_fill_menu() or gnome_app_fill_toolbar(), or one of the
related functions, to create the appropriate widgets based on
these structures.
</para>
@@ -113,8 +105,7 @@
pass back pointers to the widgets that got created. This means
that the structures cannot simply be kept around if the program
requires multiple instances of the user interface (e.g. several
windows); each new invocation of
<function>gnome_app_fill_menu()</function> would overwrite the
windows); each new invocation of gnome_app_fill_menu() would overwrite the
widget fields of the structures.
</para>
@@ -142,11 +133,9 @@
<para>
Separate your existing GnomeUIInfo entries into normal
actions, toggle actions, and radio actions, and then create
a separate array of <link
linkend="GtkActionEntry">GtkActionEntry</link> structures
a separate array of #GtkActionEntry structures
for each group. This will allow you to create the necessary
<link linkend="GtkActionGroup">GtkActionGroup</link>
objects. Note that this does not describe the actual
#GtkActionGroup objects. Note that this does not describe the actual
"shape" that your menus and toolbars will have; it simply
defines the set of commands that will appear in them.
</para>
@@ -154,27 +143,22 @@
<listitem>
<para>
Create an XML description of your menus and toolbars for use
with <link linkend="GtkUIManager">GtkUIManager</link>. This
defines the actual shape of the menus and toolbars.
with #GtkUIManager. This defines the actual shape of the menus and toolbars.
</para>
</listitem>
<listitem>
<para>
Port the code that uses gnome-app and gnome-app-helper to
<link linkend="GtkAction">GtkAction</link> and <link
linkend="GtkUIManager">GtkUIManager</link>.
#GtkAction and #GtkUIManager.
</para>
</listitem>
<listitem>
<para>
If your GnomeUIInfo entries use GNOME_APP_PIXMAP_DATA or
GNOME_APP_PIXMAP_FILENAME for pixmaps, you have to create a
<link linkend="GtkIconFactory">GtkIconFactory</link>, add it
to the list of default factories, then create a
<link linkend="GtkIconSet">GtkIconSet</link> for each of your
own icons. Add the sets to the factory, and use the id in the
<link linkend="GtkActionEntry">GtkActionEntry</link> like a
regular GTK+ stock id.
#GtkIconFactory, add it to the list of default factories, then create a
#GtkIconSet for each of your own icons. Add the sets to the factory, and
use the id in the #GtkActionEntry like a regular GTK+ stock id.
</para>
</listitem>
</orderedlist>
@@ -184,8 +168,8 @@
<para>
The following code shows a declaration of a simple menu bar to
be used with <function>gnome_app_fill_menu()</function> or
similar. The menu hierarchy looks like this:
be used with gnome_app_fill_menu() or similar. The menu hierarchy looks
like this:
</para>
<itemizedlist>
@@ -269,15 +253,12 @@ static GnomeUIInfo menubar[] = {
The following code is the set of actions that are present in
the <link linkend="gnomeuiinfo-example">previous
example</link>. Note that the toggle and radio entries are
separate from normal actions. Also, note that <link
linkend="GtkActionEntry">GtkActionEntry</link> structures take
key names in the format of gdk_accelerator_parse() rather than
key values plus modifiers; you will have to convert these
values by hand. For example, <constant>GDK_F11</constant>
with no modifiers is equivalent to a key name of
<literal>"F11"</literal>. Likewise, <literal>"o"</literal>
with <constant>GDK_CONTROL_MASK</constant> is equivalent to
<literal>"&lt;ontrol&gt;O"</literal>.
separate from normal actions. Also, note that #GtkActionEntry
structures take key names in the format of gdk_accelerator_parse()
rather than key values plus modifiers; you will have to convert these
values by hand. For example, %GDK_F11 with no modifiers is equivalent
to a key name of <literal>"F11"</literal>. Likewise, <literal>"o"</literal>
with %GDK_CONTROL_MASK is equivalent to <literal>"&lt;ontrol&gt;O"</literal>.
</para>
<programlisting>
@@ -286,7 +267,7 @@ static GtkActionEntry entries[] = {
{ "FileMenu", NULL, "_File" },
{ "ViewMenu", NULL, "_View" },
{ "Open", GTK_STOCK_OPEN, "_Open", "&lt;control&gt;O", "Open a file", open_action_callback },
{ "Exit", GTK_STOCK_OPEN, "E_xit", "&lt;control&gt;Q", "Exit the program", exit_action_callback },
{ "Exit", GTK_STOCK_QUIT, "E_xit", "&lt;control&gt;Q", "Exit the program", exit_action_callback },
{ "ZoomIn", GTK_STOCK_ZOOM_IN, "Zoom _In", "plus", "Zoom into the image", zoom_in_action_callback },
{ "ZoomOut", GTK_STOCK_ZOOM_OUT, "Zoom _Out", "minus", "Zoom away from the image", zoom_out_action_callback },
};
@@ -311,9 +292,8 @@ static GtkRadioActionEntry radio_entries[] = {
<para>
After extracting the actions, you will need to create an XML
description of the actual layout of your menus and toolbars
for use with <link linkend="GtkUIManager">GtkUIManager</link>.
The following code shows a simple menu bar that corresponds to
the <link linkend="gnomeuiinfo-example">previous
for use with #GtkUIManager. The following code shows a simple
menu bar that corresponds to the <link linkend="gnomeuiinfo-example">previous
example</link>. Note that the <guimenu>File</guimenu> and
<guimenu>View</guimenu> menus have their names specified in
the <link linkend="gnomeuiinfo-action-entries">action
@@ -349,16 +329,12 @@ static const char *ui_description =
<title>Creating the Menu Bar</title>
<para>
In this last example, we will create a <link
linkend="GtkActionGroup">GtkActionGroup</link> based on the
<link linkend="gnomeuiinfo-action-entries">action
entries</link> we created above. We will then create a <link
linkend="GtkUIManager">GtkUIManager</link> with the <link
In this last example, we will create a #GtkActionGroup based on the
<link linkend="gnomeuiinfo-action-entries">action entries</link>
we created above. We will then create a #GtkUIManager with the <link
linkend="gnomeuiinfo-xml">XML description</link> of the menu
layout. We will also extract the accelerator group and the
widgets from the <link
linkend="GtkUIManager">GtkUIManager</link> put them into a
window.
widgets from the #GtkUIManager put them into a window.
</para>
<programlisting>
@@ -370,7 +346,7 @@ GtkUIManager *ui_manager;
GtkAccelGroup *accel_group;
GError *error;
register_my_stock_icons ();
register_my_stock_icons (<!-- -->);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -382,7 +358,7 @@ gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), win
gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), window);
gtk_action_group_add_radio_actions (action_group, radio_entries, G_N_ELEMENTS (radio_entries), 0, radio_action_callback, window);
ui_manager = gtk_ui_manager_new ();
ui_manager = gtk_ui_manager_new (<!-- -->);
gtk_ui_manager_insert_action_group (ui_manager, action_group, 0);
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
@@ -431,12 +407,12 @@ register_my_stock_icons (void)
GtkIconSource *icon_source;
gint i;
icon_factory = gtk_icon_factory_new ();
icon_factory = gtk_icon_factory_new (<!-- -->);
for (i = 0; i &lt; n_stock_icons; i++)
{
icon_set = gtk_icon_set_new ();
icon_source = gtk_icon_source_new ();
icon_set = gtk_icon_set_new (<!-- -->);
icon_source = gtk_icon_source_new (<!-- -->);
gtk_icon_source_set_filename (icon_source, stock_icons[i].filename);
gtk_icon_set_add_source (icon_set, icon_source);
gtk_icon_source_free (icon_source);

View File

@@ -3,10 +3,9 @@
<title>Migrating from GnomeColorPicker to GtkColorButton</title>
<para>
Since version 2.6, GTK+ provides the <link linkend="GtkColorButton">GtkColorButton</link>
Since version 2.6, GTK+ provides the #GtkColorButton
widget as a replacement for the <structname>GnomeColorPicker</structname>
widget in the libgnomeui
library.
widget in the libgnomeui library.
</para>
<para>

View File

@@ -1,21 +1,18 @@
<chapter id="gtk-migrating-GtkComboBox">
<title>Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry</title>
<title>Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and
GtkComboBoxEntry</title>
<para>
Prior to 2.4, GTK+ offered two widgets for the task of selecting one
item from a list of options.
<link linkend="GtkOptionMenu">GtkOptionMenu</link> presents the list of
options as a menu while <link linkend="GtkCombo">GtkCombo</link> presents
them in a Windows-style list popup. The only difference between the two
is that a <link linkend="GtkCombo">GtkCombo</link> allows to manually
edit the selected value, while the
<link linkend="GtkOptionMenu">GtkOptionMenu</link> does not.
item from a list of options. #GtkOptionMenu presents the list of
options as a menu while #GtkCombo presents them in a Windows-style list
popup. The only difference between the two is that a #GtkCombo allows to
manually edit the selected value, while the #GtkOptionMenu does not.
</para>
<para>
In GTK+ 2.4, a unified API for list selection was introduced, with
<link linkend="GtkComboBox">GtkComboBox</link> for the non-editable case
and <link linkend="GtkComboBoxEntry">GtkComboBoxEntry</link> for the
#GtkComboBox for the non-editable case and #GtkComboBoxEntry for the
editable case.
The selection of the display style &mdash; menu or list &mdash;
is no longer done at the API level, but has been made themeable via
@@ -28,12 +25,12 @@
<para>
Here is an example of a simple, but typical use of
<link linkend="GtkOptionMenu">GtkOptionMenu</link>:
#GtkOptionMenu:
<informalexample><programlisting>
GtkWidget *option_menu, *menu, *menu_item;
option_menu = gtk_option_menu_new ();
menu = gtk_menu_new ();
option_menu = gtk_option_menu_new (<!-- -->);
menu = gtk_menu_new (<!-- -->);
menu_item = gtk_menu_item_new_with_label ("First Item");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
@@ -48,23 +45,22 @@ gtk_widget_show (menu_item);
gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
signal on the option menu and use <link linkend="gtk-option-menu-get-history"><function>gtk_option_menu_get_history()</function></link>
signal on the option menu and use gtk_option_menu_get_history()
to retrieve the index of the selected item.
</para>
<para>
And here is how it would be done with a
<link linkend="GtkComboBox">GtkComboBox</link>:
And here is how it would be done with a #GtkComboBox:
<informalexample><programlisting>
GtkWidget *combo_box;
combo_box = gtk_combo_box_new_text ();
combo_box = gtk_combo_box_new_text (<!-- -->);
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
signal on the combo box and use <link linkend="gtk-combo-box-get-active"><function>gtk_combo_box_get_active()</function></link>
signal on the combo box and use gtk_combo_box_get_active()
to retrieve the index of the selected item.
</para>
@@ -73,8 +69,8 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
<informalexample><programlisting>
GtkWidget *option_menu, *menu, *menu_item;
option_menu = gtk_option_menu_new ();
menu = gtk_menu_new ();
option_menu = gtk_option_menu_new (<!-- -->);
menu = gtk_menu_new (<!-- -->);
menu_item = gtk_image_menu_item_new_with_label ("First Item");
gtk_image_menu_item_set_image (gtk_image_new_from_pixbuf (pixbuf1));
@@ -93,8 +89,7 @@ gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
</programlisting></informalexample>
</para>
<para>
can be done using a <link linkend="GtkComboBox">GtkComboBox</link>
as follows:
can be done using a #GtkComboBox as follows:
<informalexample><programlisting>
GtkListStore *store;
GtkTreeIter iter;
@@ -112,13 +107,13 @@ gtk_list_store_set (store, &amp;iter, 0, pixbuf3, 1, "Third Item", -1);
combo_box = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
renderer = gtk_cell_renderer_pixbuf_new ();
renderer = gtk_cell_renderer_pixbuf_new (<!-- -->);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
"pixbuf", 0,
NULL);
renderer = gtk_cell_renderer_text_new ();
renderer = gtk_cell_renderer_text_new (<!-- -->);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
"text", 1,
@@ -131,8 +126,7 @@ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer,
<title>Migrating from GtkCombo to GtkComboBoxEntry</title>
<para>
Here is an example of a simple, but typical use of a
<link linkend="GtkCombo">GtkCombo</link>:
Here is an example of a simple, but typical use of a #GtkCombo:
<informalexample><programlisting>
GtkWidget *combo;
GList *items = NULL;
@@ -141,7 +135,7 @@ items = g_list_append (items, "First Item");
items = g_list_append (items, "Second Item");
items = g_list_append (items, "Third Item");
combo = gtk_combo_new ();
combo = gtk_combo_new (<!-- -->);
gtk_combo_set_popdown_strings (GTK_COMBO (combo), items);
</programlisting></informalexample>
In order to react to the user's selection, connect to the "changed"
@@ -150,9 +144,9 @@ gtk_combo_set_popdown_strings (GTK_COMBO (combo), items);
to retrieve the selected text.
</para>
<para>
And here is how it would be done using <link linkend="GtkComboBoxEntry">GtkComboBoxEntry</link>:
And here is how it would be done using #GtkComboBoxEntry:
<informalexample><programlisting>
combo_box = gtk_combo_box_entry_new_text ();
combo_box = gtk_combo_box_entry_new_text (<!-- -->);
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item");
@@ -170,8 +164,7 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
<para>
The new widgets have more to offer than a mere combination of the
features of <link linkend="GtkOptionMenu">GtkOptionMenu</link> and
<link linkend="GtkCombo">GtkCombo</link>. Notable new features
features of #GtkOptionMenu and #GtkCombo. Notable new features
include:
<variablelist>
<varlistentry>
@@ -181,29 +174,26 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
would be a "color combo" where the individual items are small
square color swatches. The new widgets support gridded display
with the functions
<link linkend="gtk-combo-box-set-wrap-width"><function>gtk_combo_box_set_wrap_width()</function></link>,
<link linkend="gtk-combo-box-set-row-span-column"><function>gtk_combo_box_set_row_span_column()</function></link> and
<link linkend ="gtk-combo-box-set-column-span-column"><function>gtk_combo_box_set_column_span_column()</function></link>.
gtk_combo_box_set_wrap_width(),
gtk_combo_box_set_row_span_column() and
gtk_combo_box_set_column_span_column().
</para></listitem>
</varlistentry>
<varlistentry>
<term>Display of icons</term>
<listitem><para>An often-heard complaint about
<link linkend="GtkOptionMenu">GtkOptionMenu</link> is that the
icons which appear in the image menu items in its menu are not
<listitem><para>An often-heard complaint about #GtkOptionMenu is that
the icons which appear in the image menu items in its menu are not
displayed in the button showing the selected item. This limitation
has been removed in <link linkend="GtkComboBox">GtkComboBox</link>;
the selected item appears in the same way as the options in
the popup.
has been removed in #GtkComboBox; the selected item appears in the
same way as the options in the popup.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Full tree model power</term>
<listitem><para>
Since the new widgets are built around the same models that are
used for <link linkend="GtkTreeView">GtkTreeView</link>, all of
the powerful machinery of tree models and cell renderers can be
used.
used for #GtkTreeView, all of the powerful machinery of tree models
and cell renderers can be used.
</para></listitem>
</varlistentry>
</variablelist>

View File

@@ -14,30 +14,20 @@
<title>Migrating from GtkFileSelection to GtkFileChooser</title>
<para>
<link linkend="GtkFileChooser">GtkFileChooser</link>, starting
with GTK+ 2.4, is the new set of APIs for file selection widgets
and dialogs. Previous versions of GTK+ used <link
linkend="GtkFileSelection">GtkFileSelection</link>, which has
numerous problems.
#GtkFileChooser, starting with GTK+ 2.4, is the new set of APIs for file
selection widgets and dialogs. Previous versions of GTK+ used #GtkFileSelection,
which has numerous problems.
</para>
<para>
<link linkend="GtkFileChooser">GtkFileChooser</link> is an
abstract interface that can be implemented by widgets that perform
file selection tasks. Two widgets in GTK+ implement this
interface: <link
linkend="GtkFileChooserDialog">GtkFileChooserDialog</link> and
<link linkend="GtkFileChooserWidget">GtkFileChooserWidget</link>.
Most applications simply need to use <link
linkend="GtkFileChooserDialog">GtkFileChooserDialog</link>, which
is a dialog box that allows the user to select existing files for
opening them, or to pick new filenames for saving documents.
<link linkend="GtkFileChooserWidget">GtkFileChooserWidget</link>
is for special applications that need to embed a file selection
widget inside a larger window. In the context of GTK+, <link
linkend="GtkFileChooserDialog">GtkFileChooserDialog</link> is
simply a <link linkend="GtkDialog">GtkDialog</link> box with a
<link linkend="GtkFileChooserWidget">GtkFileChooserWidget</link>
#GtkFileChooser is an abstract interface that can be implemented by widgets
that perform file selection tasks. Two widgets in GTK+ implement this
interface: #GtkFileChooserDialog and #GtkFileChooserWidget. Most applications
simply need to use #GtkFileChooserDialog, which is a dialog box that allows the
user to select existing files for opening them, or to pick new filenames for
saving documents. #GtkFileChooserWidget is for special applications that need to
embed a file selection widget inside a larger window. In the context of GTK+,
#GtkFileChooserDialog is simply a #GtkDialog box with a #GtkFileChooserWidget.
inside.
</para>
@@ -45,10 +35,8 @@
<title>Creating a GtkFileChooserDialog</title>
<para>
To create a <link
linkend="GtkFileChooserDialog">GtkFileChooserDialog</link>, you
simply call gtk_file_chooser_dialog_new(). This function is
similar to gtk_dialog_new() in that it takes parameters for the
To create a #GtkFileChooserDialog, you simply call gtk_file_chooser_dialog_new().
This function is similar to gtk_dialog_new() in that it takes parameters for the
title of the dialog box and its transient parent, as well as its
buttons. In addition, it takes in an argument that determines
whether the file chooser dialog will be used for opening
@@ -66,25 +54,21 @@
<title>Selection Modes</title>
<para>
<link linkend="GtkFileChooser">GtkFileChooser</link> can be used
in two modes, to select a single file at a time or to select a
set of more than one file. To set this, use
#GtkFileChooser can be used in two modes, to select a single file at a
time or to select a set of more than one file. To set this, use
gtk_file_chooser_set_select_multiple(). In single-selection
mode, you can use gtk_file_chooser_get_filename() to get a file
name from the local file system or gtk_file_chooser_get_uri() to
get a full-formed URI. In multiple-selection mode, you can use
gtk_file_chooser_get_filenames() to get a <link
linkend="GSList">GSList</link> of filename strings, or
gtk_file_chooser_get_filenames() to get a #GSList of filename strings, or
gtk_file_chooser_get_uris() to get a list of URI strings.
</para>
<para>
Also, you can configure <link
linkend="GtkFileChooser">GtkFileChooser</link> to select files
Also, you can configure #GtkFileChooser to select files
or folders. Consider a backup program that needs to let the
user select a folder that will be backed up along with its
subfolders. To configure whether <link
linkend="GtkFileChooser">GtkFileChooser</link> is used to select
subfolders. To configure whether #GtkFileChooser is used to select
files or folders, use gtk_file_chooser_set_action(). In
addition, this lets you configure whether the file chooser will
be used to select existing files or folders (e.g. for
@@ -99,10 +83,8 @@
<para>
Many applications need to have a preview facility within their
file chooser dialogs. Previous to GTK+ 2.4, one needed to
access the <link
linkend="GtkFileSelection">GtkFileSelection</link> widget
hierarchy directly to hook in a preview widget. With <link
linkend="GtkFileChooser">GtkFileChooser</link>, there is a
access the #GtkFileSelection widget hierarchy directly to hook in
a preview widget. With #GtkFileChooser, there is a
dedicated API to do this.
</para>
@@ -132,18 +114,15 @@
<title>New features</title>
<para>
New features in <link
linkend="GtkFileChooser">GtkFileChooser</link> include the
following:
New features in #GtkFileChooser include the following:
</para>
<itemizedlist>
<listitem>
<para>
Ability to select URIs rather than just local files. You
must use a <link
linkend="GtkFileSystem">GtkFileSystem</link> implementation
that supports this, for example the gnome-vfs backend.
must use a #GtkFileSystem implementation that supports this,
for example the gnome-vfs backend.
</para>
</listitem>
@@ -166,9 +145,8 @@
</itemizedlist>
<para>
To see how to use these features, please consult the <link
linkend="GtkFileChooser">GtkFileChooser</link> reference
documentation.
To see how to use these features, please consult the #GtkFileChooser
reference documentation.
</para>
</section>
</chapter>

View File

@@ -3,10 +3,8 @@
<title>Migrating from GnomeIconList to GtkIconView</title>
<para>
Since version 2.6, GTK+ provides the <link
linkend="GtkIconView">GtkIconView</link>
widget. It is similar in functionality to the
<structname>GnomeIconList</structname> widget in the
Since version 2.6, GTK+ provides the #GtkIconView widget. It is similar in
functionality to the <structname>GnomeIconList</structname> widget in the
libgnomeui library, both widgets provide a way to lay out named icons in
a grid. The distinctive feature of the GTK+ widget is that it follows the
model-view pattern, allowing it to share the actual data (i.e. the names
@@ -14,19 +12,17 @@
</para>
<para>
<link linkend="GtkIconView">GtkIconView</link> currently doesn't support
some features found in <structname>GnomeIconList</structname>. Icons can
not be positioned freely, the spacing is not customizable, and it is not
possible to edit the names of icons.
#GtkIconView currently doesn't support some features found in
<structname>GnomeIconList</structname>. Icons can not be positioned freely,
the spacing is not customizable, and it is not possible to edit the names of
icons.
</para>
<para>
To convert an application that uses <structname>GnomeIconList</structname>
to <link linkend="GtkIconView">GtkIconView</link>, the first step is to
organize your data in a <link linkend="GtkTreeModel">GtkTreeModel</link>.
to #GtkIconView, the first step is to organize your data in a #GtkTreeModel.
<structname>GnomeIconList</structname> lets you directly insert data with
<function>gnome_icon_list_insert()</function> and
<function>gnome_icon_list_insert_pixbuf()</function> and their
gnome_icon_list_insert() and gnome_icon_list_insert_pixbuf() and their
append variants. So, if you previously had a function to fill your icon
list similar to this one:
<informalexample><programlisting>
@@ -81,7 +77,7 @@
/* do other initialization... */
/* construct the GtkIconView */
icon_view = gtk_icon_view_new ();
icon_view = gtk_icon_view_new (<!-- -->);
model = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), PIXBUF_COLUMN);
@@ -93,18 +89,15 @@
/* ... */
}
</programlisting></informalexample>
This example uses a <link linkend="GtkListStore">GtkListStore</link> as
model, but part of the elegance of the model-view pattern is that you can
easily use another tree model implementation, or even write your own
custom tree model.
This example uses a #GtkListStore as model, but part of the elegance of the
model-view pattern is that you can easily use another tree model implementation,
or even write your own custom tree model.
</para>
<para>
Your application may make use of extra data attached to the icons in the
<structname>GnomeIconList</structname> via
<function>gnome_icon_list_set_icon_data()</function> and
<function>gnome_icon_list_get_icon_data()</function>. With
<link linkend="GtkIconView">GtkIconView</link> such data is most
<structname>GnomeIconList</structname> via gnome_icon_list_set_icon_data() and
gnome_icon_list_get_icon_data(). With #GtkIconView such data is most
conveniently stored in an extra column in the tree model, so you would
call a function like
<informalexample><programlisting>
@@ -124,7 +117,7 @@
}
</programlisting></informalexample>
assuming that your tree model has a <literal>DATA_COLUMN</literal> of type
<literal>G_TYPE_POINTER</literal>.
%G_TYPE_POINTER.
</para>
<para>
@@ -140,8 +133,7 @@
<listitem><para>
<structname>GtkIconView</structname> can not be frozen in the same
way as <structname>GnomeIconList</structname> can with
<function>gnome_icon_list_freeze()</function> and
<function>gnome_icon_list_thaw()</function>. Instead you can
gnome_icon_list_freeze() and gnome_icon_list_thaw(). Instead you can
replace the whole model of a <structname>GtkIconView</structname>,
instead of doing many small changes to the existing model.
</para></listitem>

View File

@@ -51,7 +51,7 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
GtkWidget *menu;
int button, event_time;
menu = gtk_menu_new ();
menu = gtk_menu_new (<!-- -->);
g_signal_connect (menu, "deactivate",
G_CALLBACK (gtk_widget_destroy), NULL);
@@ -65,7 +65,7 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
else
{
button = 0;
event_time = gtk_get_current_event_time ();
event_time = gtk_get_current_event_time (<!-- -->);
}
gtk_menu_popup (GTK_MENU (popup), NULL, NULL, NULL, NULL,
@@ -127,7 +127,7 @@ my_widget_popup_menu_handler (GtkWidget *widget)
in the case where the <parameter>event</parameter> is
<constant>NULL</constant>. This function should compute the
desired position for a menu when it is invoked through the
keyboard. For example, <xref linkend="GtkEntry"/> aligns the
keyboard. For example, #GtkEntry aligns the
top edge of its popup menu with the bottom edge of the entry.
</para>
</note>
@@ -138,9 +138,8 @@ my_widget_popup_menu_handler (GtkWidget *widget)
able to take the keyboard focus. In general, widgets should
be fully usable through the keyboard and not just the mouse.
The very first step of this is to ensure that your widget
turns on the <link
linkend="gtkwidgetflags"><constant>GTK_CAN_FOCUS</constant></link>
FLAG.
turns on the %GTK_CAN_FOCUS <link
linkend="gtkwidgetflags">flag</link>.
</para>
</note>
</section>
@@ -218,7 +217,7 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<title>Why</title>
<para>
With
<function>gtk_accelerator_get_default_mod_mask()</function>
gtk_accelerator_get_default_mod_mask()
you can test for modifier keys reliably; this way your key
event handlers will work correctly even if
<keycap>NumLock</keycap> or <keycap>CapsLock</keycap> are
@@ -233,8 +232,7 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
Modifiers are keys like <keycap>Control</keycap> and
<keycap>NumLock</keycap>. When implementing a <link
linkend="GtkWidget-key-press-event">GtkWidget::key_press_event</link>
handler, you should use
<function>gtk_accelerator_get_default_mod_mask()</function> to
handler, you should use gtk_accelerator_get_default_mod_mask() to
test against modifier keys. This function returns a bit mask
which encompasses all the modifiers which the user may be
actively pressing, such as <keycap>Control</keycap>,
@@ -254,7 +252,7 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<literal>GDK_CONTROL_MASK | GDK_LOCK_MASK</literal>, and the
simple test will fail. By taking the logical-and of
<structfield>event->state</structfield> and
<function>gtk_accelerator_get_default_mod_mask()</function>, you
gtk_accelerator_get_default_mod_mask(), you
can ignore the modifiers which are not actively pressed by the
user at the same time as the base key.
</para>
@@ -271,7 +269,7 @@ my_widget_key_press_event_handler (GtkWidget *widget, GdkEventKey *event)
{
guint modifiers;
modifiers = gtk_accelerator_get_default_mod_mask ();
modifiers = gtk_accelerator_get_default_mod_mask (<!-- -->);
if (event-&gt;keysym == GDK_F10
&amp;&amp; (event-&gt;state &amp; modifiers) == GDK_CONTROL_MASK)
@@ -284,6 +282,27 @@ my_widget_key_press_event_handler (GtkWidget *widget, GdkEventKey *event)
}
</programlisting>
</section>
<section id="checklist-named-icons">
<title>Use named icons</title>
<formalpara>
<title>Why</title>
<para>
Named icons automatically adapt to theme changes, giving your
application a much more integrated appearance.
</para>
</formalpara>
<para>
Since GTK+ 2.6, named icons can be used for window icons (see
gtk_window_set_icon_name()) and images (see gtk_image_set_icon_name()).
In GTK+ 2.8, you can also use named icons for drag-and-drop (see
gtk_drag_source_set_icon_name()) and in treeview cells (see the
<link linkend="GtkCellRendererPixbuf--icon-name">icon_name</link>
property of #GtkCellRendererPixbuf).
</para>
</section>
</chapter>
<!--

View File

@@ -96,22 +96,17 @@ from functions?
<answer>
<para>
See the documentation for <link linkend="GObject">GObject</link> and
<link linkend="GtkObject">GtkObject</link>. For <link
linkend="GObject">GObject</link> note specifically <link
linkend="g-object-ref">g_object_ref()</link> and <link
linkend="g-object-unref">g_object_unref()</link>. <link
linkend="GtkObject">GtkObject</link> is a subclass of <link
linkend="GObject">GObject</link> so the same points apply, except that
it has a "floating" state (explained in its documentation).
See the documentation for #GObject and #GtkObject. For #GObject note specifically
g_object_ref() and g_object_unref(). #GtkObject is a subclass of #GObject so the
same points apply, except that it has a "floating" state (explained in its
documentation).
</para>
<para>
For strings returned from functions, they will be declared "const"
(using <link linkend="G-CONST-RETURN-CAPS">G_CONST_RETURN</link>) if they
should not be freed. Non-const strings should be freed with <link
linkend="g-free">g_free()</link>. Arrays follow the same rule. (If
you find an exception to the rules, please report a bug to <ulink
For strings returned from functions, they will be declared "const" (using
#G_CONST_RETURN) if they should not be freed. Non-const strings should be freed
with g_free(). Arrays follow the same rule. (If you find an exception to the rules,
please report a bug to <ulink
url="http://bugzilla.gnome.org">http://bugzilla.gnome.org</ulink>.)
</para>
@@ -193,12 +188,10 @@ or Linux system with gettext installed, type <literal>info
gettext</literal> to read the documentation.
</para>
<para>
The short checklist on how to use gettext is: call
<function>bindtextdomain()</function> so gettext can find the files
containing your translations, call <function>textdomain()</function>
to set the default translation domain, then call
<function>gettext()</function> to look up each string to be translated
in the default domain. Conventionally, people define macros as
The short checklist on how to use gettext is: call bindtextdomain() so gettext
can find the files containing your translations, call textdomain() to set the
default translation domain, then call gettext() to look up each string to be
translated in the default domain. Conventionally, people define macros as
follows for convenience:
<informalexample>
<programlisting>
@@ -206,13 +199,10 @@ follows for convenience:
#define N_(x) x
</programlisting>
</informalexample>
You use <function>N_()</function> (N stands for no-op) to mark
a string for translation in a context where a function call
to <function>gettext()</function> is not allowed, such as in
an array initializer. You eventually have to call
<function>gettext()</function> on the string to actually fetch the
translation. <function>_()</function> both marks the string for
translation and actually translates it.
You use N_() (N stands for no-op) to mark a string for translation in a context
where a function call to gettext() is not allowed, such as in an array initializer.
You eventually have to call gettext() on the string to actually fetch the
translation. _() both marks the string for translation and actually translates it.
</para>
<para>
Code using these macros ends up looking like this:
@@ -238,14 +228,10 @@ Code using these macros ends up looking like this:
</informalexample>
</para>
<para>
Libraries using gettext should use <function>dgettext()</function>
instead of <function>gettext()</function>, which allows
them to specify the translation domain each time they
ask for a translation. Libraries should also avoid calling
<function>textdomain()</function>, since they'll be specifying
the domain instead of using the default.
For <function>dgettext()</function> the <function>_()</function> macro
can be defined as:
Libraries using gettext should use dgettext() instead of gettext(), which allows
them to specify the translation domain each time they ask for a translation. Libraries
should also avoid calling textdomain(), since they'll be specifying the domain instead
of using the default.For dgettext() the _() macro can be defined as:
<informalexample>
<programlisting>
#define _(x) dgettext ("MyDomain", x)
@@ -285,9 +271,7 @@ The zero byte doesn't occur as part of a character, so that UTF-8 strings can
More information about Unicode and UTF-8 can be found in the
<ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ for Unix/Linux</ulink>.
GLib provides functions for converting strings between UTF-8 and other
encodings, see
<link linkend="g-locale-to-utf8">g_locale_to_utf8()</link> and <link
linkend="g-convert">g_convert()</link>.
encodings, see g_locale_to_utf8() and g_convert().
</para>
<para>
Text coming from external sources (e.g. files or user input), has to be
@@ -343,9 +327,8 @@ very convenient. Be careful when mixing hexadecimal escapes with ordinary text;
<listitem><para>
If the string literals can be represented in an encoding which your toolchain
can handle (e.g. IS0-8859-1), you can write your source files in that encoding
and use <link linkend="g-convert">g_convert()</link> to convert the strings to
UTF-8 at runtime. Note that this has some runtime overhead, so you may want to
move the conversion out of inner loops.
and use g_convert() to convert the strings to UTF-8 at runtime. Note that this has
some runtime overhead, so you may want to move the conversion out of inner loops.
</para></listitem>
</varlistentry>
</variablelist>
@@ -429,28 +412,19 @@ How do I load an image or animation from a file?
<answer>
<para>
To load an image file straight into a display widget, use <link
linkend="gtk-image-new-from-file">gtk_image_new_from_file()</link>
<footnote><para> If the file load fails, <link
linkend="gtk-image-new-from-file">gtk_image_new_from_file()</link>
will display a "broken image" graphic &mdash; to detect a failed load
yourself, use <link
linkend="gdk-pixbuf-new-from-file">gdk_pixbuf_new_from_file()</link>
directly then <link
linkend="gtk-image-new-from-pixbuf">gtk_image_new_from_pixbuf()</link>.
</para></footnote>. To load an image for another purpose, use <link
linkend="gdk-pixbuf-new-from-file">gdk_pixbuf_new_from_file()</link>.
To load an animation, use <link
linkend="gdk-pixbuf-animation-new-from-file">gdk_pixbuf_animation_new_from_file()</link>.
<link
linkend="gdk-pixbuf-animation-new-from-file">gdk_pixbuf_animation_new_from_file()</link>
can also load non-animated images, so use it in combination with
<link
linkend="gdk-pixbuf-animation-is-static-image">gdk_pixbuf_animation_is_static_image()</link> to load a file of unknown type.
To load an image file straight into a display widget, use gtk_image_new_from_file()
<footnote><para> If the file load fails, gtk_image_new_from_file() will display no
image graphic &mdash; to detect a failed load yourself, use gdk_pixbuf_new_from_file()
directly, then gtk_image_new_from_pixbuf().</para></footnote>.
To load an image for another purpose, use gdk_pixbuf_new_from_file(). To load an
animation, use gdk_pixbuf_animation_new_from_file().
gdk_pixbuf_animation_new_from_file() can also load non-animated images, so use it
in combination with gdk_pixbuf_animation_is_static_image() to load a file of unknown
type.
</para>
<para>
To load an image or animation file asynchronously (without blocking), use
<link linkend="GdkPixbufLoader">GdkPixbufLoader</link>.
#GdkPixbufLoader.
</para>
</answer>
@@ -463,8 +437,7 @@ How do I draw text ?
<answer>
<para>
To draw a piece of text, use a Pango layout and
<link linkend="gdk-draw-layout">gdk_draw_layout()</link>,
To draw a piece of text, use a Pango layout and gdk_draw_layout(),
using code like the following:
<informalexample>
<programlisting>
@@ -476,7 +449,7 @@ using code like the following:
g_object_unref (layout);
</programlisting>
</informalexample>
Do not use the deprecated <link linkend="GdkFont">GdkFont</link> and <link linkend="gdk-draw-text">gdk_draw_text()</link>.
Do not use the deprecated #GdkFont and gdk_draw_text().
</para>
<para>
@@ -498,9 +471,7 @@ How do I measure the size of a piece of text ?
<answer>
<para>
To obtain the size of a piece of text, use a Pango layout and
<link
linkend="pango-layout-get-pixel-size">pango_layout_get_pixel_size()</link>,
using code like the following:
pango_layout_get_pixel_size(), using code like the following:
<informalexample>
<programlisting>
layout = gtk_widget_create_pango_layout (widget, text);
@@ -511,7 +482,7 @@ using code like the following:
g_object_unref (layout);
</programlisting>
</informalexample>
Do not use the deprecated function <link linkend="gdk-text-width">gdk_text_width()</link>.
Do not use the deprecated function gdk_text_width().
</para>
<para>
@@ -558,12 +529,9 @@ volatile GType dummy = GTK_TYPE_BLAH;
<answer>
<para>
See <link linkend="TreeWidget">tree widget overview</link> &mdash; you
should use the <link linkend="GtkTreeView">GtkTreeView</link> widget.
(A list is just a tree with no branches, so the tree widget is used
for lists as well.) Do not use the deprecated widgets <link
linkend="GtkTree">GtkTree</link> or <link
linkend="GtkCList">GtkCList</link>/<link
linkend="GtkCTree">GtkCTree</link> in newly-written code, they are
should use the #GtkTreeView widget. (A list is just a tree with no branches,
so the tree widget is used for lists as well.) Do not use the deprecated
widgets #GtkTree or #GtkCList/#GtkCTree in newly-written code, they are
less flexible and result in an inferior user interface.
</para>
</answer>
@@ -577,17 +545,13 @@ less flexible and result in an inferior user interface.
<answer>
<para>
See <link linkend="TextWidget">text widget overview</link> &mdash; you
should use the <link linkend="GtkTextView">GtkTextView</link> widget.
Do not use the deprecated widget <link
linkend="GtkText">GtkText</link> in newly-written code, it has a
number of problems that are best avoided.
should use the #GtkTextView widget. Do not use the deprecated widget #GtkText
in newly-written code, it has a number of problems that are best avoided.
</para>
<para>
If you only have a small amount of text, <link
linkend="GtkLabel">GtkLabel</link> may also be appropriate of course.
It can be made selectable with <link linkend="gtk-label-set-selectable">
gtk_label_set_selectable()</link>. For a single-line text entry,
see <link linkend="GtkEntry">GtkEntry</link>.
If you only have a small amount of text, #GtkLabel may also be appropriate of course.
It can be made selectable with gtk_label_set_selectable(). For a single-line text
entry, see #GtkEntry.
</para>
</answer>
</qandaentry>
@@ -600,11 +564,9 @@ see <link linkend="GtkEntry">GtkEntry</link>.
<answer>
<para>
<link linkend="GtkImage">GtkImage</link> can display images
in just about any format GTK+ understands. You can also
use <link linkend="GtkDrawingArea">GtkDrawingArea</link> if you need
to do something more complex, such as draw text or graphics over the
top of the image.
#GtkImage can display images in just about any format GTK+ understands. You can also
use #GtkDrawingArea if you need to do something more complex, such as draw text or
graphics over the top of the image.
</para>
</answer>
</qandaentry>
@@ -617,31 +579,16 @@ would use a combo box?
<answer>
<para>
With GTK+, a <link linkend="GtkOptionMenu">GtkOptionMenu</link> is
recommended instead of a combo box, if the user is selecting from a
fixed set of options. That is, non-editable combo boxes are not
encouraged. <link linkend="GtkOptionMenu">GtkOptionMenu</link> is
much easier to use than <link linkend="GtkCombo">GtkCombo</link>
as well. Use <link linkend="GtkCombo">GtkCombo</link> only when you
need the editable text entry.
</para>
<para>
(As a future enhancement to GTK+, a new widget to replace <link
linkend="GtkOptionMenu">GtkOptionMenu</link> and <link
linkend="GtkCombo">GtkCombo</link> is planned. This widget will be
themeable to look like either a combo box or the current option menu,
and will address some shortcomings in the <link
linkend="GtkCombo">GtkCombo</link> API. <ulink
url="http://bugzilla.gnome.org/show_bug.cgi?id=50554">Bug
50554</ulink> tracks this issue, if you want to check status or post
comments.)
With GTK+, a #GtkComboBox is the recommended widget to use for this use case.
This widget looks like either a combo box or the current option menu, depending
on the current theme. If you need an editable text entry, use #GtkComboBoxEntry.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv><title><link linkend="GtkWidget">GtkWidget</link></title>
<qandadiv><title>#GtkWidget</title>
<qandaentry>
<question><para>
@@ -649,23 +596,16 @@ How do I change the color of a widget?
</para></question>
<answer><para>
See <link linkend="gtk-widget-modify-fg">gtk_widget_modify_fg()</link>,
<link linkend="gtk-widget-modify-bg">gtk_widget_modify_bg()</link>,
<link linkend="gtk-widget-modify-base">gtk_widget_modify_base()</link>,
and <link
linkend="gtk-widget-modify-text">gtk_widget_modify_text()</link>. See
<link linkend="gtk-Resource-Files">GTK+ resource files</link> for more
discussion. You can also change widget color by installing a resource
file and parsing it with <link
linkend="gtk-rc-add-default-file">gtk_rc_add_default_file()</link>.
See gtk_widget_modify_fg(), gtk_widget_modify_bg(), gtk_widget_modify_base(),
and gtk_widget_modify_text(). See <link linkend="gtk-Resource-Files">GTK+
resource files</link> for more discussion. You can also change widget color by
installing a resource file and parsing it with gtk_rc_add_default_file().
The advantage of a resource file is that users can then override the
color you've chosen.
</para>
<para>To change the background color for widgets such as <link
linkend="GtkLabel">GtkLabel</link> that have no background, place them
in a <link linkend="GtkEventBox">GtkEventBox</link> and set the
background of the event box.
<para>To change the background color for widgets such as #GtkLabel that have no
background, place them in a #GtkEventBox and set the background of the event box.
</para></answer>
</qandaentry>
@@ -675,36 +615,32 @@ How do I change the font of a widget?
</para></question>
<answer><para>
This has several possible answers, depending on what exactly you want to
achieve. One option is <link
linkend="gtk-widget-modify-font">gtk_widget_modify_font()</link>. Note that this function can be used to change only the font size, as in the following example:
This has several possible answers, depending on what exactly you want to achieve.
One option is gtk_widget_modify_font(). Note that this function can be used to
change only the font size, as in the following example:
<programlisting>
PangoFontDesc *font_desc = pango_font_description_new ();
PangoFontDesc *font_desc = pango_font_description_new (<!-- -->);
pango_font_description_set_size (font_desc, 40);
gtk_widget_modify_font (widget, font);
pango_font_description_free (font_desc);
</programlisting>
</para>
<para>
If you want to make the text of a label larger, you can use <link
linkend="gtk-label-set-markup">gtk_label_set_markup()</link>:
If you want to make the text of a label larger, you can use gtk_label_set_markup():
<programlisting>
gtk_label_set_markup (label, "&lt;big&gt;big text&lt;/big&gt;");
</programlisting>
This is preferred for many apps because it's a relative size to the
user's chosen font size. See <link
linkend="g-markup-escape-text">g_markup_escape_text()</link>
if you are constructing such strings on the fly.
user's chosen font size. See g_markup_escape_text() if you are constructing such
strings on the fly.
</para>
<para>
You can also change the font of a widget by putting
<programlisting>
gtk-font-name = "Sans 30"
</programlisting>
in a resource file and parsing it with <link
linkend="gtk-rc-add-default-file">gtk_rc_add_default_file()</link>.
The advantage of a resource file is that users can then override the
font you've chosen. See
in a resource file and parsing it with gtk_rc_add_default_file(). The advantage of
a resource file is that users can then override the font you've chosen. See
<link linkend="gtk-Resource-Files">GTK+ resource files</link> for more
discussion.
</para>
@@ -717,15 +653,14 @@ How do I disable/ghost/desensitize a widget?
</para></question>
<answer><para> In GTK+ a disabled widget is termed "insensitive." See
<link
linkend="gtk-widget-set-sensitive">gtk_widget_set_sensitive()</link>.
gtk_widget_set_sensitive().
</para></answer>
</qandaentry>
</qandadiv>
<qandadiv><title><link linkend="GtkTextView">GtkTextView</link></title>
<qandadiv><title>#GtkTextView</title>
<qandaentry>
<question><para>
@@ -733,13 +668,8 @@ How do I get the contents of the entire text widget as a string?
</para></question>
<answer><para>
See <link
linkend="gtk-text-buffer-get-bounds">gtk_text_buffer_get_bounds()</link>
and <link
linkend="gtk-text-buffer-get-text">gtk_text_buffer_get_text()</link>
or <link
linkend="gtk-text-iter-get-text">gtk_text_iter_get_text()</link>.
See gtk_text_buffer_get_bounds() and gtk_text_buffer_get_text()
or gtk_text_iter_get_text().
</para>
<para>
<informalexample><programlisting>
@@ -762,12 +692,13 @@ How do I make a text widget display its complete contents in a specific font?
</para></question>
<answer><para>
If you use <link
linkend="gtk-text-buffer-insert-with-tags">gtk_text_buffer_insert_with_tags()</link> with appropriate tags to select the font, the inserted text will have the desired appearance, but text typed in by the user before or after the tagged block will appear in the default style.
If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select the
font, the inserted text will have the desired appearance, but text typed in by the
user before or after the tagged block will appear in the default style.
</para>
<para>
To ensure that all text has the desired appearance, use <link
linkend="gtk-widget-modify-font">gtk_widget_modify_font()</link> to change the default font for the widget.
To ensure that all text has the desired appearance, use gtk_widget_modify_font()
to change the default font for the widget.
</para></answer>
</qandaentry>
@@ -781,21 +712,17 @@ How do I make a text view scroll to the end of the buffer automatically ?
<answer>
<para>
The "insert" <link linkend="GtkTextMark">mark</link> marks the insertion point
where <link linkend="gtk-text-buffer-insert">gtk_text_buffer_insert()</link>
inserts new text into the buffer. The text is inserted
where gtk_text_buffer_insert() inserts new text into the buffer. The text is inserted
<emphasis>before</emphasis> the "insert" mark, so that it generally stays
at the end of the buffer. If it gets explicitly moved to some other position,
e.g. when the user selects some text,
use <link linkend="gtk-text-buffer-move-mark">gtk_text_buffer_move_mark()</link>
to set it to the desired location before inserting more text.
The "insert" mark of a buffer can be obtained with <link
linkend="gtk-text-buffer-get-insert">gtk_text_buffer_get_insert()</link>.
e.g. when the user selects some text, use gtk_text_buffer_move_mark() to set it to
the desired location before inserting more text. The "insert" mark of a buffer can be
obtained with gtk_text_buffer_get_insert().
</para>
<para>
To ensure that the end of the buffer remains visible, use
<link
linkend="gtk-text-view-scroll-to-mark">gtk_text_view_scroll_to_mark()</link> to scroll to the "insert" mark after inserting new text.
gtk_text_view_scroll_to_mark() to scroll to the "insert" mark after inserting new text.
</para>
</answer>
</qandaentry>
@@ -803,7 +730,7 @@ To ensure that the end of the buffer remains visible, use
<qandadiv><title><link linkend="GtkTreeView">GtkTreeView</link></title>
<qandadiv><title>#GtkTreeView</title>
<qandaentry>
<question><para>
@@ -812,28 +739,25 @@ How do I associate some data with a row in the tree?
<answer>
<para>
Remember that the <link linkend="GtkTreeModel">GtkTreeModel</link>
columns don't necessarily have to be displayed. So you can put
non-user-visible data in your model just like any other data, and
retrieve it with <link
linkend="gtk-tree-model-get">gtk_tree_model_get()</link>.
See the <link linkend="TreeWidget">tree widget overview</link>.
Remember that the #GtkTreeModel columns don't necessarily have to be displayed.
So you can put non-user-visible data in your model just like any other data, and
retrieve it with gtk_tree_model_get(). See the
<link linkend="TreeWidget">tree widget overview</link>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>
What's the <link linkend="GtkTreeView">GtkTreeView</link> equivalent of
<link linkend="gtk-clist-find-row-from-data">gtk_clist_find_row_from_data()</link>?
What's the #GtkTreeView equivalent of gtk_clist_find_row_from_data()?
</para></question>
<answer>
<para>
As there is no separate data column in the <link linkend="GtkTreeModel">GtkTreeModel</link>, there's no
As there is no separate data column in the #GtkTreeModel, there's no
built in function to find the iter from data. You can write a custom
searching function to walk the tree and find the data, or use
<link linkend="gtk-tree-model-foreach">gtk_tree_model_foreach()</link>.
gtk_tree_model_foreach().
</para>
</answer>
</qandaentry>
@@ -845,53 +769,36 @@ How do I put an image and some text in the same column?
<answer>
<para>
You can pack more than one <link
linkend="GtkCellRenderer">GtkCellRenderer</link> into a single
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> using
<link
linkend="gtk-tree-view-column-pack-start">gtk_tree_view_column_pack_start()</link> or <link linkend="gtk-tree-view-column-pack-end">gtk_tree_view_column_pack_end()</link>. So pack both a <link
linkend="GtkCellRendererPixbuf">GtkCellRendererPixbuf</link>
and a <link
linkend="GtkCellRendererText">GtkCellRendererText</link> into the
column.
You can pack more than one #GtkCellRenderer into a single #GtkTreeViewColumn using
gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). So pack both
a #GtkCellRendererPixbuf and a #GtkCellRendererText into the column.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>
I can set data easily on my <link
linkend="GtkTreeStore">GtkTreeStore</link>/<link
linkend="GtkListStore">GtkListStore</link> models using <link
linkend="gtk-tree-model-get">gtk_list_store_set()</link> and <link
linkend="gtk-tree-model-get">gtk_tree_store_set()</link>, but can't read
it back?
I can set data easily on my #GtkTreeStore/#GtkListStore models using
gtk_list_store_set() and gtk_tree_store_set(), but can't read it back?
</para></question>
<answer>
<para>
Both the <link
linkend="GtkTreeStore">GtkTreeStore</link> and the <link
linkend="GtkListStore">GtkListStore</link> implement the
<link linkend="GtkTreeModel">GtkTreeModel</link>
interface. Consequentially, the can use any function
this interface implements. The easiest way to read a
set of data back is to use
<link
linkend="gtk-tree-model-get">gtk_tree_model_get()</link>.
Both the #GtkTreeStore and the #GtkListStore implement the #GtkTreeModel
interface. Consequentially, the can use any function this interface implements.
The easiest way to read a set of data back is to use gtk_tree_model_get().
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>
How do I change the way that numbers are formatted by <link linkend="GtkTreeView">GtkTreeView</link>?
How do I change the way that numbers are formatted by #GtkTreeView?
</para></question>
<answer><para>
Use <link linkend="gtk-tree-view-insert-column-with-data-func">gtk_tree_view_insert_column_with_data_func()</link>
or <link linkend="gtk-tree-view-column-set-cell-data-func">gtk_tree_view_column_set_cell_data_func()</link>
and do the conversion from number to string yourself (with, say,
<link linkend="g-strdup-printf">g_strdup_printf()</link>).
Use gtk_tree_view_insert_column_with_data_func()
or gtk_tree_view_column_set_cell_data_func() and do the conversion from number to
string yourself (with, say, g_strdup_printf()).
</para>
<para>
@@ -937,15 +844,15 @@ set_up_new_columns (GtkTreeView *myview)
gtk_tree_view_set_model (myview, GTK_TREE_MODEL (mycolumns));
/* Create a GtkCellRendererText */
renderer = gtk_cell_renderer_text_new ();
renderer = gtk_cell_renderer_text_new (<!-- -->);
/* Create a new column that has a title ("Example column"),
* uses the above created renderer that will render the double
* value into text from the associated model's rows.
*/
column = gtk_tree_view_column_new ();
column = gtk_tree_view_column_new (<!-- -->);
gtk_tree_view_column_set_title (column, "Example column");
renderer = gtk_cell_renderer_text_new ();
renderer = gtk_cell_renderer_text_new (<!-- -->);
gtk_tree_view_column_pack_start (column, renderer, TRUE);
/* Append the new column after the GtkTreeView's previous columns. */
@@ -965,10 +872,19 @@ set_up_new_columns (GtkTreeView *myview)
</para></answer>
</qandaentry>
<qandaentry>
<question><para>
How do I hide the expander arrows in my tree view ?
</para></question>
<answer><para>
Set the expander-column property of the tree view to a hidden column.
See gtk_tree_view_set_expander_column() and gtk_tree_view_column_set_visible().
</para></answer>
</qandaentry>
</qandadiv>
</qandaset>
</refsect1>

View File

@@ -6,7 +6,8 @@
</refmeta>
<refnamediv>
<refname>Text Widget Overview</refname><refpurpose>Overview of <link linkend="GtkTextBuffer">GtkTextBuffer</link>, <link linkend="GtkTextView">GtkTextView</link>, and friends</refpurpose>
<refname>Text Widget Overview</refname>
<refpurpose>Overview of #GtkTextBuffer, #GtkTextView, and friends</refpurpose>
</refnamediv>
<refsect1>
@@ -14,11 +15,9 @@
<para>
GTK+ has an extremely powerful framework for multiline text editing. The
primary objects involved in the process are <link
linkend="GtkTextBuffer">GtkTextBuffer</link>, which represents the text being
edited, and <link linkend="GtkTextView">GtkTextView</link>, a widget which can
display a <link linkend="GtkTextBuffer">GtkTextBuffer</link>. Each buffer can
be displayed by any number of views.
primary objects involved in the process are #GtkTextBuffer, which represents the
text being edited, and #GtkTextView, a widget which can display a #GtkTextBuffer.
Each buffer can be displayed by any number of views.
</para>
<para>
@@ -38,15 +37,12 @@ be called "bold" and make the text inside the tag bold. However, the tag
concept is more general than that; tags don't have to affect appearance. They
can instead affect the behavior of mouse and key presses, "lock" a range of
text so the user can't edit it, or countless other things. A tag is
represented by a
<link linkend="GtkTextTag">GtkTextTag</link> object. One <link
linkend="GtkTextTag">GtkTextTag</link> can be applied to any number of text
ranges in any number of buffers.
represented by a #GtkTextTag object. One #GtkTextTag can be applied to any number
of text ranges in any number of buffers.
</para>
<para>
Each tag is stored in a <link
linkend="GtkTextTagTable">GtkTextTagTable</link>. A tag table defines a set of
Each tag is stored in a #GtkTextTagTable. A tag table defines a set of
tags that can be used together. Each buffer has one tag table associated with
it; only tags from that tag table can be used with the buffer. A single tag
table can be shared between multiple buffers, however.
@@ -60,9 +56,8 @@ is convenient if you're creating tags on-the-fly).
<para>
Most text manipulation is accomplished with <firstterm>iterators</firstterm>,
represented by a <link linkend="GtkTextIter">GtkTextIter</link>. An iterator
represents a position between two characters in the text buffer. <link
linkend="GtkTextIter">GtkTextIter</link> is a struct designed to be allocated
represented by a #GtkTextIter. An iterator represents a position between two
characters in the text buffer. #GtkTextIter is a struct designed to be allocated
on the stack; it's guaranteed to be copiable by value and never contain any
heap-allocated data. Iterators are not valid indefinitely; whenever the buffer
is modified in a way that affects the number of characters in the buffer, all
@@ -73,11 +68,10 @@ number of characters you pass through a state with a different number).
<para>
Because of this, iterators can't be used to preserve positions across buffer
modifications. To preserve a position, the <link
linkend="GtkTextMark">GtkTextMark</link> object is ideal. You can think of a
mark as an invisible cursor or insertion point; it floats in the buffer, saving
a position. If the text surrounding the mark is deleted, the mark remains in
the position the text once occupied; if text is inserted at the mark, the
modifications. To preserve a position, the #GtkTextMark object is ideal. You can
think of a mark as an invisible cursor or insertion point; it floats in the buffer,
saving a position. If the text surrounding the mark is deleted, the mark remains
in the position the text once occupied; if text is inserted at the mark, the
mark ends up either to the left or to the right of the new text, depending on
its <firstterm>gravity</firstterm>. The standard text cursor in left-to-right
languages is a mark with right gravity, because it stays to the right of
@@ -86,21 +80,18 @@ inserted text.
<para>
Like tags, marks can be either named or anonymous. There are two marks built-in
to <link linkend="GtkTextBuffer">GtkTextBuffer</link>; these are named
<literal>"insert"</literal> and <literal>"selection_bound"</literal> and refer
to the insertion point and the boundary of the selection which is not the
insertion point, respectively. If no text is selected, these two marks will be
in the same position. You can manipulate what is selected and where the cursor
appears by moving these marks around.
to #GtkTextBuffer; these are named <literal>"insert"</literal> and
<literal>"selection_bound"</literal> and refer to the insertion point and the
boundary of the selection which is not the insertion point, respectively. If no
text is selected, these two marks will be in the same position. You can manipulate
what is selected and where the cursor appears by moving these marks around.
<footnote>
<para>
If you want to place the cursor in response to a user action, be sure to use
<link
linkend="gtk-text-buffer-place-cursor">gtk_text_buffer_place_cursor()</link>,
which moves both at once
without causing a temporary selection (moving one then the other temporarily
selects the range in between the old and new positions).
gtk_text_buffer_place_cursor(), which moves both at once without causing a
temporary selection (moving one then the other temporarily selects the range in
between the old and new positions).
</para>
</footnote>
</para>
@@ -123,13 +114,12 @@ considered a line separator.
<title>Simple Example</title>
<para>
The simplest usage of <link linkend="GtkTextView">GtkTextView</link>
might look like this:
The simplest usage of #GtkTextView might look like this:
<informalexample><programlisting>
GtkWidget *view;
GtkTextBuffer *buffer;
view = gtk_text_view_new ();
view = gtk_text_view_new (<!-- -->);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
@@ -140,11 +130,10 @@ might look like this:
* will be emitted, such as "changed", "insert_text", and so on.
*/
</programlisting></informalexample>
In many cases it's also convenient to first create the buffer with <link
linkend="gtk-text-buffer-new">gtk_text_buffer_new()</link>, then create a
widget for that buffer with <link linkend="gtk-text-view-new-with-buffer">gtk_text_view_new_with_buffer()</link>.
Or you can change the buffer the widget displays after the widget is created
with <link linkend="gtk-text-view-set-buffer">gtk_text_view_set_buffer()</link>.
In many cases it's also convenient to first create the buffer with
gtk_text_buffer_new(), then create a widget for that buffer with
gtk_text_view_new_with_buffer(). Or you can change the buffer the widget
displays after the widget is created with gtk_text_view_set_buffer().
</para>
</refsect1>
@@ -154,21 +143,13 @@ with <link linkend="gtk-text-view-set-buffer">gtk_text_view_set_buffer()</link>.
<para>
There are two ways to affect text attributes in
<link linkend="GtkTextView">GtkTextView</link>.
You can change the default attributes for a given
<link linkend="GtkTextView">GtkTextView</link>, and you can
apply tags that change the attributes for a region of text.
For text features that come from the theme &mdash; such as
font and foreground color &mdash; use standard
<link linkend="GtkWidget">GtkWidget</link>
functions such as
<link linkend="gtk-widget-modify-font">gtk_widget_modify_font()</link>
or
<link linkend="gtk-widget-modify-text">gtk_widget_modify_text()</link>.
For other attributes there are dedicated methods on
<link linkend="GtkTextView">GtkTextView</link> such as
<link linkend="gtk-text-view-set-tabs">gtk_text_view_set_tabs()</link>.
There are two ways to affect text attributes in #GtkTextView.
You can change the default attributes for a given #GtkTextView, and you can
apply tags that change the attributes for a region of text. For text features
that come from the theme &mdash; such as font and foreground color &mdash; use
standard #GtkWidget functions such as gtk_widget_modify_font() or
gtk_widget_modify_text(). For other attributes there are dedicated methods on
#GtkTextView such as gtk_text_view_set_tabs().
<informalexample><programlisting>
GtkWidget *view;
@@ -178,7 +159,7 @@ For other attributes there are dedicated methods on
GdkColor color;
GtkTextTag *tag;
view = gtk_text_view_new ();
view = gtk_text_view_new (<!-- -->);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
@@ -208,8 +189,7 @@ For other attributes there are dedicated methods on
<para>
The <application>gtk-demo</application> application that comes with
GTK+ contains more example code for <link
linkend="GtkTextView">GtkTextView</link>.
GTK+ contains more example code for #GtkTextView.
</para>
</refsect1>

View File

@@ -34,6 +34,9 @@ and keeps it around so that it can be shown again.
#GTK_STOCK_ABOUT
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAboutDialog ##### -->
<para>
The <structname>GtkAboutDialog</structname> struct contains
@@ -361,7 +364,9 @@ link is activated.
@about: the #GtkAboutDialog in which the link was activated
@link: the URL or email address to whiche the activated link points
@data:
@data: user data that was passed when the function was registered
with gtk_about_dialog_set_email_hook() or
gtk_about_dialog_set_url_hook()
<!-- ##### FUNCTION gtk_about_dialog_set_email_hook ##### -->

View File

@@ -31,6 +31,9 @@ gtk_window_add_accel_group(), gtk_accel_map_change_entry(),
gtk_item_factory_new(), gtk_label_new_with_mnemonic()
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccelGroup ##### -->
<para>
An object representing and maintaining a group of accelerators.
@@ -71,7 +74,7 @@ An object representing and maintaining a group of accelerators.
Deprecated equivalent of g_object_ref().
</para>
@Returns:
@Returns: the accel group that was passed in
<!-- ##### MACRO gtk_accel_group_unref ##### -->

View File

@@ -78,6 +78,9 @@ though it is almost always used to display just one accelerator key.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccelLabel ##### -->
<para>
The #GtkAccelLabel-struct struct contains private data only, and

View File

@@ -14,6 +14,9 @@ Loadable keyboard accelerator specifications
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccelMap ##### -->
<para>

View File

@@ -14,6 +14,9 @@ Accessibility support for widgets
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAccessible ##### -->
<para>

View File

@@ -48,6 +48,9 @@ activate its action.
#GtkActionGroup, #GtkUIManager
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAction ##### -->
<para>
The <structname>GtkAction</structname> struct contains only private members
@@ -317,6 +320,15 @@ and should not be accessed directly.
@accel_path:
<!-- ##### FUNCTION gtk_action_get_accel_closure ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_action_set_accel_group ##### -->
<para>

View File

@@ -33,6 +33,9 @@ sure that the correct shortcut is displayed next to the menu item.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkActionGroup ##### -->
<para>
The <structname>GtkActionGroup</structname> struct contains only private

View File

@@ -28,6 +28,9 @@ after changing the value and its bounds. This results in the emission of the
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAdjustment ##### -->
<para>
The #GtkAdjustment-struct struct contains the following fields.
@@ -185,7 +188,7 @@ This is typically called by the owner of the #GtkAdjustment after it has
changed any of the #GtkAdjustment fields other than the value.
</para>
@adjustment:
@adjustment: a #GtkAdjustment
<!-- ##### FUNCTION gtk_adjustment_value_changed ##### -->
@@ -195,6 +198,6 @@ This is typically called by the owner of the #GtkAdjustment after it has
changed the #GtkAdjustment value field.
</para>
@adjustment:
@adjustment: a #GtkAdjustment

View File

@@ -27,6 +27,9 @@ have no effect.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAlignment ##### -->
<para>
The #GtkAlignment-struct struct contains private data only, and should

View File

@@ -34,6 +34,9 @@ style of an arrow can be changed after creation by using gtk_arrow_set().
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkArrow ##### -->
<para>
The #GtkArrow-struct containes the following fields.

View File

@@ -20,6 +20,9 @@ a frame around the child. The frame will be
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkAspectFrame ##### -->
<para>

View File

@@ -29,7 +29,9 @@ used to spread the buttons in a button box across the container, respectively.
</para>
<para>
The main purpose of GtkButtonBox is to make sure the children have all the same size.
Therefore it ignores the homogeneous property which it inherited from GtkBox, and always
behaves as if homogeneous was %TRUE.
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -46,6 +48,9 @@ used to spread the buttons in a button box across the container, respectively.
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkButtonBox ##### -->
<para>
This is a read-only struct; no members should be modified directly.
@@ -94,10 +99,8 @@ Used internally only.
Retrieves how much space a button box is placing between each child button.
</para>
@b:
@b: a #GtkButtonBox
@Returns: the current spacing applied to the buttons in @widget.
<!-- # Unused Parameters # -->
@widget: a #GtkButtonBox.
<!-- ##### FUNCTION gtk_button_box_get_layout ##### -->
@@ -149,11 +152,8 @@ Gets the default number of pixels that pad the buttons in a given button box.
Sets the amount of spacing between buttons in a given button box.
</para>
@b:
@s:
<!-- # Unused Parameters # -->
@widget: a #GtkButtonBox.
@spacing: the number of pixels of spacing.
@b: a #GtkButtonBox.
@s: the number of pixels of spacing.
<!-- ##### FUNCTION gtk_button_box_set_layout ##### -->

View File

@@ -20,6 +20,9 @@ Many GTK+ widgets are subclasses of #GtkBin, including #GtkWindow, #GtkButton,
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkBin ##### -->
<para>
The #GtkBin-struct struct contains the following fields.

View File

@@ -14,6 +14,9 @@ Key bindings for individual widgets
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkBindingSet ##### -->
<para>

View File

@@ -100,6 +100,9 @@ layouts.</para></listitem>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkBox ##### -->
<para>
The #GtkBox-struct describes an instance of GtkBox and contains the following fields.

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