]> Pileus Git - ~andy/gtk/blobdiff - docs/Changes-2.0.txt
cancel editing if tree_view->priv->edited_column != NULL (fixes #76066)
[~andy/gtk] / docs / Changes-2.0.txt
index 9b82b2d85a1cc18eef577505a7fe7e642046edea..8dfb563dacc4c6ec2ef948ab22c7a6508f675922 100644 (file)
@@ -1,3 +1,18 @@
+
+
+
+DON'T EDIT THIS FILE - changes are now maintained in the reference
+manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
+change to the manual, you should amend the docs for all
+newly-deprecated features to point to the replacement for that
+feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
+the header files. Be sure to add a note to the docs for EACH
+deprecated function; don't just do the changes-*.sgml change.
+
+
+
+
+
 Incompatible Changes from GTK+-1.2 to GTK+-2.0:
 
 * gtk_container_get_toplevels() was removed and replaced with
@@ -20,6 +35,9 @@ Incompatible Changes from GTK+-1.2 to GTK+-2.0:
   has been changed to include the entire area previously occupied by
   the gutter.
 
+* gtk_paned_set_handle_size() has been removed, in favor of a style property,
+  since this is an option that only makes sense for themes to adjust.
+
 * GDK no longer selects OwnerGrabButtonMask for button presses. This means  
   that the automatic grab that occurs when the user presses a button
   will have owner_events = FALSE, so all events are redirected to the
@@ -116,6 +134,12 @@ Incompatible Changes from GTK+-1.2 to GTK+-2.0:
     have to be moved into the ::destroy implementations. The reason for doing
     this is that all object reference cycles should be broken at destruction 
     time.
+
+    Because the ::destroy signal can be emitted multiple times, it no longer
+    makes sense to check if a widget has been destroyed using the 
+    GTK_OBJECT_DESTROYED() macro, and this macro has been removed. If 
+    catching destruction is still needed, it can be done with a signal
+    connection to ::destroy.
     
 * Signal system changes:
   The Gtk 2.0 signal merly proxies the GSignal system now.
@@ -191,7 +215,7 @@ Incompatible Changes from GTK+-1.2 to GTK+-2.0:
 
 * A number of functions in GDK have been renamed for consistency and
   clarity. #defines to provide backwards compatibility have been
-  included, but can be disabled by defineing GDK_DISABLE_COMPAT_H.
+  included, but can be disabled by defineing GDK_DISABLE_DEPRECATED.
 
   #define gdk_draw_pixmap                gdk_draw_drawable
   #define gdk_draw_bitmap                gdk_draw_drawable
@@ -442,3 +466,122 @@ Incompatible Changes from GTK+-1.2 to GTK+-2.0:
 
    - For NO_WINDOW widgets, if you create windows in your realize()
      method, you must map then in map() and unmap them in unmap().
+
+* gtk_widget_set_default_style (), gtk_widget_push_style (),
+  and gtk_widget_pop_style () have been removed, since they
+  did not work properly with themes and there were better
+  alternatives for modifying the appearance of widgets.
+
+  You should generally use gtk_widget_modify_fg/bg/base/text/font
+  instead.
+  
+* gtk_image_new() now takes no arguments and creates an empty GtkImage
+  widget. To create a GtkImage widget from a GdkImage (the least
+  common usage of GdkImage), use gtk_image_new_from_image.
+
+* GTK_SELECTION_EXTENDED is now deprecated, and neither the
+  GtkList/GtkTree nor the GtkCList/GtkCTree support
+  GTK_SELECTION_EXTENDED anymore.  However, the old extended behavior
+  replaces MULTIPLE behavior.
+
+* The following variables are no longer exported from GDK. (Other variables
+  are also no longer exported; the following are the ones found used
+  externally in a large sample of GTK+ code.)
+
+   Variable                               Replacement
+   ========                               ===========
+   gdk_null_window_warnings               None - did nothing in GTK+-1.2.
+   gdk_leader_window                      None - private variable
+   gdk_screen                             gdk_x11_get_default_screen ()
+   gdk_root_window                        gdk_x11_get_default_root_xwindow ()
+   gdk_root_parent                        gdk_get_default_root_window ()
+   gdk_error_code/gdk_error_warnings      gdk_error_trap_push()/pop()
+   gdk_display_name                       gdk_get_display ()
+   gdk_wm_delete_window                   gdk_atom_intern ("WM_DELETE_WINDOW", FALSE)
+   gdk_wm_take_focus                      gdk_atom_intern ("WM_TAKE_FOCUS", FALSE)
+   gdk_wm_protocols                       gdk_atom_intern ("WM_PROTOCOLS", FALSE)
+   
+* The handling of Colormaps and widgets has been changed:
+
+    - The default colormap for widgets is now the GdkRGB colormap, not
+      the system default colormap. If you try to use resources created for  
+      a widget (e.g., widget->style) with a window using the system
+      colormap, errors will result on some machines.
+
+    - gtk_widget_push/pop_colormap() only cause the colormap to be
+      explicitely set on toplevel widgets not on all widgets. The
+      colormap for other widgets (when not set using 
+      gtk_widget_set_colormap()), is determined by finding the nearest
+      ancestor with a colormap set on it explicitely, or if that
+      fails, the default colormap.
+
+* The default selected day for GtkCalendar is now the current day in the
+  month, not the first day in the month. The current month and year
+  were already used.
+
+* GDK is no longer put into threaded mode automatically when 
+  g_thread_init() has been called. In order to use the 
+  global GDK thread mutex with gdk_threads_enter() and 
+  gdk_threads_leave(), you must call gdk_threads_init() explicitely.
+
+  If you aren't using GDK and GTK+ functions from multiple threads,
+  there is no reason to call gdk_threads_init().
+
+* The GtkPreviewInfo struct has had its visual and colormap fields
+  removed.  Also, gtk_preview_get_cmap() and gtk_preview_get_visual()
+  are deprecated, as GdkRgb works on any colormap and visual.  You no
+  longer need to gtk_widget_push_cmap (gtk_preview_get_cmap ()) in
+  your code.
+
+* The GtkBox, GtkTable, and GtkAlignment widgets now call
+  gtk_widget_set_redraw_on_allocate (widget, FALSE); on themselves.
+  If you want to actually draw contents in a widget derived from
+  one of these widgets, you'll probably want to change this
+  in your init() function.
+
+* A number of widgets are now NO_WINDOW widgets (most importantly
+  GtkButton, but also GtkRange and GtkNotebook)
+
+  This has a couple of effects:
+
+   - If you are deriving from one of these widgets, you need to
+     adapt your code appropriately -- for instance, drawing coordinates
+     start from widget->allocation.x, widget->allocation.y.
+
+   - If you are embedding one of these widgets in a custom widget,
+     you must make sure you call gtk_container_propagate_expose()
+     correctly, as you must for any NO_WINDOW widgets.
+
+  GtkFixed is a little special; it is now created by default as
+  a NO_WINDOW widget, but if you do 
+
+    gtk_fixed_set_has_window (fixed, TRUE);
+
+  after creating a fixed widget, it will create a window and
+  handle it properly.
+
+* GtkLayout no longer has the xoffset, yoffset fields, which used
+  to store the difference between world and window coordinates for
+  layout->bin_window. These coordinate systems are now always
+  the same.
+
+* gtk_paint_focus(), gtk_draw_focus() and GtkStyle::draw_focus()
+  have been changed a bit:
+
+   - A GtkStateType argument has been added to gtk_paint_focus()
+   - The default implementation of GtkStyle::draw_focus virtual
+     function now draws a focus rectangle whose width is 
+     determinted by the GtkWidget::focus-width style property.
+   - The rectangle passed in is the bounding box, instead of
+     the rectangle used in the gdk_draw_rectangle() call, so it is
+     no longer necessary to subtract 1 from the width and height.
+
+
+
+DON'T EDIT THIS FILE - changes are now maintained in the reference
+manual, see docs/reference/gtk/changes-*.sgml. Also, when adding a
+change to the manual, you should amend the docs for all
+newly-deprecated features to point to the replacement for that
+feature, and be sure the GTK_DISABLE_DEPRECATED guards are in place in
+the header files. Be sure to add a note to the docs for EACH
+deprecated function; don't just do the changes-*.sgml change.