Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
mechanism, that is used for the DND messages.
Removed all the old DND code.
* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
get the visual of a given colormap.
* gtk/gtkcolorsel.c: Conversion to new DND, drag
a color-swatch.
* gdk/gdk.h gdk/gdkdnd.c: The low-level
X oriented portions of drag and drop protocols.
Sending and receiving client messages, and navigating
window trees.
* gdk/gdkimage.c: added a gdk_flush() when destroying
SHM images to hopefully make it more likely that
X will gracefully handle the segment being destroyed.
* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
DND debugging flags.
* gtk/gtkeditable.[ch]: Updates for the selection handling
changes.
* gtk/gtkselection.[ch]: Added GtkTargetList, a
refcounted data structure for keeping track of lists
of GdkAtom + information. Removed selection_handler_add
in favor of a "drag_data_get" signal.
* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
dependent) parts of the DND protocols, display of drag icons,
drag-under highlighting, and the "default handlers".
* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
windows that are used for reliable pointer grabs and
selection handling in the DND code.
* gtk/testdnd.c: New test program for new DND. (Old
DND tests in testgtk still need to be converted.)
* gtk/testselection.c: Use the new selection API.
* docs/dnd_internals: Start at describing how
all the new code works inside.
* docs/Changes-1.2.txt: New file describing source-incompatible
changes in GTK+-1.2.
Sat Oct 17 22:50:34 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkwindow.c (gdk_window_remove_filter): Free
the right list node.
* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
to the XID table so we can receive events on it.
Wed Oct 14 12:57:40 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
to get the timestamp from a generic event.
Fri Oct 9 13:16:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_add_events): Added function
that safely adds additional events to a widget's event
mask, even if the widget has previously been realized.
(We can do this, but not remove events from the event
mask).
Fri Oct 2 17:35:35 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
for AnyPropertyType.
Fri Oct 2 10:32:21 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
hashing.
Thu Sep 24 20:33:54 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
isn't a timestamp.
Thu Sep 17 14:23:03 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Removed printing
of unknown window lookup warnings. (Made it
a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
|
|
|
Incompatible Changes from GTK+-1.0 to GTK+-1.2:
|
|
|
|
|
|
|
|
* GtkAcceleratorTable has been replaced with GtkAccelGroup
|
|
|
|
|
|
|
|
* GtkMenuFactory has been replaced with GtkItemFactory, although
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
a version of GtkMenuFactory is currently still provided to ease
|
|
|
|
the migration phase.
|
|
|
|
|
1999-01-18 19:27:43 +00:00
|
|
|
* The GtkTypeInfo structures used in the gtk_*_type_init() functions have
|
1999-01-17 23:54:22 +00:00
|
|
|
changed a bit, the old format:
|
|
|
|
GtkTypeInfo bin_info =
|
|
|
|
{
|
|
|
|
"GtkBin",
|
|
|
|
sizeof (GtkBin),
|
|
|
|
sizeof (GtkBinClass),
|
|
|
|
(GtkClassInitFunc) gtk_bin_class_init,
|
|
|
|
(GtkObjectInitFunc) gtk_bin_init,
|
|
|
|
(GtkArgSetFunc) NULL,
|
|
|
|
(GtkArgGetFunc) NULL,
|
|
|
|
};
|
1999-01-18 19:27:43 +00:00
|
|
|
|
1999-01-17 23:54:22 +00:00
|
|
|
needs to be converted to:
|
1999-01-18 19:27:43 +00:00
|
|
|
|
1999-01-17 23:54:22 +00:00
|
|
|
static const GtkTypeInfo bin_info =
|
|
|
|
{
|
|
|
|
"GtkBin",
|
|
|
|
sizeof (GtkBin),
|
|
|
|
sizeof (GtkBinClass),
|
|
|
|
(GtkClassInitFunc) gtk_bin_class_init,
|
|
|
|
(GtkObjectInitFunc) gtk_bin_init,
|
|
|
|
/* reserved_1 */ NULL,
|
|
|
|
/* reserved_2 */ NULL,
|
|
|
|
(GtkClassInitFunc) NULL,
|
|
|
|
};
|
1999-01-18 19:27:43 +00:00
|
|
|
|
1999-01-17 23:54:22 +00:00
|
|
|
the GtkArgSetFunc and GtkArgGetFunc functions are not supported from the
|
|
|
|
type system anymore, and you should make sure that your code only fills
|
|
|
|
in these fields with NULL and doesn't use the deprecated function typedefs
|
|
|
|
(GtkArgSetFunc) and (GtkArgGetFunc) anymore.
|
|
|
|
|
1999-01-18 19:27:43 +00:00
|
|
|
* A number of Gtk functions were renamed. For compatibility, gtkcompat.h
|
|
|
|
#define's the old 1.0.x function names in terms of the new names.
|
|
|
|
To assure your Gtk program doesn't rely on outdated function
|
|
|
|
variants, compile your program with -DGTK_DISABLE_COMPAT_H to disable
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
the compatibility aliases.
|
|
|
|
|
1999-01-18 19:27:43 +00:00
|
|
|
Here is the list of the old names and replacements:
|
|
|
|
|
|
|
|
Old: Replacement:
|
|
|
|
|
|
|
|
gtk_accel_label_accelerator_width gtk_accel_label_get_accel_width
|
|
|
|
gtk_check_menu_item_set_state gtk_check_menu_item_set_active
|
|
|
|
gtk_container_border_width gtk_container_set_border_width
|
|
|
|
gtk_label_set gtk_label_set_text
|
|
|
|
gtk_notebook_current_page gtk_notebook_get_current_page
|
|
|
|
gtk_packer_configure gtk_packer_set_child_packing
|
|
|
|
gtk_paned_gutter_size gtk_paned_set_gutter_size
|
|
|
|
gtk_paned_handle_size gtk_paned_set_handle_size
|
|
|
|
gtk_scale_value_width gtk_scale_get_value_width
|
|
|
|
gtk_style_apply_default_pixmap gtk_style_apply_default_background (1)
|
|
|
|
gtk_toggle_button_set_state gtk_toggle_button_set_active
|
|
|
|
gtk_window_position gtk_window_set_position
|
|
|
|
|
|
|
|
(1) gtk_style_apply_default_background() has an additional
|
|
|
|
argument, gboolean set_bg. This parameter should be FALSE if
|
|
|
|
the background is being set for a NO_WINDOW widget, otherwise
|
|
|
|
true.
|
|
|
|
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
* During the development phase of the 1.1.x line of Gtk certain functions
|
1999-01-18 19:27:43 +00:00
|
|
|
were deprecated and later removed. Functions affected are:
|
|
|
|
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
Removed: Replacement:
|
|
|
|
gtk_clist_set_border gtk_clist_set_shadow_type
|
|
|
|
gtk_container_block_resize gtk_container_set_resize_mode
|
|
|
|
gtk_container_unblock_resize gtk_container_set_resize_mode
|
|
|
|
gtk_container_need_resize gtk_container_check_resize
|
|
|
|
gtk_ctree_show_stub gtk_ctree_set_show_stub
|
|
|
|
gtk_ctree_set_reorderable gtk_clist_set_reorderable
|
|
|
|
gtk_ctree_set_use_drag_icons gtk_clist_set_use_drag_icons
|
1999-01-18 19:27:43 +00:00
|
|
|
gtk_entry_adjust_scroll (1)
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
gtk_object_class_add_user_signal gtk_object_class_user_signal_new
|
1999-01-18 19:27:43 +00:00
|
|
|
gtk_preview_put_row gtk_preview_put
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
gtk_progress_bar_construct gtk_progress_set_adjustment
|
|
|
|
gtk_scrolled_window_construct gtk_scrolled_window_set_{h|v}adjustment
|
|
|
|
gtk_spin_button_construct gtk_spin_button_configure
|
|
|
|
gtk_widget_thaw_accelerators gtk_widget_unlock_accelerators
|
|
|
|
gtk_widget_freeze_accelerators gtk_widget_lock_accelerators
|
|
|
|
|
1999-01-18 19:27:43 +00:00
|
|
|
(1) This function is no longer needed as GtkEntry should automatically
|
|
|
|
keep the scroll adjusted properly.
|
|
|
|
|
|
|
|
* Additionally, all gtk_*_interp functions were removed.
|
|
|
|
gtk_*_full versions were provided as of GTK+-1.0 and should
|
|
|
|
be used instead.
|
removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.[hc]:
* gtk/gtkspinbutton.[hc]:
* gtk/gtkscrolledwindow.[hc]:
* gtk/gtkprogressbar.[hc]:
* gtk/gtkpreview.[hc]:
* gtk/gtkobject.[hc]:
* gtk/gtkentry.[hc]:
* gtk/gtkctree.[hc]:
* gtk/gtkcontainer.[hc]:
* gtk/gtkclist.[hc]:
removed deprecated functions: gtk_clist_set_border,
gtk_container_block_resize, gtk_container_unblock_resize,
gtk_container_need_resize, gtk_ctree_set_reorderable,
gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
gtk_preview_put_row, gtk_progress_bar_construct,
gtk_scrolled_window_construct, gtk_spin_button_construct,
gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.
* gtk/gtkcheckmenuitem.c: removed binary variant of
gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
though.
* docs/Changes-1.2.txt:
removed section about gtk_idle_remove_by_data vs.
gtk_timeout_remove_by_data, we actually don't even provide a
gtk_timeout_remove_by_data() function.
added a table with removed functions and their replacements.
* NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
|
|
|
|
|
|
|
* GtkButton has been changed to derive from GtkBin.
|
|
|
|
To access a button's child, use GTK_BIN (button)->child, instead
|
|
|
|
of the old GTK_BUTTON (button)->child.
|
Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
mechanism, that is used for the DND messages.
Removed all the old DND code.
* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
get the visual of a given colormap.
* gtk/gtkcolorsel.c: Conversion to new DND, drag
a color-swatch.
* gdk/gdk.h gdk/gdkdnd.c: The low-level
X oriented portions of drag and drop protocols.
Sending and receiving client messages, and navigating
window trees.
* gdk/gdkimage.c: added a gdk_flush() when destroying
SHM images to hopefully make it more likely that
X will gracefully handle the segment being destroyed.
* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
DND debugging flags.
* gtk/gtkeditable.[ch]: Updates for the selection handling
changes.
* gtk/gtkselection.[ch]: Added GtkTargetList, a
refcounted data structure for keeping track of lists
of GdkAtom + information. Removed selection_handler_add
in favor of a "drag_data_get" signal.
* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
dependent) parts of the DND protocols, display of drag icons,
drag-under highlighting, and the "default handlers".
* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
windows that are used for reliable pointer grabs and
selection handling in the DND code.
* gtk/testdnd.c: New test program for new DND. (Old
DND tests in testgtk still need to be converted.)
* gtk/testselection.c: Use the new selection API.
* docs/dnd_internals: Start at describing how
all the new code works inside.
* docs/Changes-1.2.txt: New file describing source-incompatible
changes in GTK+-1.2.
Sat Oct 17 22:50:34 1998 Owen Taylor <otaylor@gtk.org>
* gdk/gdkwindow.c (gdk_window_remove_filter): Free
the right list node.
* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
to the XID table so we can receive events on it.
Wed Oct 14 12:57:40 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
to get the timestamp from a generic event.
Fri Oct 9 13:16:04 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_add_events): Added function
that safely adds additional events to a widget's event
mask, even if the widget has previously been realized.
(We can do this, but not remove events from the event
mask).
Fri Oct 2 17:35:35 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
for AnyPropertyType.
Fri Oct 2 10:32:21 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
hashing.
Thu Sep 24 20:33:54 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
isn't a timestamp.
Thu Sep 17 14:23:03 1998 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_event_translate): Removed printing
of unknown window lookup warnings. (Made it
a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
|
|
|
|
|
|
|
* The selection API has been slightly modified:
|
|
|
|
|
|
|
|
gtk_selection_add_handler() and gtk_selection_add_handler_full()
|
|
|
|
have been removed. To supply the selection, one now register
|
|
|
|
the targets one is interested in with:
|
|
|
|
|
|
|
|
void gtk_selection_add_target (GtkWidget *widget,
|
|
|
|
GdkAtom selection,
|
|
|
|
GdkAtom target,
|
|
|
|
guint info);
|
|
|
|
|
|
|
|
or:
|
|
|
|
|
|
|
|
void gtk_selection_add_targets (GtkWidget *widget,
|
|
|
|
GdkAtom selection,
|
|
|
|
GtkTargetEntry *targets,
|
|
|
|
guint ntargets);
|
|
|
|
|
|
|
|
When a request for a selection is received, the new "selection_get"
|
|
|
|
signal will be called:
|
|
|
|
|
|
|
|
void "selection_get" (GtkWidget *widget,
|
|
|
|
GtkSelectionData *selection_data,
|
|
|
|
guint info,
|
|
|
|
guint time);
|
|
|
|
|
|
|
|
A "time" parameter has also been added to the "selection_received"
|
|
|
|
signal.
|
|
|
|
|
|
|
|
void "selection_received" (GtkWidget *widget,
|
|
|
|
GtkSelectionData *selection_data,
|
|
|
|
guint time);
|
|
|
|
|
|
|
|
* The old drag and drop API has been completely removed and replaced.
|
|
|
|
See the reference documentation for details on the new API.
|
|
|
|
|
1998-11-06 22:05:02 +00:00
|
|
|
* Support for Themes has been added. In general, this does
|
|
|
|
not affect application code, however, a few new rules should
|
|
|
|
be observed:
|
|
|
|
|
|
|
|
- To set a shape for a window, you must use
|
|
|
|
gtk_widget_shape_combine_mask() instead of
|
|
|
|
gdk_window_shape_combine_mask(), or the shape will be
|
|
|
|
reset when switching themes.
|
|
|
|
|
|
|
|
- It is no longer permissable to draw directly on an arbitrary
|
|
|
|
widget, or to set an arbitrary widget's background pixmap.
|
|
|
|
If you need to do that, use a GtkDrawingArea or (for a
|
|
|
|
toplevel) the new GtkDrawWindow widget.
|
|
|
|
|
1998-11-24 19:33:01 +00:00
|
|
|
* The ScrolledWindow widget no longer creates a Viewport
|
|
|
|
automatically. Instead, it has been generalized to accept
|
|
|
|
any "self-scrolling" widget.
|
|
|
|
|
|
|
|
The self-scrolling widgets in the Gtk+ core are GtkViewport,
|
|
|
|
GtkCList, GtkCTree, GtkText, and GtkLayout. All of these widgets can
|
|
|
|
be added to a scrolled window as normal children with
|
|
|
|
gtk_container_add() and scrollbars will be set up automatically.
|
|
|
|
|
|
|
|
To add scrollbars to a non self-scrolling widget, (such as a GtkList),
|
|
|
|
first add it to a viewport, then add the viewport to a scrolled window.
|
|
|
|
The scrolled window code provides a convenience function to do this:
|
|
|
|
|
|
|
|
void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrollwin,
|
|
|
|
GtkWidget *child);
|
|
|
|
|
|
|
|
This does exactly what it says - it creates a Viewport, adds the child
|
|
|
|
widget to it, then adds the Viewport to the scrolled window.
|
|
|
|
|
|
|
|
The scrollbars have been removed from the GtkCList and GtkCTree,
|
|
|
|
because they are now scrolled by simply adding them to a Scrolled
|
|
|
|
Window. The scrollbar policy is set on the scrolled window with
|
|
|
|
gtk_scrolled_window_set_policy() and not on the child widgets
|
|
|
|
(e.g. GtkCList's gtk_clist_set_policy() was removed).
|
1998-12-15 07:32:11 +00:00
|
|
|
|
|
|
|
* The "main loop" of GTK+ has been moved to GLib. This should not
|
|
|
|
affect existing programs, since compatibility functions have
|
|
|
|
been provided. However, you may want to consider migrating
|
|
|
|
your code to use the GLib main loop directly.
|
|
|
|
|
|
|
|
* the GTK_BASIC flag was removed, and with it the corresponding
|
1998-11-28 02:07:44 +00:00
|
|
|
macro and function GTK_WIDGET_BASIC() and gtk_widget_basic().
|
1998-11-24 07:23:06 +00:00
|
|
|
|
1998-12-15 07:32:11 +00:00
|
|
|
* All freeze/thaw methods are now recursive - that is, if you
|
|
|
|
freeze a widget n times, you must also thaw it n times.
|
|
|
|
|
|
|
|
Therefore, if you have code like:
|
|
|
|
|
1998-11-28 02:07:44 +00:00
|
|
|
gboolean frozen;
|
|
|
|
frozen = GTK_CLIST_FROZEN (clist);
|
|
|
|
gtk_clist_freeze (clist);
|
|
|
|
[...]
|
|
|
|
if (!frozen)
|
|
|
|
gtk_clist_thaw (clist);
|
1998-12-15 07:32:11 +00:00
|
|
|
|
|
|
|
it will not work anymore. It must be, simply:
|
|
|
|
|
1998-11-28 02:07:44 +00:00
|
|
|
gtk_clist_freeze (clist);
|
|
|
|
[...]
|
|
|
|
gtk_clist_thaw (clist);
|
1998-12-09 01:05:41 +00:00
|
|
|
|
1998-12-15 07:32:11 +00:00
|
|
|
* The thread safety in GTK+ 1.2 is slightly different than
|
|
|
|
that which appeared in early versions in the 1.1
|
|
|
|
development track. The main difference is that it relies on
|
|
|
|
the thread primitives in GLib, and on the thread-safe
|
|
|
|
GLib main loop.
|
|
|
|
|
|
|
|
This means:
|
|
|
|
|
1999-02-02 02:35:11 +00:00
|
|
|
- You must call g_thread_init() before executing any
|
|
|
|
other GTK+ or GDK functions in a threaded GTK+ program.
|
1998-12-15 07:32:11 +00:00
|
|
|
|
|
|
|
- Idles, timeouts, and input functions are executed outside
|
|
|
|
of the main GTK+ lock. So, if you need to call GTK+
|
|
|
|
inside of such a callback, you must surround the callback
|
1999-02-02 02:35:11 +00:00
|
|
|
with a gdk_threads_enter()/gdk_threads_leave() pair.
|
1998-12-15 07:32:11 +00:00
|
|
|
|
|
|
|
[ However, signals are still executed within the main
|
|
|
|
GTK+ lock ]
|
|
|
|
|
|
|
|
In particular, this means, if you are writing widgets
|
|
|
|
that might be used in threaded programs, you _must_
|
|
|
|
surround timeouts and idle functions in this matter.
|
|
|
|
|
1999-02-02 02:35:11 +00:00
|
|
|
As always, you must also surround any calls to GTK+
|
|
|
|
not made within a signal handler with a
|
|
|
|
gdk_threads_enter()/gdk_threads_leave() pair.
|
|
|
|
|
1998-12-15 07:32:11 +00:00
|
|
|
- There is no longer a special --with-threads configure
|
|
|
|
option for GTK+. To use threads in a GTK+ program, you
|
|
|
|
must:
|
|
|
|
|
|
|
|
a) If you want to use the native thread implementation,
|
|
|
|
make sure GLib found this in configuration, otherwise,
|
|
|
|
call you must provide a thread implementation to
|
|
|
|
g_thread_init().
|
|
|
|
|
|
|
|
b) Link with the libraries returned by:
|
|
|
|
|
|
|
|
gtk-config --libs gthread
|
1999-02-02 02:35:11 +00:00
|
|
|
|
|
|
|
and use the cflags from:
|
|
|
|
|
|
|
|
gtk-config --cflags gthread
|
|
|
|
|
|
|
|
You can get these CFLAGS and LIBS by passing gthread
|
|
|
|
as the fourth parameter to the AM_PATH_GTK automake
|
|
|
|
macro.
|
1999-02-10 02:35:09 +00:00
|
|
|
|
|
|
|
* Prior to GTK+-1.2, there were two conflicting interpretations
|
|
|
|
of widget->requistion. It was either taken to be
|
|
|
|
the size that the widget requested, or that size
|
|
|
|
modified by calls to gtk_widget_set_usize(). In GTK+-1.2,
|
|
|
|
it is always interpreted the first way.
|
|
|
|
|
|
|
|
Container widgets are affected in two ways by this:
|
|
|
|
|
|
|
|
1) Container widgets should not pass widget->requisition
|
|
|
|
as the second parameter to gtk_widget_size_request().
|
|
|
|
Instead they should call it like:
|
|
|
|
|
|
|
|
GtkRequisition child_requisition;
|
|
|
|
gtk_widget_size_request (widget, &child_requisition);
|
|
|
|
|
|
|
|
2) Container widgets should not access child->requisition
|
|
|
|
directly. Either they should use the values returned
|
|
|
|
by gtk_widget_size_request(), or they should call
|
|
|
|
the new function:
|
|
|
|
|
|
|
|
void gtk_widget_get_child_requisition (GtkWidget *widget,
|
|
|
|
GtkRequisition *requisition);
|
|
|
|
|
|
|
|
which returns the requisition of the given widget, modified
|
|
|
|
by calls to gtk_widget_set_usize().
|
|
|
|
|